check_process_stats - Nagios plugin for monitoring CPU/memory use by processes
Allows you to monitor which processes (grouped by name) use the most CPU time / memory on your box, with configurable thresholds, perfdata reporting etc.
- Returns perfdata
-
Returns perfdata stats of memory and CPU usage and process count grouped by process name, so you can feed that to your metrics graphing system via Graphios etc and get pretty graphs so you can see at a glance what is using up lots of memory or CPU time, as well as monitoring in case any particular type of process gets greedier than it should.
- Monitor only processes with a specific name
-
By default, looks at all processes, groups them by their process name, returns that grouped perfdata for all of them, and checks each group against the thresholds (see below).
If you only want to check processes with a specific name, then use the
-p/--process_nameoption to only look at processes with the name provided, e.g.:[davidp@supernova:~]$ perl check_process_stats -p perl PROCESSES OK - 3 procs matching perl | perl.procs=3;; perl.total_rss=97632kB;; perl.total_cpu=20.5;; - Check CPU usage / memory usage against thresholds
-
If you want to check the CPU usage / memory usage/ number of processes against thresholds, then you can, using the
--max_ram|m,--max_cpu|cand--max_procs|poptions, and the--threshold|toption to provide a percentage leeway above the threshold where the return will be WARNING, after which it will be CRITICAL. - Returns perfdata
-
Using nagiosgraph or Graphios to get metrics graphing from Nagios? This plugin will return perfdata, either for all process name groups if no specific name was given to filter by, or just the processes whose name matched that group otherwise. Perfdata values returned are:
- procname.procs
-
The number of processes with this name
- procname.total_cpu
-
The total CPU usage (%) of all processes with this name
- procname.total_rss
-
The total memory usage (RSS - Resident Set Size) of all processes with this name.
David Precious <[email protected]>
Feedback very much welcomed. Do feel free to drop me an email and let me know if this is useful to you!
Hey! The above document had some coding errors, which are explained below:
- Around line 69:
-
You forgot a '=back' before '=head1'
You forgot a '=back' before '=head1'