Zabbix is a very powerfull monitoring tool that is highly flexible and supports many hardware units.
Listed below is the solutions i made in my use with the product.
How to get requests/sec og busy workers from server-status in Apache 2.0
First change to apache.conf to allow localhost to get the server-status
# Allow server status reports, with the URL of http://servername/server-status # Change the ".your_domain.com" to match your domain to enable. # SetHandler server-status Order deny,allow Deny from all Allow from localhost ExtendedStatus On
Write a PHP based CLI commaind script like this:
#!/usr/bin/php -q <?php $thestats = file("http://localhost/server-status?auto"); if ($argv[1] == "1") { print substr(strstr($thestats[4],":"),2); } else { print substr(strstr($thestats[7],":"),2); } ?>
Finally add this to the zabbix_agentd.conf
# Apache avg. request/sec UserParameter=apache[rps],getApacheStats.sh.php 1 UserParameter=apache[runningproc],getApacheStats.sh.php 2
How to get current number of sessions/users in proftpd into zabbix
First we need a PHP based script to obtain the info. Place it in a command path, like /usr/local/bin or /usr/bin
#!/usr/bin/php <?php $retval = ex ec('ps ax | grep proftpd | wc -l'); $newval = intval($retval)-2; echo $newval."\n"; ?>
Add this to zabbix conf:
UserParameter=proftpd[users],/usr/bin/countftp.php Or whatever you named the PHP script