Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2006  »  05  »  Holzauge, sei wachsam  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Hitzefühler

Ein weiteres Beispiel eines selbst gebauten Nagios-Plugin zeigt »check_temperature«. Das Skript (Listing 3) kontaktiert die Round-Robin-Datenbank des in [3] vorgestellten Temperaturfühlers und schlägt Alarm, falls die Außen- oder Innentemperatur sich außerhalb festgelegter Grenzen bewegen. Typisch für Nagios-Plugins akzeptiert es Kommandozeilenparameter für die Grenzwerte. Ein Aufruf von »check_temperature -warn=30 -crit=35 -dsname=Inside« löst eine Warnung aus, falls die Innentemperatur über 30 Grad Celsius steigt. Bei 35 Grad wird die Grenze zu Critical überschritten. Abbildung 5 zeigt die unterschiedlichen Exit-Werte und Ausgaben des Plugin für unterschiedliche Parameter.

Listing 3:
»check_temperature«

01 #!/usr/bin/perl -w
02 ###########################################
03 use strict;
04 use RRDTool::OO;
05 use Getopt::Std;
06 use Pod::Usage;
07 use Nagios::Clientstatus;
08 
09 my $N = "TEMPERATURE";
10 
11 my $nc    = Nagios::Clientstatus->new(
12     help_subref    => sub { pod2usage() },
13     mandatory_args => [qw(
14       crit warn dsname
15     )],
16 );
17 
18 my $rrd = RRDTool::OO->new(
19     file => "/tmp/temperature.rrd" );
20 
21 my $dsnames = $rrd->meta_data("dsnames");
22 
23 $rrd->fetch_start(
24   start => time() - 6*60,
25   end   => time()
26 );
27 
28 my $temp;
29 
30 if(my($time, @values) =
31                     $rrd->fetch_next()) {
32   for(my $i=0; $i<@$dsnames; $i++) {
33      if($dsnames->[$i] eq
34         $nc->get_given_arg("dsname")) {
35          $temp = $values[$i];
36          last;
37      }
38   }
39 }
40 
41 my $status  = "ok";
42 
43 if(! defined $temp) {
44     $status = "unknown";
45 }
46 elsif($temp >=
47       $nc->get_given_arg("crit")) {
48     $status = "critical";
49 }
50 elsif($temp >=
51       $nc->get_given_arg("warn")) {
52     $status = "warning";
53 }
54 
55 printf "$N %s - %s: %sn",
56   uc($status),
57   $nc->get_given_arg("dsname"),
58   defined $temp ?
59     sprintf("%.1f", $temp) :
60     "NODATA";
61 
62 exit $nc->exitvalue($status);

Analog zum vorher vorgestellten Iostat-Plugin übergibt folgende Service-Konfiguration dem Skript die Parameter: »check_command check_temperature!30!30!Inside«. Der entsprechende Eintrag für »command« sieht so aus:

define command {
command_name check_temperature
command_line $USER1$/check_temperature -warn=$ARG1$ -crit=$ARG2$ -dsname=$ARG3$
}

Die bunte Tabelle in Abbildung 1 zeigt im Mittelteil, dass beide Temperaturtests sich mit 18,8 (innen) und 15,9 Grad Celsius (außen) im grünen Bereich bewegen. Die Wohnung brennt also nicht.

Die Nagios-2.0-Distribution ist auf der Projektseite [5] als Tarball verfügbar. Nach dem Auspacken führen die folgenden Schritte zu einem funktionierenden Nagios-Server.


Abbildung 5: Ausgaben und Exit-Werte des Temperatur-Plugin auf unterschiedliche Kommandozeilenparameter.

Installation

Zuerst legt man einen eigenen Benutzer und eine Gruppe für Nagios an und startet danach wie üblich »configure« und »make«:

adduser nagios
cd nagios-2.0
./configure
make all

Dann sind die Binärprogramme, CGI-Skripte und HTML-Seiten zu installieren, das Startskript in »/etc/rc.d/init.d« und eine Beispiel-Konfiguration anzulegen:

make install
make install-init
make install-config

Ein gesonderter Tarball [2] enthält die Standard-Plugins für Nagios 2.0, die man im Zuge der Installation ins Verzeichnis »/usr/local/nagios/libexec« entpackt.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Schöner schicken Perl-Skript tunnelt Mailverkehr auf Zuruf
Große Schwester Kurz vorgestellt: Network Monitoring mit Big Sister
Heilig nach Punkten Messenger-Plugin verschafft Vorteil durch Webseiten-Überwachung
Top Ten Redaktions-Ranking der Top-Werkzeuge
Das Log als Ohrwurm Perl-Skript realisiert das singende, klingende Internet
Selbst ist der Admin Monitoring: Server- und Netzüberlastungen mit Bordmitteln ermitteln
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)