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.
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.
| 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)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|