|
OK, well cpu usage is an easy thing, but still, what do you want to actually monitor about "processes"?? how many there are? top 5 offenders? just a dump of them all?
IF you follow the nagios route, then you need to understand the clunky model that it uses. Nagios in itself is unaware of going to other systems to do tests. The nagios server just runs external scripts with parameters (like IP addresses) which, unbeknownst to Nagios, in turn go off to the client to do a check. This *CAN* be useful, e.g. maybe you actually want to use this ip address or hostname as a query to lookup a value in another central server, as opposed to directly checking the machine itself (I have done this for checking a central Puppet MySQL database, checking that each client has connected to that server in a given time period... it's handy but I class it as being there by a lack of design, not from good design)
There is a system called NRPE which is a network service that the nagios script, check_nrpe, can connect to, to make each client run another nagios plugin and return the results. This is probably THE easiest way to do client OS monitoring with Nagios, but I would *strongly* recommend you don't as NRPE is rubbish, and very insecure. Instead there are Nagios plugins like check_by_ssh which perform the same thing but over your (presumably) already existing ssh service on each client, meaning there is no extra network service to enable, and has vastly better security.
outside of Nagios, you can also look at generic SNMP polling, using a range of other servers, like hyperic, OpenNMS or Groundwork, running just the normal net-snmpd on the clients and directly pulling back SNMP values to the server (so see here how the monitoring server actually KNOWS about the other systems)
Last edited by acid_kewpie; 01-30-2012 at 03:18 AM.
|