mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-21 18:41:03 +00:00
Category Tree: Reduce number of categories
netapp -> san
This commit is contained in:
parent
7042351e74
commit
f523f095f9
18 changed files with 14 additions and 14 deletions
145
plugins/netapp/snmp__netapp_cpu2
Executable file
145
plugins/netapp/snmp__netapp_cpu2
Executable file
|
@ -0,0 +1,145 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- perl -*-
|
||||
# vim: ft=perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
snmp__netapp_cifs - Munin plugin to retrieve cpu information from NetApp storage appliances.
|
||||
|
||||
=head1 APPLICABLE SYSTEMS
|
||||
|
||||
cpu should be reported by any NetApp storage appliance
|
||||
with SNMP agent daemon activated. See na_snmp(8) for details.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
Unfortunately, SNMPv3 is not fully supported on all NetApp equipments.
|
||||
For this reason, this plugin will use SNMPv2 by default, which is
|
||||
insecure because it doesn't encrypt the community string.
|
||||
|
||||
The following parameters will help you get this plugin working :
|
||||
|
||||
[snmp_*]
|
||||
env.community MyCommunity
|
||||
|
||||
If your community name is 'public', you should really worry about
|
||||
security and immediately reconfigure your appliance.
|
||||
|
||||
Please see 'perldoc Munin::Plugin::SNMP' for further configuration.
|
||||
|
||||
=head1 INTERPRETATION
|
||||
|
||||
The plugin reports various cpu busy and idle.
|
||||
|
||||
=head1 MIB INFORMATION
|
||||
|
||||
This plugin requires support for the NETWORK-APPLIANCE-MIB issued by
|
||||
Network Appliance. It reports the content of the cpu OID.
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=snmpauto
|
||||
#%# capabilities=snmpconf
|
||||
|
||||
=head1 BUGS
|
||||
|
||||
This plugin wasn't tested on many hardware and only on Ontap 7.3.x.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
2013, Claudius Herder
|
||||
NetApp is a registered trademark and Network Appliance is a trademark
|
||||
of Network Appliance, Inc. in the U.S. and other countries.
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2.
|
||||
|
||||
=cut
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Munin::Plugin::SNMP;
|
||||
|
||||
my %oids =
|
||||
(
|
||||
# cpuUpTime => 'CPU_UPTIME',
|
||||
# cpuBusyTime => 'CPU_BUSYTIME',
|
||||
cpuBusyTimePerCent => 'Busy',
|
||||
# cpuIdleTime => 'CPU_IDLETIME',
|
||||
cpuIdleTimePerCent => 'Idle',
|
||||
# cpuCount => 'CPU_COUNT',
|
||||
# cpuSwitchInvocations => 'CPU_SWTICHINVOCATIONS',
|
||||
# cpuContextSwitches => 'CPU_CONTEXTSWITCHES',
|
||||
# cpuInterrupts => 'CPU_INTERRUPTS',
|
||||
# cpuNonCPInterrupts => 'CPU_NONCPINTERRUPTS',
|
||||
# cpuCPInterruptPercent => 'CPU_CPINTERRUPTPERCENT',
|
||||
# cpuNonCPInterruptPercent => 'CPU_NONCPINTERRUPTPERCENT',
|
||||
# cpuTotalDomainSwitches => 'CPU_TOTALDOMAINSWITCHES',
|
||||
);
|
||||
|
||||
if (defined $ARGV[0] and $ARGV[0] eq 'snmpconf')
|
||||
{
|
||||
print "require 1.3.6.1.4.1.789.1.2.1. [0-9]\n";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $session = Munin::Plugin::SNMP->session();
|
||||
|
||||
if (defined $ARGV[0] and $ARGV[0] eq "config")
|
||||
{
|
||||
my ($host, undef, undef, undef) = Munin::Plugin::SNMP->config_session();
|
||||
print "host_name $host\n" unless $host eq 'localhost';
|
||||
print "graph_title $host CPU \n";
|
||||
print "graph_args --base 1000 -r --lower-limit 0 --upper-limit 100\n";
|
||||
print "graph_vlabel CPU \n";
|
||||
print "graph_category san\n";
|
||||
print "graph_info This graph shows cpu busy value for the $host in percent.\n";
|
||||
print "graph_order ";
|
||||
foreach (sort keys %oids)
|
||||
{
|
||||
print "$_ ";
|
||||
}
|
||||
print "\n";
|
||||
foreach my $k (sort keys %oids)
|
||||
{
|
||||
print "$k.info The cpu $oids{$k} value in percent\n";
|
||||
print "$k.label $oids{$k}\n";
|
||||
print "$k.min 0\n";
|
||||
print "$k.draw AREASTACK\n";
|
||||
print "$k.type GAUGE\n";
|
||||
}
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $values = $session->get_hash
|
||||
(
|
||||
-baseoid => '1.3.6.1.4.1.789.1.2.1',
|
||||
-cols =>
|
||||
{
|
||||
# 1 => 'cpuUpTime',
|
||||
# 2 => 'cpuBusyTime',
|
||||
3 => 'cpuBusyTimePerCent',
|
||||
# 4 => 'cpuIdleTime',
|
||||
5 => 'cpuIdleTimePerCent',
|
||||
# 6 => 'cpuCount',
|
||||
# 7 => 'cpuSwitchInvocations',
|
||||
# 8 => 'cpuContextSwitches',
|
||||
# 9 => 'cpuInterrupts',
|
||||
# 10 => 'cpuNonCPInterrupts',
|
||||
# 11 => 'cpuCPInterruptPercent',
|
||||
# 12 => 'cpuNonCPInterruptPercent',
|
||||
# 13 => 'cpuTotalDomainSwitches',
|
||||
},
|
||||
);
|
||||
|
||||
foreach my $k (keys %oids)
|
||||
{
|
||||
my $v = 'U';
|
||||
$v = $values->{0}->{$k} if (defined $values);
|
||||
print "$k.value $v\n";
|
||||
}
|
||||
|
||||
exit 0;
|
||||
|
||||
__END__
|
Loading…
Add table
Add a link
Reference in a new issue