There are many open source and free or inexpensive system monitoring tools available for Linux (and other open unices, ie freeBSD, openBSD, etc). I have tried several of these and none were quite up to the goals I had in mind, none until Zabbix that is.
My goals for system monitoring are really very very simple. I want to monitor system parameters (processes, disk space, mem, etc), services (http. smtp, etc), particular applications (custom) and key files (checksums on key system files). I also want a system monitoring tool that is easily installed, easily setup, easily administered via a web interface, uses polling of agents for monitored machines and is capable of custom alerts and triggers for specified events. Thus far, again, Zabbix is up to, and in fact beyond, the task.
Some background; I have tried Big Brother, NetSaint, Sysorb and several others - all of these worked to a degree, but had issues that I could not live with. Big Brother uses CGI to straight up "sh" shell scripts. Besides loathing CGI in general, the scripts didn't work on a Redhat 6.2 box that I was using for initial testing, I had to modify several things just to get it going. Once up it worked well, but has a clunky web interface. Sysorb worked well also, and was installed via RPMs (a nice convenience), but again required CGI (and the day after I got it working, it became commercial). More along the same lines happened to the others, except for Netsaint. Netsaint is a great program (except that it is discontinued and will forthcoming be Nogia, which does not have a release yet). Nevertheless, Netsaint was a bit more setup and maintenance than I wanted, everything has to be manually configured, and again, its CGI.
So finally I stumbled across a few monitoring programs that used PHP by browsing at Freshmeat (and no PHP is not the same thing as CGI, as some will purport - but that's another discussion). Zabbix was one of these.
Zabbix is a comprehensive monitoring system. Zabbix has a server and agents which are C and are compiled onto your platform (Linux, BSD, AIX, etc.) Zabbix requires a webserver for the frontend and uses PHP. Zabbix also requires a database, such as MySQL or PostGRES, but setup is very easy and took me only a few minutes. These are the only real prerequisites, webserver with PHP (and PHP needs GD graphics support compiled in IF you want to use another Zabbix feature, graphs and diagrams) and database.
Quick Setup Instructions:
Thats it, it's very easy. Once all is running Zabbix also comes with a very comprehensive set of items already setup by default to monitor on each host. Zabbix can monitor normal stuff like system parameters (such as processor load, io, memory, ping, server uptime, etc), services (such as http, smtp, etc), and can ALSO monitor checksums on files, file sizes, inodes, and much more. One of the best things about Zabbix is that is also includes a very flexible and powerful syntax for specifying what should be monitored and alerts. With Zabbix you can setup a monitor on any process, file, port, etc that you want and set thresholds and simple logical statements about alerts. Zabbix keeps a history and stats on everything that is monitored and tracks trends. Of course it is all stored in the database (efficient, stable, extensible). And ,as alluded to earlier ,Zabbix also has the ability to display graphs and diagrams of hosts and networks along with pertinent stats.
Its really really a very nice program that is simple, elegant and to the point. It is quite flexible in that it can do many complicated things if so configured, but it also can be setup to simply monitor very straightforward services.
As far as security, it seems to be quite secure if run as a non privileged user, ports are not open to outside and the zabbix.conf file is required (and note that the web interface requires a login by default, but you should still place utilities like this in a protected directory so that configuration files, etc, cannot be accessed by unauthorized users).
Zabbix is good stuff, checkit via the links (and note the screenshots) and thanks to its main developer Alexi. http://zabbix.sourceforge.net/
Comments
Re: TotSP firsthand howto - Linux System Monitoring with Zabbix
This project is a disgrace, it's code is insecure, assumptious & it allocates 4096 bytes for just about every buffer it uses (including string format IP's & ports). If you like memory leaks, inefficiency, insecurity, then this is the app for you.
Re: TotSP firsthand howto - Linux System Monitoring with Zabbix
well, i am not a "C" guy so I dont know about the buffers, thats the only really specific thing you mention.
as for "assumptious" and "insecure". i would say that first as to "assumptious" that needs some elaboration, thats a blanket ambiguous statement and as such its worthless. second as for insecure, well you might need to elaborate on that as well, as i stated in my several years old article this should only be used INTERNALLY and only as a non root user. when used as such it has worked GREAT for me for YEARS.
even though i am not captain C expert, as you apparently are xtor, i have actually USED the software for YEARS and dont have memory issues or security issues.
i will grant you that you may indeed be correct about buffer issues simply because i dont know the difference. however if thats the case i would suggest you offer constructive criticism to open source projects or lend some of your self described considerable expertise to HELP OUT rather than simply being sarcastic.
Offtopic: Time/Date stamp
Wow, we are posting in future :)
Sorry, I just had to point it out ;)
Re: Offtopic: Time/Date stamp
no actually we are not? things look right on to me. here in the states its normally month-day-year, and our servers clocks are NTP synced for their time zone.
if something is out of whack with that then please do "point it out", but dont allude to pointing it out and not do so.
Re: TotSP firsthand howto - Linux System Monitoring with Zabbix
Thank you for a nice writeup about Zabbix. The successor to NetSaint is Nagios and is a very comprehensive network monitoring software.It would be great to see a review of Nagios here as well. The site address is: www.nagios.org
Asaf Maruf
PING
Karachi-Pakistan
RE: TotSP firsthand howto - Linux System Monitoring with Zabbix
Where is good ZABBIX or NAGIOS........?
RE: TotSP firsthand howto - Linux System Monitoring with Zabbix
ZABBIX=NAGIOS+NAGMIN
RE: TotSP firsthand howto - Linux System Monitoring with Zabbix
There is a standalone PHP CGI binary that one could use, but a more typical installation would make use of the Apache module to create a PHP-enabled web server. This eliminates the per-request startup costs associated with CGI.
I personally have no problem with CGI for low traffic applications.