Munin: Eigenes SNMP-Plugin

van_haakonnen

Registered User
Hallo zusammen,

ich würde gerne ein Termometer via SNMP abfragen. Da ich hierfür keinerlei brauchbare Plugins gefunden habe musste ich selbst Hand anlegen. Leider ist mir die Plugin-Programmierung noch sehr fremd.

Falls es also ein fertiges Munin-Plugin gibt, in dem ich einfach nur die OID und den Host angeben muss wäre das umso einfacher für mich :/

Jetzt habe ich mir überlegt, dass der Graph ruhig unter dem Host test1.domain.de angezeigt werden kann. Irgendwie muss ich Munin also sagen, dass die Ausgabe des Plugins auf diesem Host geschehen soll.

Hier mein Plugin:

Code:
#!/usr/bin/perl -w
use strict;
use diagnostics;
use Net::SNMP;
use Munin::Plugin::SNMP;

my $session = Net::SNMP->session(
        -hostname  => 'temp.domain.de',
        -community => 'public',
        );

my $result = $session->get_request(
        -varbindlist => ['.1.3.6.1.4.1.22626.1.2.3.1.0']
        );

print "temperature.value $result->{'.1.3.6.1.4.1.22626.1.2.3.1.0'}\n";

if (defined $ARGV[0] and $ARGV[0] eq "config") {
my $host = "test1.domain.de'';
        print "host_name $host\n" unless $host eq 'localhost';
        print "Temperatur
graph_args --base 1000 -l 0
graph_vlabel temperature
graph_category system
graph_info Temperatur
temperature.label Temperatur
temperature.info Temperatur
temperature.draw AREA
";
        exit 0;
}

Mittlerweile zeigt mir Munin auch keinerlei Fehler mehr in den Logs beim Ausführen des Scriptes an. Leider erscheien aber auch keine Graphen oder auch nur ein Eintrag im Web von Munin für die Darstellung.

Eine Ausgabe auf der Commandline funktioniert jedoch:

Code:
munin-run temp
temperature.value 246

Hier wäre dann noch die Frage, wie ich in Perl die Temperatur von 246 zu 2.46 umschreiben kann. Aber das ist dann das kleinere Problem.

Kann mir jemand von euch sagen, wo mein Denkfehler ist? :)

Vielen Dank

VanHaakonnen
 
Back
Top