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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter [
<!ENTITY % all.entities SYSTEM "all-entities.ent">
%all.entities;
]>
<section version="5.0" xml:id="plugins" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:db="http://docbook.org/ns/docbook">
<title>&name-icinga; Plugins</title>
<para><emphasis role="bold">Einführung</emphasis></para>
<para>&name-icinga; enthält nicht, wie viele andere Überwachungs-Tools, interne Mechanismen zur Prüfung des Zustands von Hosts
und Services in Ihrem Netzwerk. &name-icinga; verlässt sich statt dessen auf externe Programme (Plugins genannt), die all die
schmutzige Arbeit tun.</para>
<para><emphasis role="bold">Was sind Plugins?</emphasis></para>
<para>Plugins sind kompilierte Programme oder Scripts (Perl-Scripts, Shell-Scripts, usw.), die von einer Kommandozeile aus
laufen können, um den Status eines Hosts oder Service zu prüfen. &name-icinga; benutzt die Ergebnisse von Plugins, um den
aktuellen Status von Hosts oder Services in Ihrem Netzwerk zu ermitteln.</para>
<para>&name-icinga; wird ein Plugin immer dann ausführen, wenn die Notwendigkeit besteht, den Status eines Hosts oder Service zu
prüfen. Das Plugin tut <emphasis>etwas</emphasis> (beachten Sie den sehr allgemeinen Ausdruck), um die Prüfung auszuführen und
dann einfach die Ergebnisse an &name-icinga; zurückzuliefern. &name-icinga; wird die Ergebnisse verarbeiten, die es vom Plugin
erhält, und dann notwendige Aktionen ausführen (starten von <link linkend="eventhandlers">Eventhandlern</link>, senden von <link
linkend="notifications">Benachrichtigungen</link>, etc).</para>
<para><emphasis role="bold">Plugins als eine Abstraktionsschicht</emphasis></para>
<mediaobject>
<imageobject>
<imagedata fileref="../images/plugins.png" format="PNG"></imagedata>
</imageobject>
</mediaobject>
<para>Plugins arbeiten wie eine Abstraktionsschicht zwischen der Überwachungslogik im &name-icinga;-Dämon und den eigentlichen
Services und Hosts, die überwacht werden.</para>
<para>Der Vorteil dieses Typs von Plugin-Architektur ist, dass Sie fast alles überwachen können, was Ihnen einfällt. Wenn Sie
den Prozess der Überwachung automatisieren können, können Sie es mit &name-icinga; überwachen. Es gibt bereits eine Menge von
Plugins, die erzeugt wurden, um grundlegende Ressourcen wie z.B. Prozessorauslastung, Plattenbelegung, Ping-Raten usw. zu
überwachen. Wenn Sie etwas anderes überwachen möchten, werfen Sie einen Blick in die Dokumentation zu <link
linkend="pluginapi">Plugins schreiben</link> und erstellen Sie ein eigenes. Es ist einfach!</para>
<para>Der Nachteil dieses Typs von Plugin-Architektur ist die Tatsache, dass &name-icinga; absolut keine Ahnung davon hat, was
Sie überwachen. Sie könnten Netzwerkverkehr-Statistiken, Datenfehler-Raten, Raumtemperatur, CPU-Spannung, Lüftergeschwindigkeit,
Prozessorauslastung, Plattenbelegung überwachen oder die Fähigkeit Ihres superphantastischen Toasters, am Morgen Ihr Brot
ordnungsgemäß zu bräunen... &name-icinga; versteht nicht die Besonderheiten dessen, was überwacht wird - es verfolgt lediglich
Veränderungen des <emphasis>Zustands</emphasis> dieser Ressourcen. Nur die Plugins selbst wissen genau, was sie überwachen und
wie die eigentlichen Prüfungen auszuführen sind.</para>
<para><emphasis role="bold">Welche Plugins sind verfügbar?</emphasis></para>
<para>Es gibt bereits zahlreiche Plugins, um viele verschiedene Arten von Geräten und Services zu überwachen, u.a.:</para>
<itemizedlist>
<listitem>
<para>&protocol-http;, &protocol-pop3;, &protocol-imap;, &protocol-ftp;, &protocol-ssh;, &protocol-dhcp;</para>
</listitem>
<listitem>
<para>CPU-Auslastung, Plattenbelegung, Speicherauslastung, Anzahl Benutzer</para>
</listitem>
<listitem>
<para>Unix/&name-linux;, Windows- und Netware-Server</para>
</listitem>
<listitem>
<para>Router und Switches</para>
</listitem>
<listitem>
<para>etc.</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Plugins beschaffen</emphasis></para>
<para>Plugins werden nicht mit &name-icinga; verteilt, aber Sie finden die offiziellen &name-nagios;-Plugins zum Download und
viele weitere Plugins, die von &name-nagios;-Benutzern erstellt und gewartet werden, an folgenden Stellen:</para>
<itemizedlist>
<listitem>
<para>&name-nagios; Plugins Project: <link
xlink:href="http://sourceforge.net/projects/nagiosplug">&url-nagiosplug-sf;</link></para>
</listitem>
<listitem>
<para>&name-nagios; Downloads Page: <link xlink:href="http://www.nagios.org//download/">&url-nagios;/download/</link></para>
</listitem>
<listitem>
<para>MonitoringExchange: <link xlink:href="http://www.monitoringexchange.org">&url-monitoringexchange;</link></para>
</listitem>
</itemizedlist>
<para><anchor xml:id="plugins-howto" /><emphasis role="bold">Wie benutze ich Plugin X?</emphasis></para>
<para>Fast alle Plugins zeigen grundlegende Bedienungshinweise an, wenn sie von der Kommandozeile mit der Option '-h' oder
'--help' aufgerufen werden. Wenn Sie z.B. wissen möchten, wie das Plugins check_http arbeitet bzw. welche Optionen es
akzeptiert, sollten Sie folgenden Befehl ausprobieren:</para>
<screen> ./check_http --help</screen>
<para><emphasis role="bold">Plugin API</emphasis></para>
<para>Informationen zu technischen Aspekten von Plugins sowie zur Erstellung Ihrer eigenen Plugins finden Sie <link
linkend="pluginapi">hier</link>.</para>
<indexterm zone="plugins"><primary>Plugins</primary><secondary>&name-icinga;-Plugins</secondary></indexterm>
<indexterm zone="plugins-howto"><primary>Wie benutze ich Plugin X?</primary></indexterm>
<indexterm zone="plugins-howto"><primary>Plugins</primary><secondary>Wie benutze ich Plugin X?</secondary></indexterm>
</section>
|