SNMP is not really simple, but quite a useful protocol, if you want to run standard monitoring tools like Nagios, Zero RRD or Cacti.
Even though Java offers JMX for runtime information like thread and memory consumption, you can also use SNMP to read at least a subset.
In my opinion usage of a standard monitoring tool has several advantages over JMX-based visualization in jconsole or Lambda Probe:
- Statistics fit into centralized reporting, e.g. for SLAs.
- The tools are independent of the Java VM. If the VM freezes, the history is still available
If you are tired of scanning all kind of CERT advisories in your mailbox and you are running a nice Debian-based landscape using mostly package-based software anyway, you should consider using check_apt contained in the Nagios plugins.
Using RAID to improve availability is fine, but don’t forget to monitor it. Otherwise you will never know, that half of your mirror is already gone for months.
And sometimes your favorite RAID controller will blink like the newest KIT gimmick inside your box, but only proper monitoring will really tell you about the problem.
Without special reconfiguration on the SNMP daemon, you are able to check processes on a Linux resp. services on a Windows host remotely:
- Linux Process:
check_snmp_process.pl -H $HOSTADDRESS$ -C public -n $ARG1$ $ARG2$
- Windows Service:
check_snmp_win.pl -H $HOSTADDRESS$ -C public -n $ARG1$ $ARG2$
The first argument in these checks provides the pattern for the process resp. service name. As usual another optional argument may append further options.
For the basic remote checks I compared several SNMP checks already available for
Nagios and finally moved on with the following: