%PDF- %PDF-
Direktori : /usr/share/munin/plugins/ |
Current File : //usr/share/munin/plugins/snmp__uptime |
#!/usr/bin/perl -w # -*- cperl -*- # vim: ft=perl =head1 NAME snmp__uptime - Munin plugin to retrieve uptime information from a SNMP device. =head1 APPLICABLE SYSTEMS Uptime should be supported by all SNMP devices that support SNMPv2 and up (If I have understood the MIBs rightly :-) =head1 CONFIGURATION As a rule SNMP plugins need site specific configuration. The default configuration (shown here) will only work on insecure sites/devices. [snmp_*] env.version 2 env.community public In general SNMP is not very secure at all unless you use SNMP version 3 which supports authentication and privacy (encryption). But in any case the community string for your devices should not be "public". Please see 'perldoc Munin::Plugin::SNMP' for further configuration information. =head1 INTERPRETATION The plugin reports how long the device has been up. This is not the same as uptime in percent as used in SLAs. Actually, this isn't entirely true. It reports the uptime of the SNMP agent. For "embedded" devices such as switches or printers, this will be the same as uptime, but this may not always be the case for servers. (For instance, it would be less if an administrator had manually restarted the SNMP daemon/service.) The day and week graphs for uptime are not very interesting - the year, and perhaps the month graphs are more interesting. The year graphs average number will show your devices average uptime the last year (actually 400 days). =head1 MIB INFORMATION This plugin requires support for the DISMAN-EVENT-MIB authored by the IETF Distributed Management Working Group. It reports the contents of the sysUpTimeInstance OID. =head1 MAGIC MARKERS #%# family=snmpauto #%# capabilities=snmpconf =head1 VERSION $Id$ =head1 BUGS None known. =head1 AUTHOR Copyright (C) 2000-2009 by various authors. Original Nagios plugin: Sébastien Barbereau. Introduced to Munin in 2006 based on the Nagios plugin by: Andreas Schuldei In 2008 updated for Munin::Plugin::SNMP and documented by Nicolai Langfeldt. =head1 LICENSE GPLv2 or (at your option) any later version. =cut use strict; use Munin::Plugin::SNMP; if (defined $ARGV[0] and $ARGV[0] eq "snmpconf") { print "require 1.3.6.1.2.1.1.3.0 [0-9]\n"; # Number exit 0; } if (defined $ARGV[0] and $ARGV[0] eq "config") { my ($host) = Munin::Plugin::SNMP->config_session(); print "host_name $host\n" unless $host eq 'localhost'; print "graph_title System Uptime graph_args --base 1000 -l 0 graph_vlabel uptime in days graph_category system graph_info This graph shows the number of days that the the host is up and running so far. uptime.label uptime uptime.info The system uptime itself in days. uptime.draw AREA "; exit 0; } my $session = Munin::Plugin::SNMP->session(-translate => [ -timeticks => 0x0 ]); my $uptime = $session->get_single (".1.3.6.1.2.1.1.3.0") || 'U'; print "Retrived uptime is '$uptime'\n" if $Munin::Plugin::SNMP::DEBUG; if ($uptime ne 'U') { $uptime /= 8640000; } print "uptime.value ", $uptime, "\n";