通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx

上传人:b****6 文档编号:20426747 上传时间:2023-01-22 格式:DOCX 页数:22 大小:20.91KB
下载 相关 举报
通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx_第1页
第1页 / 共22页
通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx_第2页
第2页 / 共22页
通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx_第3页
第3页 / 共22页
通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx_第4页
第4页 / 共22页
通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx

《通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx》由会员分享,可在线阅读,更多相关《通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

通过Nagios监控锐捷设备的CPU使用情况的Perl脚本Word下载.docx

4);

#SNMPDatas

#Genericwithhost-ressource-mib

my$base_proc="

1.3.6.1.2.1.25.3.3.1"

#oidforallprocinfo

my$proc_id="

1.3.6.1.2.1.25.3.3.1.1"

#listofprocessors(productID)

my$proc_load="

1.3.6.1.2.1.25.3.3.1.2"

#%timetheprocwasnotidleoverlastminute

#Linuxload

my$linload_table="

1.3.6.1.4.1.2021.10.1"

#net-snmploadtable

my$linload_name="

1.3.6.1.4.1.2021.10.1.2"

#text'

Load-1'

'

Load-5'

'

Load-15'

my$linload_load="

1.3.6.1.4.1.2021.10.1.3"

#effectiveloadtable

#Ciscocpu/load

my$cisco_cpu_5m="

1.3.6.1.4.1.9.2.1.58.0"

#CiscoCPUload(5min%)

my$cisco_cpu_1m="

1.3.6.1.4.1.9.2.1.57.0"

#CiscoCPUload(1min%)

my$cisco_cpu_5s="

1.3.6.1.4.1.9.2.1.56.0"

#CiscoCPUload(5sec%)

#Ciscocatalystcpu/load

my$ciscocata_cpu_5m="

.1.3.6.1.4.1.9.9.109.1.1.1.1.5.9"

my$ciscocata_cpu_1m="

.1.3.6.1.4.1.9.9.109.1.1.1.1.3.9"

my$ciscocata_cpu_5s="

.1.3.6.1.4.1.9.9.109.1.1.1.1.4.9"

#Ruijiecpu/load

my$ruijie_cpu_5m="

.1.3.6.1.4.1.4881.1.1.10.2.36.1.1.3.0"

#CPUload(5min%)

my$ruijie_cpu_1m="

.1.3.6.1.4.1.4881.1.1.10.2.36.1.1.2.0"

#CPUload(1min%)

my$ruijie_cpu_5s="

.1.3.6.1.4.1.4881.1.1.10.2.36.1.1.1.0"

#CPUload(5sec%)

#Netscreencpu/load

my$nsc_cpu_5m="

1.3.6.1.4.1.3224.16.1.4.0"

#NSCPUload(5min%)

my$nsc_cpu_1m="

1.3.6.1.4.1.3224.16.1.2.0"

#NSCPUload(1min%)

my$nsc_cpu_5s="

1.3.6.1.4.1.3224.16.1.3.0"

#NSCPUload(5sec%)

#AS/400CPU

my$as400_cpu="

1.3.6.1.4.1.2.6.4.5.1.0"

#AS400CPUload(10000=100%);

#Net-SNMPCPU

my$ns_cpu_idle="

1.3.6.1.4.1.2021.11.11.0"

#Net-snmpcpuidle

my$ns_cpu_user="

1.3.6.1.4.1.2021.11.9.0"

#Net-snmpusercpuusage

my$ns_cpu_system="

1.3.6.1.4.1.2021.11.10.0"

#Net-snmpsystemcpuusage

#ProcurveCPU

my$procurve_cpu="

1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0"

#ProcurveCPUCounter

#NokiaCPU

my$nokia_cpu="

1.3.6.1.4.1.94.1.21.1.7.1.0"

#NokiaCPU%usage

#BluecoatAppliance

my$bluecoat_cpu="

1.3.6.1.4.1.3417.2.4.1.1.1.4.1"

#Bluecoat%cpuusage.

#FortigateCPU

my$fortigate_cpu="

.1.3.6.1.4.1.12356.1.8.0"

#FortigateCPU%usage

#LinkproofAppliance

my$linkproof_cpu="

