用php自定义 nagios监控插件

来源:互联网 发布:天地传说之宝莲灯源码 编辑:程序博客网 时间:2024/06/11 09:43

 用来监控是哪个进程触发了指定预警的cpu占用率

#!/usr/local/php5/bin/php<?php//exec('ps -eo pcpu,pid,user,command | sort -k 1 -r | head -2',$info);exec('top -n 1 -b | head -8',$tinfo);$match = preg_split('/[\s\t]+/',trim($tinfo[7]));$pid = $match[0];$user = $match[1];$cpu = $match[8];$mem = $match[9];exec("ps -p {$pid} -o command",$info);$cmd = $info[1];$w = $argv[1];$c = $argv[2];if($cpu >= $c){        $stat = "CRITICAL";        $code = 2;}elseif($cpu >= $w){        $stat = "WARNING";        $code = 1;}else{        $stat = "OK";        $code = 0;}echo "WHOISTOP {$stat}: CPU({$cpu}%),MEM({$mem}),PID({$pid}),USER({$user}),CMD({$cmd})";exit($code);


使用:/path/to/check_whoistop 30 50
 

注意exit($code), 是nagios要求的脚本返回码,分别为0:ok, 1:warning,2,CRITICAL,3,unkown
原创粉丝点击