IXシリーズルータを2台動かしているので、SNMP経由でMunin監視するためのプラグインを作成しました。
今回は、1本目として標準プラグインのSNMP:CPU Loadを改造したIX用プラグインです。
snmp_ルータのホスト名_ixloadとかの感じでpluginsディレクトリに置いてやってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#!/usr/bin/perl # snmp nec ix-series router cpu load munin plugin. use strict; use Munin::Plugin::SNMP; my $DEBUG = $ENV{MUNIN_DEBUG}; if (defined $ARGV[0] and $ARGV[0] eq "snmpconf") { print "require 1.3.6.1.4.1.119.2.3.84.2.5\n"; exit; } my $session = Munin::Plugin::SNMP->session(); my $result = $session->get_table('-baseoid' => '1.3.6.1.4.1.119.2.3.84.2.5'); 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 IX CPU load graph_args --upper-limit 100 -l 0 graph_vlabel Load[Percent] graph_scale no graph_category System graph_info This graph shows the CPU load of a NEC IX router. cpu1.label CPU[1sec] cpu2.label CPU[5sec] cpu3.label CPU[1min] cpu4.label CPU[1hour] "; exit 0; } # Print values foreach my $key (keys %{$result}) { ($cpu) = ( $key =~ m/\.(\d+)\.\d+$/ ); print "cpu$cpu.value ",$result->{$key},"\n"; } |
(471)