1.3.6.1.4.1.89.35.1.55.0"

#CPURE(RoutingEngineTasks)

#1.3.6.1.4.1.89.35.1.53.0:

Ressourceutilisation(%)ConsidersnetworkutilizationandinternalCPUutilization

#1.3.6.1.4.1.89.35.1.54:

CPUonly(%)

#1.3.6.1.4.1.89.35.1.55:

networkonly(%)

#HP-UXcpuusage(thankstokrizbfortheOIDs).

my$hpux_load_1_min="

1.3.6.1.4.1.11.2.3.1.1.3.0"

my$hpux_load_5_min="

1.3.6.1.4.1.11.2.3.1.1.4.0"

my$hpux_load_15_min="

1.3.6.1.4.1.11.2.3.1.1.5.0"

#validvalues

my@valid_types=("

stand"

"

netsc"

netsl"

as400"

cisco"

cata"

nsc"

fg"

bc"

nokia"

hp"

lp"

hpux"

ruijie"

);

#CPUOIDarray

my%cpu_oid=("

$ns_cpu_idle,"

$as400_cpu,"

$bluecoat_cpu,"

$nokia_cpu,"

$procurve_cpu,"

$linkproof_cpu,"

$fortigate_cpu,"

$ruijie_cpu_5m);

#Globals

my$Version='

1.3.2.1'

my$o_host=undef;

#hostname

my$o_community=undef;

#community

my$o_port=161;

#port

my$o_help=undef;

#wan'

tsomehelp?

my$o_verb=undef;

#verbosemode

my$o_version=undef;

#printversion

#checktype:

stand|netsc|netsl|as400|cisco|cata|nsc|fg|bc|nokia|hp|lp|hpux|ruijie

my$o_check_type="

#Endcompatibility

my$o_warn=undef;

#warninglevel

my@o_warnL=undef;

#warninglevelsforLinuxLoadorCiscoCPU

my$o_crit=undef;

#criticallevel

my@o_critL=undef;

#criticallevelforLinuxLoadorCiscoCPU

my$o_timeout=undef;

#Timeout(Default5)

my$o_perf=undef;

#Outputperformancedata

my$o_version2=undef;

#usesnmpv2c

#SNMPv3specific

my$o_login=undef;

#Loginforsnmpv3

my$o_passwd=undef;

#Passforsnmpv3

my$v3protocols=undef;

#V3protocollist.

my$o_authproto='

md5'

#Authprotocol

my$o_privproto='

des'

#Privprotocol

my$o_privpass=undef;

#privpassword

#functions

subp_version{print"

check_snmp_loadversion:

$Version\n"

}

subprint_usage{

print"

Usage:

$0[-v]-H<

host>

-C<

snmp_community>

[-2]|(-llogin-xpasswd[-Xpass-L<

authp>

<

privp>

])[-p<

port>

]-w<

warnlevel>

-c<

critlevel>

-T=[stand|netsl|netsc|as400|cisco|cata|nsc|fg|bc|nokia|hp|lp|hpux|ruijie][-f][-t<

timeout>

][-V]\n"

}

