Custom drawing templates:
[root@RHEL5 ~]# cd /usr/local/pnp4nagios/share/templates/
[root@RHEL5 templates]# vi check_cpu.php
'#FF0000', 'green' => '#00FF00', 'blue' => '#0000FF', 'yellow' => '#FFFF00', 'black' => '#000000', 'deepred' => '#330000', ); #------------------Image Title------------------ $opt[1] = "--title \"CPU_Load For $hostname / $servicedesc\" "; #-------------1 Minutes Average Load------------ $def[1] = "DEF:var1=$RRDFILE[1]:$DS[1]:AVERAGE " ; $def[1] .= "HRULE:$WARN[1]#00FF00 "; $def[1] .= "HRULE:$CRIT[1]#FF0000 "; $def[1] .= "LINE1:var1#0000FF:\"1-Mins \" " ; $def[1] .= "GPRINT:var1:MIN:\"%3.4lg %s$UNIT[1] Min \\t\" "; $def[1] .= "GPRINT:var1:MAX:\"%3.4lg %s$UNIT[1] Max \\t\" "; $def[1] .= "GPRINT:var1:AVERAGE:\"%3.4lg %s$UNIT[1] Average \\n\" "; #-------------15 Minutes Average Load----------- $def[1] .= "DEF:var2=$RRDFILE[2]:$DS[2]:AVERAGE " ; $def[1] .= "LINE2:var2$colors[black]:\"15-Mins \" " ; $def[1] .= "GPRINT:var2:MIN:\"%3.4lg Min \\t\" "; $def[1] .= "GPRINT:var2:MAX:\"%3.4lg Max \\t\" "; $def[1] .= "GPRINT:var2:AVERAGE:\"%3.4lg Average \\n\" "; ?>
[root@RHEL5 templates]# chown nagios:nagios *
Monitoring plugin:
[root@RHEL5 ~]# tail -n 2 /etc/nagios/resource.cfg
#Add by Kingcraft $USER5$=/usr/local/nagios/customexec
[root@RHEL5 ~]# vi /usr/local/nagios/customexec/check_cpu.sh
#!/bin/sh #Author:zhai_kang,20131026 WARN=$2 CRIT=$4 #1 minutes load,15 minutes load Load_One=`uptime | awk -F "[:]" '{print $NF}' | awk -F "[,]" '{print $1}'` Load_Fifteen=`uptime | awk -F "[:]" '{print $NF}' | awk -F "[,]" '{print $3}'` #to obtain Max value Max=$Load_One SIGN=`echo $Max $Load_Fifteen | awk '{if($1<$2)print 1;else print 0}'` if [[ $SIGN -ge 1 ]] then Max=$Load_Fifteen fi #get return data SIGN_C=`echo $CRIT $Max | awk '{if($1<$2)print 1;else print 0}'` SIGN_W=`echo $WARN $Max | awk '{if($1<$2)print 1;else print 0}'` SIGN_O=`echo 0 $Max | awk '{if($1<$2)print 1;else print 0}'` if [[ $SIGN_C -eq 1 ]] then line=`echo "Critical : 1-Mins = $Load_One; 15-Mins = $Load_Fifteen"` RC=2 elif [[ $SIGN_W -eq 1 ]] then line=`echo "Warning : 1-Mins = $Load_One; 15-Mins = $Load_Fifteen"` RC=1 elif [[ $SIGN_O -eq 1 ]] then line=`echo "OK : 1-Mins = $Load_One; 15-Mins = $Load_Fifteen"` RC=0 else line=`echo "Unknown"` RC=3 fi echo $line \| CPU_Load="$Load_One;$WARN;$CRIT" CPU_Load="$Load_Fifteen" exit $RC
Define the monitoring command:
[root@RHEL5 ~]# vi /etc/nagios/objects/commands.cfg
define command{ command_name check_cpu command_line $USER5$/check_cpu.sh -w $ARG1$ -c $ARG2$ }
Definition monitor file:
[root@RHEL5 ~]# vi /etc/nagios/Linuxhosts/localhost.cfg
define host{ use linux-server,host-pnp host_name Monitor alias Monitor address 172.17.10.4 } define service{ use local-service,srv-pnp host_name Monitor service_description check_cpu check_command check_cpu!2!3 }
Restart:
[root@RHEL5 ~]# service nagios restart
Verification:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:ControlDrawingEffect(二)-创新互联
标题网址:http://lswzjz.com/article/dhcohg.html