nagios 监控xenserver 温度
catcheck_xen_temp.sh#!/bin/bashipmitoolsensor|gawk-F'|''BEGIN{EXIT=0;MSG[0]="OK:";MSG[1]="WARNING:";MSG[2]="CRITICAL:";perf="";}{gsub(/\t/,"");gsub(/+/,"");gsub(/+\|/,"|");gsub(/\|+/,"|")}/^[^|]+\|0x0\|/{next;};/^[^|]+\|na\|/{next;};/degreesC/{THING=$1;TEMP=$2;OK=$4;WARN=$8;CRIT=$9;if(OK~/ok/){MSG[0]=sprintf("%s%sis%dC,",MSG[0],THING,TEMP);perf=sprintf("%s%s=%d;%d;%d;0;100;",perf,THING,TEMP,WARN,CRIT);next;}if(CRIT!~/na/&&TEMP>=CRIT){MSG[2]=sprintf("%s%sis%dC(max%d)",MSG[2],THING,TEMP,CRIT);perf=sprintf("%s%s=%d;%d;%d;0;100;",perf,THING,TEMP,WARN,CRIT);EXIT=2;next;}if(WARN!~/na/&&TEMP>=WARN){MSG[1]=sprintf("%s%sis%dC(max%dC,criticalat%dC)",MSG[1],THING,TEMP,CRIT);perf=sprintf("%s%s=%d;%d;%d;0;100;",perf,THING,TEMP,WARN,CRIT);if(EXIT=0)EXIT=1;next;}MSG[2]=sprintf("%s%sis%d(%s)",MSG[2],THING,TEMP,OK);perf=sprintf("%s%s=%d;%d;%d;0;100;",perf,THING,TEMP,WARN,CRIT);if(EXIT=0)EXIT=1;}END{gsub(/,*$/,"",MSG[EXIT]);gsub(/Temp/,"",MSG[EXIT]);gsub(/Temp/,"",perf);printMSG[EXIT],"|",perf;exitEXIT;}'
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。