subisnnum{#Returntrueifargisnotanumber

my$num=shift;

if($num=~/^(\d+\.?

\d*)|(^\.\d+)$/){return0;

return1;

subhelp{

\nSNMPLoad&

CPUMonitorforNagiosversion"

$Version,"

\n"

GPLlicence,(c)2004-2007PatrickProy\n\n"

陈涛添加的对锐捷的监控.\n\n"

print_usage();

print<

<

EOT;

-v,--verbose

printextradebugginginformation

-h,--help

printthishelpmessage

-H,--hostname=HOST

nameorIPaddressofhosttocheck

-C,--community=COMMUNITYNAME

communitynameforthehost'

sSNMPagent(impliesv1protocol)

-2,--v2c

Usesnmpv2c

-l,--login=LOGIN;

-x,--passwd=PASSWD

Loginandauthpasswordforsnmpv3authentication

Ifnoprivpasswordexists,impliesAuthNoPriv

-X,--privpass=PASSWD

Privpasswordforsnmpv3(AuthPrivprotocol)

-L,--protocols=<

authproto>

privproto>

<

:

Authenticationprotocol(md5|sha:

defaultmd5)

Privprotocole(des|aes:

defaultdes)

-P,--port=PORT

SNMPport(Default161)

-w,--warn=INTEGER|INT,INT,INT

1valuecheck:

warninglevelforcpuinpercent(ononeminute)

3valuecheck:

commaseparatedlevelforloadorcpufor1min,5min,15min

-c,--crit=INTEGER|INT,INT,INT

criticallevelforcpuinpercent(ononeminute)

-T,--type=stand|netsl|netsc|as400|cisco|cata|bc|nokia|hp|lp|ruijie

CPUcheck:

stand:

standardMIBII(workswithWindows),

canhandlemultipleCPU.

netsl:

linuxloadprovidedbyNetSNMP(1,5&

15minutesvalues)

netsc:

cpuusagegivenbynet-snmp(100-idle)

as400:

as400CPUusage

cisco:

CiscoCPUusage

cata:

CiscocatalystCPUusage

nsc:

NetScreenCPUusage

fg:

FortigateCPUusage

bc:

BluecoatCPUusage

nokia:

NokiaCPUusage

hp:

HPprocurveswitchCPUusage

lp:

LinkproofCPUusage

hpux:

HP-UXload(1,5&

ruijie:

RuiJieCPUusage(5分钟的值)

-f,--perfparse

Perfparsecompatibleoutput

-t,--timeout=INTEGER

timeoutforSNMPinseconds(Default:

5)

-V,--version

printsversionnumber

EOT

#Forverboseoutput

subverb{my$t=shift;

print$t,"

ifdefined($o_verb);

subcheck_options{

Getopt:

Long:

Configure("

bundling"

GetOptions(

'

v'

=>

\$o_verb,'

verbose'

\$o_verb,

'

h'

\$o_help,'

help'

=>

\$o_help,

H:

s'

\$o_host,'

hostname:

\$o_host,

p:

i'

\$o_port,'

port:

\$o_port,

C:

\$o_community,'

community:

\$o_community,

l:

\$o_login,'

login:

\$o_login,

x:

\$o_passwd,'

passwd:

\$o_passwd,

X:

\$o_privpass,'

privpass:

\$o_privpass,

L:

\$v3protocols,'

protocols:

\$v3protocols,

t:

\$o_timeout,'

timeout:

\$o_timeout,

V'

\$o_version,'

version'

\$o_version,

2'

\$o_version2,'

v2c'

\$o_version2,

c:

\$o_crit,'

critical:

\$o_crit,

w:

\$o_warn,'

warn:

\$o_warn,

f'

\$o_perf,'

perfparse'

\$o_perf,

T:

\$o_check_type,'

type:

\$o_check_type

);

#checkthe-Toption

my$T_option_valid=0;

foreach(@valid_types){if($_eq$o_check_type){$T_option_valid=1}};

if($T_option_valid==0)

{print"

Invalidchecktype(-T)!

exit$ERRORS{"

UNKNOWN"

}}

#Basicchecks

if(defined($o_timeout)&

&

(isnnum($o_timeout)||($o_timeout<

2)||($o_timeout>

60)))

{print"

Timeoutmustbe>

1and<

60!

if(!

defined($o_timeout)){$o_timeout=5;

if(defined($o_help)){help();

}};

if(defined($o_version)){p_version();

if(!

defined($o_host))#checkhostandfilter

{print_usage();

#checksnmpinformation

defined($o_community)&

(!

defined($o_login)||!

defined($o_passwd)))

Putsnmplogininfo!

if((defined($o_login)||defined($o_passwd))&

(defined($o_community)||defined($o_version2)))

Can'

tmixsnmpv1,2c,3protocols!

if(defined($v3protocols)){

defined($o_login)){print"

PutsnmpV3logininfowithprotocols!

my@v3proto=split(/,/,$v3protocols);

if((defined($v3proto[0]))&

($v3proto[0]ne"

"

)){$o_authproto=$v3proto[0];

}#Authprotocol

if(defined($v3proto[1])){$o_privproto=$v3proto[1];

}#Privprotocol

if((defined($v3proto[1]))&

defined($o_privpass))){

PutsnmpV3privlogininfowithprivprotocols!

#Checkwar

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1