ersion= gt; 3 ,
username= gt; $ o_login,
authpassword= gt; $ o_passwd,
authprotocol= gt; $ o_authproto,
timeout= gt; $ o_timeout
);
} else {( SNMPv3 AuthPriv login: $ o_login, $ o_authproto, $ o_privproto );
($ session, $ error)=Net :: SNMP- gt; session (
hostname= gt; $ o_host,
version= gt; 3 ,
username= gt; $ o_login,
authpassword= gt; $ o_passwd,
authprotocol= gt; $ o_authproto,
privpassword= gt; $ o_privpass,
privprotocol= gt; $ o_privproto,
timeout= gt; $ o_timeout
);
}
} else {(defined ($ o_version2)) {
# SNMPv2 Login ( SNMP v2c login );
($ session, $ error)=Net :: SNMP- gt; session (
hostname= gt; $ o_host,
version= gt; 2,
community= gt; $ o_community,
port= gt; $ o_port,
timeout= gt; $ o_timeout
);
} else {
# SNMPV1 login ( SNMP v1 login );
($ session, $ error)=Net :: SNMP- gt; session (
hostname= gt; $ o_host,
community= gt; $ o_community,
port= gt; $ o_port,
timeout= gt; $ o_timeout
);
}
} (! defined ($ session)) {( ERROR opening session:% s. n raquo ;, $ error); $ ERRORS { UNKNOWN };
}
$ exit_val=undef;
########### Linux load check ##############
($ o_check_type eq netsl ) {
( Checking linux load );
# Get load table $ resultat=(Net :: SNMP- gt; VERSION lt; 4)?
$ session- gt; get_table ($ linload_table)
: $ session- gt; get_table (Baseoid= gt; $ linload_table);
(! defined ($ resultat)) {( ERROR: Description table:% s. n raquo ;, $ session- gt; error);
$ session- gt; close; $ ERRORS { UNKNOWN };
}
$ session- gt; close;
@ load=undef;iload=undef; @ oid=undef; $ exist=0; my $ key (keys% $ resultat) {( OID: $ key, Desc: $$ resultat {$ key} ); ($ key=~/$ linload_name /) {
@ oid=split (/./,$ key);
$ iload [0]=pop (oid) if ($$ resultat {$ key} eq Load - 1 );
$ iload [1]=pop (oid) if ($$ resultat {$ key} eq Load - 5 );
$ iload [2]=pop (oid) if ($$ resultat {$ key} eq Load - 15 );
$ exist=1
}
}
($ exist == 0) { Can not find snmp information on load: UNKNOWN n raquo ;; $ ERRORS { UNKNOWN };
}
(my $ i=0; $ i lt; 3; $ i ++) {$ load [$ i]=$$ resultat {$ linload_load. . . $ iload [$ i]}};
Load: $ load [0] $ load [1] $ load [2]: raquo ;;
$ exit_val=$ ERRORS { OK }; (my $ i=0; $ i lt; 3; $ i ++) {($ load [$ i] gt; $ o_critL [$ i ]) { $ load [$ i] gt; $ o_critL [$ i]: CRITICAL raquo ;;
$ exit_val=$ ERRORS { CRITICAL };
} ($ load [$ i] gt; $ o_warnL [$ i]) {
# output warn error only if no critical was found ($ exit_val eq $ ERRORS { OK }) { $ load [$ i] gt; $ o_warnL [$ i]: WARNING raquo ;;
$ exit_val=$ ERRORS { WARNING };
}
}
} OK if ($ exit_val eq $ ERRORS { OK }); (defined ($ o_perf)) { | Load_1_min=$ load [0]; $ o_warnL [0]; $ o_critL [0] raquo ;; load_5_min=$ load [1]; $ o_warnL [1]; $ o_critL [1] raquo ;; load_15_min =$ load [2]; $ o_warnL [2]; $ o_critL [2] n raquo ;;
} else { n raquo ;;
} $ exit_val;
}
############## Cisco CPU check ################
($ o_check_type eq cisco ) {oidlists=($ cisco_cpu_5m, $ cisco_cpu_1m, $ cisco_cpu_5s); $ resultat=(Net :: SNMP- gt; VERSION lt; 4)?
$ session- gt; get_request (oidlists)
: $ session-...