Performance Monitoring tools
-
Hi FOGers,
I am searching performance monitoring tools for apache and MYSQL. I know that for small scenarios these tools, maybe, are not necessary but for big and very big scenarios these tools are necessary to audit the performance of the server, specically the apache server and MySQL server.
Now for tunning the MySQL server we use the mysqltuner tool <https://github.com/major/MySQLTuner-perl> and for monitoring the MySQL server MySQL workbench tool <https://www.mysql.com/products/workbench>
I am trying to search the same for apache, do you know any monitoring tool for apache?
-
@Fernando-Gietz We use icinga for all of our servers, but for monitoring a single server in detail like this i like monitorix. you just choose what services you want to monitor and you get feedback screens like this https://www.monitorix.org/imgs/mysql.png and https://www.monitorix.org/imgs/apache.png
-
@Fernando-Gietz We use nagios (Centreon to be specific) for monitoring our environment. It doesn’t do the charting like mysql workbench, but you really need to ask what is important to monitor otherwise you will just get a bunch of nuisance messages.
I could go more into the philosophical side of system monitoring, but I think right now you are looking for a tool. If you have a budget then solarwinds has very nice monitoring tools, but you will pay for them. If you are looking open source then nagios/icinga are the leaders.
-
We use Nagios to monitoring the server status but not use any plugin to see the activity of MySQL or Apache. Do you use any plugin to monitoring these services?
-
@Fernando-Gietz Have you heard of the mod_status module yet? Find some information here: https://www.datadoghq.com/blog/collect-apache-performance-metrics/ (don’t get too fance about the colorful picture -> this is not in current Apache 2.4 but will be in later releases)
-
@Sebastian-Roth Yes, I used it sometimes but only to see the activity in one moment, you can’t see a history of the activity. I would like to see the activity of apache in the last 4 hours, for example.
-
@Fernando-Gietz said in Performance Monitoring tools:
Yes, I used it sometimes but only to see the activity in one moment, you can’t see a history of the activity. I would like to see the activity of apache in the last 4 hours, for example.
That’s definitely a good point! Just found a tools that collects and aggregates the stats (https://docs.netdata.cloud/collectors/charts.d.plugin/apache/ and https://www.monitorix.org/). I am sure there are other tools doing just the same as well. For example if you use Cacti (https://forums.cacti.net/about25227.html).
-
Another tool to monitoting apache activity is apachetop. This tool gives you more info than modStatus
-
@Fernando-Gietz said in Performance Monitoring tools:
We use Nagios to monitoring the server status but not use any plugin to see the activity of MySQL or Apache. Do you use any plugin to monitoring these services?
We use plugins for both mysql and apache monitoring. But I feel I must make a distinction between performance monitoring and service level monitoring. We do service level monitoring, in that we only check if the service is functional (what ever that means like mysql connections, or basic http queries) as well as critical service parameters. We dont monitor things like inbound network traffic for sql server, because its really not important to know how well the sql server is functioning (I know you can make an argument either way). As you know nagios is just a go/no-go monitoring system. If you couple that with mrtg or such then you can get trending over time. That is why we really like Centreon because it has nagios coupled with a few other opensource softwares in one package. You can get that trending over time of the actual recorded value as well as the go/no-go status.
Performance monitoring is collecting a large amount of metrics to understand how the system as a whole is functioning, not just the critical bits. You could use performance monitoring environment for forensic investigations over time to understand how metrics have changed. You may be not so interested in the individual services here.
So when looking for a monitoring tool, you need to decide what is important about that device/service. Why does it exist? What function does it perform? What would happen if that service disappeared? That is how you should decide what to monitor regardless of the tool.
For example: Lets say you wanted to monitor your FOG server for both availability and performance metrics. What do we know about your FOG service? Well it runs on linux, it uses a tftp server, apache server, a ftp server, and nfs.
So for linux what is important?
- Is it reachable on the network?
- How utilized is the CPU?
- How much free memory is there?
- How much free disk space is there on the /images disk?
- Are the tftp, http, ftp services running in memory? (notice I didn’t mention if they were working only if they are running in memory)
For the tftp server what is important
- Is it listening on port 69?
- Does it respond to a file size request?
For the http server what is important?
- Is it listening on port 80
- Does it respond to http requests?
- If your site uses php does it respond properly to a php page call?
- What is the percentage of CPU does the apache service use?
And so on for monitoring. The point is to understand what you want to inspect before you pick the tool. Then find the tool that fits your budget and time you are willing to invest in setting it up.
At my brothers company they use a product called WhatsUp Gold and they loved it before they moved to PRTG which they now love more. But they had the budget but not much time to build it themselves. In my case I’ve been running nagios monitoring servers on and off since 2000. I don’t have a problem spending time to build new installs.