#!@@PERL@@ # -*- perl -*- # # Copyright (C) 2004-2006 Jimmy Olsen, Dagfinn Ilmari Mannsåker # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2 dated June, # 1991. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # #%# family=snmpauto #%# capabilities=snmpconf use strict; use Munin::Plugin::SNMP; if (defined $ARGV[0] and $ARGV[0] eq "snmpconf") { print "require 1.3.6.1.2.1.25.3.3.1.2. [0-9]\n"; # Number exit 0; } my $session = Munin::Plugin::SNMP->session(); my $result = $session->get_table('-baseoid' => '1.3.6.1.2.1.25.3.3.1.2'); my $cpu; 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 Windows CPU load graph_args --base 1000 -l 0 graph_vlabel Load graph_scale no graph_category System graph_info This graph shows the CPU load of a windows system. "; my $draw='AREA'; foreach my $key (sort(keys %{$result})) { ($cpu) = ( $key =~ m/\.(\d+)$/ ); print "cpu$cpu.label CPU $cpu\n"; print "cpu$cpu.info Load on CPU $cpu\n"; print "cpu$cpu.draw $draw\n"; $draw='STACK'; } exit 0; } # Print values foreach my $key (keys %{$result}) { ($cpu) = ( $key =~ m/\.(\d+)$/ ); print "cpu$cpu.value ",$result->{$key},"\n"; }