Server Monitoring tools Apache/MySQL - mysql

my boss has asked me to find a tool that will monitor our sever health. Some kind of desktop application preferably that we can keep an eye on and will monitor us when capacity goes over a certain level, or we approach max storage etc.
We need to monitor both MySQL and Apache. I'm guessing I might need two tools.
THanks in advance

Have you looked at munin? it's not desktop... but i don't know why do you want to have a desktop solution?

you can monitor apache with SNMP module like mod_apache_snmp and tools like OpenNMS, and Nagios. Nagios supports monitoring mysql also.

You might also like to look at Megamon (http://www.megamon.com). Megamon is a complete monitoring solution capable of graphing numerous system performance aspects as well as escalating alerts and much more.
Megamon is not a desktop solution but runs as a Virtual Appliance. However, since it has a web interface, it is just as easy to use as a desktop application.

Have a look at SeaLion. SeaLion is a cloud based Linux server monitoring tool. Getting started is as easy as executing a command. It installs an agent at /usr/local/sealion-agent and runs as an unprivileged user (sealion). This agent will collect data at regular intervals across servers and this data will be available on your workspace. The latest version is shipped with NGINX, Apache, MySQL, MongoDB and Redis monitoring capability. It is free for 1 server with a 12 hours data retention policy.

Related

How we can monitor a service status using Zabbix?

We are using Zabbix for server monitoring and its working fine for system resources like disk, CPU, memory etc.
Now we want to monitor some services also whether they are running fine or not like Apache, Nginx, Puma, Sidekiq etc.
Can you please help me how we can monitor such services using Zabbix?
Any guidance will be appreciated.
Thanks in advance.
You should refer to the documentation, it covers windows service monitoring and generic process monitoring with proc.* items.
Here you can find the supported item by platform matrix.
There's an external template for systemd lld, you can find it on Zabbix Share
for Nginx monitoring you can use that template
also take a look this repository, probably you can find there something useful
For sidekiq specifically, using
proc.num[,,,sidekiq]
seems to work. It uses the cmdline -argument.
Source:
https://zabbix-users.narkive.com/EKVrN9VY/proc-num-item-for-sidekiq-process

Architecture - Code locally (GIT), Database in the Cloud

We are a small team of developer who are looking for the ideal working environment.
Our current setup:
Everyone is developing locally on his machine. Code is managed/shared with git (bitbucket). We have a small mysql server in our local network where we all share the same database throughout the projects. If we want to share something with a client, we have a remote server where we move the code and database to.
Our preferred setup:
Code stays where it is. But we would like to move the SQL databases into the cloud to a remote server which we can access locally.
What we've tried:
Amazon RDS (free tier) which uses the smallest instance. This was horribly slow. Question here is, does it get really fast for a bigger instance? Page loads can't take 5 seconds for only the database requests. What instance do we theoretically need in order to have a really good performance?
Google SQL was honestly also too slow. I actually tested a bigger instance which was a lot better than Amazon but still not useful for our usecase.
Do you know any other services which provide such functionality? (MySQL remotely accessible)
Do you have any suggestions how we maybe can rethink our whole process of developing?

how to configure shared web hosting on ubuntu server?

i am planning to open a shared web hosting company. before opening i am configuring and checking that all things are up and running or not.
i had tried webmin, virtualmin and ajenti as web hosting manager on ubuntu server but i am not satisfied with them. is there any alternative to them which have secure administrator and client side control panel and easier to manager client account and hosts.
i am using apache2 as web server and mysql as database serve.
Thank You
Try ZPanel, it is cross-platform and has a great looking control panel. They also provide an installer which installs Apache, PHP, MySQL, and ZPanel, all pre-configured to run a shared hosting service.
Link
Getting shared hosting right isn't an easy thing to do especially if you want to allow your clients to use scripting languages like PHP. By default, PHP runs under the same userid regardless of which of customer the files belong to. So they will be able to see the files (including config files with database passwords) of the other customers.
There are ways around this problem, but most of them are either inconvenient for the customer or they bring other problems (like having to run the Apache as root).
Besides the shared hosting market is quite full with existing companies which have huge data centers and therefore can offer much more service at lower costs.
So my suggestion would be: Look at new services that you can provide. Docker Hosting or LXC Hosting isn't that common yet and you can better compete there.
If you really want to do simple shared hosting, and are in search of an admin tool: Try ISPCONFIG3

Server for mobile feed app (like Instagram, Twitter...)?

I've made a mobile native app with a feed system like Instagram/Twitter. In development mode I was just running a PHP/MySQL Apache local server, but now I need to publish the app and work with a real server. Which kind of server do I need? I just need to send http requests (JSON), loads of them!
Do I just need a hosting server like 1and1? (http://www.1and1.com/linux-web-hosting?__lf=Static)
But this one, it only has 1GB MySQL databases... not enough
Is there any kind of app/server whatever? Which kind of server does Instagram use?
These days lots of users are moving to the cloud.
Check out Amazon EC2: http://aws.amazon.com/ec2/
You can setup a micro instance server and it is very cheap to run tests on and get off the ground. Then if you like how it's running, you can simply upgrade to a more powerful server without having to re-install everything.
It also allows you to scale if your application gets really popular by just cloning the server.
Really worth checking out.

How to log Windows 7 network traffic & disk usage with MySQL?

I'm running Windows 7 Pro and have a few servers running. One of the servers is a SSH / file server that was made via Cygwin. I already have logging setup internally using syslog-d; however, it does not provide adequate logging. When a user is connected to the server I can see him/her in the Windows 7 Resource Monitor and it shows his/her IP address as well as how much data is being sent/received. When a user is downloading a file from the file server I can also see in the resource monitor what file he/she is downloading by looking at the disk usage.
Herein lies the first question: How can I log users' IP address, the time they connect & disconnect, what files they download, and what their download speed was, to a database in MySQL?
In addition to the aforementioned server, I also use IIS to host a website, and would like to have some sort of networking logging.
If I could find a tool that would work for both of these servers that would be the best solution.
I did some searching and found a program called Snort that looks like it would work for the network side of things, but not for the disk usage. I'm not familiar with this program at all, but at first glance maybe it could accomplish part of what I want to do? Maybe there is an easier/better way?
I'm pretty new to MySQL and know very little about network and disk logging so any and all help and guidance would be much appreciated. Thanks!
Advanced Web Statistics does a pretty good job of making sense of the IIS log files, and though it will give you more information than you need, it will certainly give you the information you want. It is open source, and my hosting provider uses it for the ASP.NET sites I have developed.
As far as logging the information to MySQL:
I am assuming that you already have, or know how to get the information and you simply want to log it to a MySQL DB.
1st, you will need to create the database.
2nd, you need the MySQL connector for your programming language of choice. The MySQL ADO.NET connector is excellent and easy to use. I am also assuming you know at least one programming language and how to connect it to a database. If not, I recommend C# with ADO.NET-- it is super easy and there are plenty of tutorials online.
3rd, write a program to send your information to the database, when you receive it.