#!/usr/bin/perl
#
# Copyright (C) 2009 Matthew Boyle
# Copyright (C) 2004-2005 Dagfinn Ilmari Mannsåker
# Copyright (C) 2004 Jimmy Olsen
#
# 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";
}
