Nagios

Nagios is THE monitoring system today. It is quick, featureful and easily extensible. With the addition of PNP, observed metrics can be stored in RRAs and graphed with RRDtool. If you're looking for quick comprehensive graphing of standard system metrics like CPU, Memory and Network, check out Ganglia.

Plugins

Nagios is most easily extensible through the scripting of additional plugins. There are guidelines for developers doing so to follow here but I've never once seen them followed in the wild. Here are several BASH plugins that are coded to these guidelines including two basic examples so you can more easily code your own to spec. I hope to put up at least skeleton code to spec for some of the other languages I know such as Perl, Python, PHP, Java and C. Please let me know if you already have such code.

FileVersionDescriptionLanguageLicense
check_timestamp_digit0.1Example of how to code a Nagios plugin to spec in BASH.BASHGPL v2
check_skeleton0.1Skeleton code to implement a plugin in BASHBASHGPL v2
check_cpu0.4Check any or all of the CPU percentagesBASHGPL v2
check_deviceio0.2Check read/write/total device I/OBASHGPL v2
check_mail_relays0.1Check mail relay usageBASHGPL v2
check_mem0.2Check memory usage/freeBASHGPL v2
check_mem_snmp0.1Check memory usage/free via SNMPBASHGPL v2
check_mysql_slave0.1Check MySQL slave is up-to-dateBASHGPL v2
check_mysql_uptime0.1Check if MySQL has restarted since last checkBASHGPL v2
check_route0.1Check that a route is in the routing tableBASHGPL v2