I am looking for a monitoring and alerting tool for my application hosted in cloud. My application is hosted across multiple servers and I want to monitor all these servers. I am interested in monitoring the following:
1. Service monitoring:
2. resource monitoring Monitoring the following parameters in each server:
3. process monitoring
Monitor if a set of processes are running or not. If not running try restarting them. Ex: php-fpm, my application binaries, mysql, nginx, smtp etc.
4. Monitoring log files
Also I should be able to extend its usage by executing shell commands or writing my own shell scripts.
I should be able to set alert if any monitored item is found problematic. I should be able to get alert through
The Monitoring system should maintain history for the period I want. So that after receiving the alert I should be able to log-in to the system and view past data (say past 2 weeks) and investigate problems.
Most important:
The tool should have a very good way of managing its own configuration.
I am exploring Zabbix but don't see a satisfactory way of configuration management. Should I try Nagios? Any other tool?
Nagios is one of the standard ways of monitoring and can support all the use cases you brought up (plus, plugins have probably already been written for all of them).