#!/bin/bash # # Munin-plugin to monitor the CPU usage for one or more given process name(s) # # Use the environment variable "process" to define more than one process # name if required. Process names must be separated by comma, no whitespace. # # [cpuload_postfix] # env.process master,qmgmr,proxymap,pickup # # GNU GPL, Bjørn Ruberg # Find process names from env variables for the given plugin # If not, extract from filename. test -n "$process" || process=`echo $0 | cut -d _ -f 2` if [ "$1" = "config" ]; then echo "graph_title CPU load for $process" echo 'graph_category processes' echo "graph_info This graph shows the CPU load for $process, as reported by 'ps'" echo 'cpuload.label CPU load' echo "cpuload.info CPU load of $process" echo "cpuload.type GAUGE" exit 0 fi echo -n "cpuload.value " ps -C $process -o pcpu,comm --no-header | awk '{ sum += $1 } END { print sum }'