| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/perl
- use strict;
- use Net::SNMP;
- exit if (!$ARGV[0]);
- my $TIMEOUT = 30;
- $SIG{ALRM} = sub { print "ERROR: No response\n"; exit 3; };
- alarm($TIMEOUT);
- my $hostip=$ARGV[0];
- my ($session, $error) = Net::SNMP->session(
- -hostname => shift || $hostip,
- -community => shift || 'public',
- -timeout => 5,
- -port => shift || 161
- );
- if (!defined($session)) {
- printf("ERROR: %s.\n", $error);
- exit 1;
- }
- my $inputac = '1.3.6.1.4.1.318.1.1.1.3.2.2.0';
- my $result = $session->get_request(
- -varbindlist => [$inputac]
- );
- my $perf_data = "input=0;210;200;0;280;";
- if (!defined($result)) {
- printf("ERROR: %s. |".$perf_data."\n", $session->error);
- $session->close;
- exit 2;
- }
- $perf_data = "input=%s;210;200;0;280;";
- if (($result->{$inputac} < 201) or $result->{$inputac} > 255) {
- printf("ERROR Input AC: %sV |".$perf_data."\n",$result->{$inputac},$result->{$inputac});
- $session->close;
- exit 2;
- }
- printf("OK Input AC %sV |".$perf_data."\n", $result->{$inputac},$result->{$inputac});
- $session->close;
- exit 0;
|