


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】nagios磁盤(pán)利用率監(jiān)控
#!/usr/bin/envperl####################################Version1.1#Auth
Badboy#FileNameCheck_disk_utilization.pl#LastModify20120722###################################usestrict;useNet::SNMP;useNagios::Plugin;(my$snmpVersion=Net::SNMP->VERSION)=~s/\D//g;my$TIMEOUT=15;my$np=Nagios::Plugin->new(
shortname=>'CheckDiskUtilization',
usage=>'Usage:%s-H<host>-C<community>-c<threshold>-w<threshold>',
version=>'Version1.1');subisnotnum{#Returntrueifargisnotanumber
my$num=shift;
if($num=~/^-?(\d+\.?\d*)|(^\.\d+)$/){return0;}
return1;}$SIG{'ALRM'}=sub{
$np->nagios_exit(UNKNOWN,"ERROR:Alarmsignal(Nagiostime-out)");};subverbose{
my$t=shift;
print$t,"\n"if$np->opts->verbose>0;}subcheck_options{
$np->add_arg(spec=>'hostname|H=s',
help=>'HostnameorIPaddresstopoll',required=>1,label=>['HOSTNAME']);
$np->add_arg(spec=>'community|C=s',
help=>'SNMPcommunitytousewhenconnecting',required=>1,default=>'public',label
=>['COMMUNITY']);
$np->add_arg(spec=>'critical|c=i',
help=>'Returncriticalstatusiflargerthancriticalthreshold',label=>['thresholdnum']);
$np->add_arg(spec=>'warning|w=i',
help=>'Returnwarningstatusiflargerthanwarningthreshold',label=>['thresholdnum']);
$np->add_arg(spec=>'port|p=i',
help=>'ChangestheSNMPport,defaultsto161',default=>161,label=>['PORT']);
$np->add_arg(spec=>'snmpv1|1',
help=>'UseSNMPv1insteadofthedefaultversion2c');
$np->add_arg(spec=>'perfdata',
help=>'Writeoutperformancedata(numberofdiskusedsize)');
$np->getopts();
if(defined($np->opts->timeout)&&(isnotnum($np->opts->timeout)||($np->opts->timeout<2)||($np->opts->timeout>60))){
$np->nagios_exit(UNKNOWN,'Timeoutmustbebetween1and60');
}
if(!defined($np->opts->critical)||!defined($np->opts->warning)||isnotnum($np->opts->critical)||isnotnum($np->opts->warning)){
$np->nagios_exit(UNKNOWN,'Thevaluesforcriticalandwarningthresholdmustbeintegers');
}}check_options();my$disk_warning=$np->opts->warning;my$disk_critical=$np->opts->critical;if(defined($TIMEOUT)){
verbose("Alarmat$TIMEOUT");
alarm($TIMEOUT);}else{
verbose("Notimeoutdefined:".$np->opts->timeout."+10");
alarm($np->opts->timeout+10);}#snmpdatamy$disk_index_table=".1.3.6.1.2.1.25.2.3.1.1";my$disk_index_result=get_snmp_data($disk_index_table);my$disk_desrc_table=".1.3.6.1.2.1.25.2.3.1.3";my$disk_desrc_result=get_snmp_data($disk_desrc_table);my$disk_units_table=".1.3.6.1.2.1.25.2.3.1.4";my$disk_units_result=get_snmp_data($disk_units_table);my$disk_size_table=".1.3.6.1.2.1.25.2.3.1.5";my$disk_size_result=get_snmp_data($disk_size_table);my$disk_used_table=".1.3.6.1.2.1.25.2.3.1.6";my$disk_used_result=get_snmp_data($disk_used_table);my$status=undef;my$critical_count=0;foreachmy$oid(keys(%$disk_index_result)){
my$disk_desrc=${$disk_desrc_result}{$disk_desrc_table.".".${$disk_index_result}{$oid}};
my$disk_total_size=${$disk_size_result}{$disk_size_table.".".${$disk_index_result}{$oid}};
my$disk_used_size=${$disk_used_result}{$disk_used_table.".".${$disk_index_result}{$oid}};
if($disk_desrc!~/VirtualMemory|R:/
and$disk_desrc!~/PhysicalMemory|R:/and$disk_total_size!=0){
my$disk_used_utilization=$disk_used_size/$disk_total_size*100;
if($disk_used_utilization>$disk_critical){
printf"%.2sCritical%2.2f%%;",$disk_desrc,$disk_used_utilization;
$status=2;
++$critical_count;
next;
}
elsif($disk_used_utilization>$disk_warning){
printf"%.2sWarning%2.2f%%;",$disk_desrc,$disk_used_utilization;
$status=1;
next;
}
elsif($status!=1and$status!=2
){
printf"%.2sOK;",$disk_desrc;
$status=0;
}
}
}if($critical_count!=0){
$status=2;
verbose("\nPluginExitCode=$status");}verbose("PluginExitCode=$status");exit$status;subget_snmp_data(){my$oid=shift;my($session,$error)=(undef,undef);if(defined($np->opts->snmpv1)){
#SNMPv1login
($session,$error)=Net::SNMP->session(
-hostname
=>$np->opts->hostname,
-community=>$np->opts->community,
-port
=>$np->opts->port,
-timeout
=>$np->opts->timeout
);}else{
#SNMPv2login
($session,$error)=Net::SNMP->session(
-hostname
=>$np->opts->hostname,
-version
=>2,
-community=>$np->opts->community,
-port
=>$np->opts->port,
-timeout
=>$np->opts->timeout
);}if(!defined($session)){
$np->nagios_exit(UNKNOWN,'SNMPError:'.$error);}#getsnmpdata
my$result=undef;
$result=($snmpVersion<4)?$session->get_table($oid):$sess
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云計(jì)算HCIP模考試題與參考答案
- 個(gè)人借款申請(qǐng)書(shū)范文
- 業(yè)務(wù)員年度工作計(jì)劃
- 企業(yè)弱電維護(hù)合同范本
- 三八婦女節(jié)護(hù)士愛(ài)崗敬業(yè)的演講稿
- 南通批發(fā)市場(chǎng)用電合同范本
- 醫(yī)院房子出售合同范本
- 臺(tái)球俱樂(lè)部采購(gòu)合同范本
- 南京租房陰陽(yáng)合同范例
- 區(qū)域 加盟 合同范本
- 110kV升壓站構(gòu)支架組立施工方案
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 生物醫(yī)學(xué)工程倫理 課件全套 第1-10章 生物醫(yī)學(xué)工程與倫理-醫(yī)學(xué)技術(shù)選擇與應(yīng)用的倫理問(wèn)題
- 新戰(zhàn)略營(yíng)銷(xiāo)課件
- 人文地理學(xué)考試名詞解釋全套
- 統(tǒng)編版五年級(jí)下冊(cè)第五單元 習(xí)作:形形色色的人 課件 (共16張PPT)
- 大數(shù)據(jù)介紹課件
- 養(yǎng)老專(zhuān)題:養(yǎng)老理念
- 幼兒園多媒體PPT課件制作PPT完整全套教學(xué)課件
- 《蘇東坡傳》閱讀匯報(bào)
- 2023離婚協(xié)議模板下載
評(píng)論
0/150
提交評(píng)論