Hilfe mit Nagios! :(

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Heyo Leute! :)
    Ich hab da ein kleines Problem... Ich wollte mal das Monitoring mit Nagios einrichten, hab aber keine Ahnung wie ich das anstellen soll... Die Anleitung verstehe ich nicht sonderlich :/ und meine Kenntnisse mit Raspbian sind sehr sehr sehr bescheiden^^ Den Webserver habe ich schon aufgesetzt und Nagios3 installiert - alles Funktioniert bisher und ich kann auch auf die Browseroberfläche zugreifen.
    Meine Frage wäre da nun ob mir da jemand mit helfen könnte das Monitoring für Router und Switches ein zu richten, denn ich hab da keine Ahnung von und im Internet findet man auch keine gescheite und ausführliche Anleitung...
    Vielen Dank für eure Hilfe.
    Liebe Grüße
    Learco! :)

  • Ehh.. Also wenn ich das richtig verstanden habe, als Beispiel möchte ich wissen, ob alle Router in einem Netzwerk intakt sind, ob die aus sind oder nicht mehr korrekt funktionieren oder so, wenn man das kann...

  • Jop also:
    Mir ist da halt wichtig, alle IP-Adressen, sämtliche Dienste (diese müssen halt auch überprüft werden - wichtig da ob dieser Dienst läuft und so...)

  • Naja die IP adresse wäre ja irrelevant... Eine nützliche und gut erklärte Anleitung würde mir schon vollkommen reichen :/ Als Dienstbeispiel:
    Hier steht ein E-Mailserver dieser ist ein ein firminternes Netzwerk eingepflegt und einmal hat er direkte Verbindung ins Internet - Wie richte ich das ein, dass das Prüfen könnte ob dieser hier die Verbindung zum Internet steht? Das war jetzt mal ein genaueres Beispiel

    • Offizieller Beitrag

    Sind das Windows oder Linux Rechner? Ein Guter start ist das hier. Bei Linuxkisten das deutlich "einfacher" da man sich ggf einfach ein simples Plugin schreibt welches dann auf dem Remoteserver ausgeführt wird (und z.B. ne externe Seite anpingt). Für Netzwerkgeräte wie switches/Firewall usw. kommst du um snmp und ihre "grossartige" Notation nicht rum. Die passenden Mibs vorrausgesetzt kann man sich sie Syntax etwas vereinfachen, ich persönlich nutze die Zahlennotation um in diesem Beispiel zu prüfen ob ein bestimmter port auf einem Switch down ist
    6df927-1421227837.png

  • Bitte jetzt nicht falsch verstehen:

    Frag doch mal die Netzwerkadmins oder die Serveradmins in deiner Firma.

    Solltest du irgendwie von deinem Chef den Hut aufbekommen haben sich um die Dinge zu kümmern dann
    nimm PTRG (http://www.de.paessler.com/). Das ist ein sehr gutes Klicki Klicki Tool für Windows.

    Mit dem Monster Nagios kannst du dich dann immer noch auseinander setzen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Das ist halt eine Aufgabe von meinem Ausbilder - Nach dem Motto learning by doing und so, weil zur Zeit nichts wirklich los ist. Er kennt sich selbst auch nur ganz schlecht mit Raspbian etc aus und hat mich halt drum gebeten, mich damit zu beschäftigen, weil Nagios schien ein cooles Programm zu sein... Zu PTRG sagte er: ist ganz nett, aber um damit was ordentliches erreichen zu können muss man Geld für investieren... Deshalb halt Nagios :'D Die Sache ist halt die, dass ich nicht mehr als eine Gute und ausführliche Anleitung brauche :/ Dann gehts schon von alleine bei mir^^ Aber trotzdem danke für den Tipp :)

    • Offizieller Beitrag

    nagios ist alles ausser simple ;). Und verlangt von einem das man sich intensiv einliest. Ich geh mal davon aus das du die configs noch nicht angefasst hast.
    Eine nagios config besteht aus mehren Dateien.
    Das wären die template files (zu finden in /etc/nagios3/conf.d/):

    Code
    config-generic-host.cfg #definiert einen Standard Host
    config-generic-service.cfg #definiert einen Standard service
    config-hostgroups.cfg #fasst rechnergruppen zusammen (z.B. alle Webserver)
    config-contacts.cfg #definiert kontakte die alarmiert werden sollen
    config-extinfo.cfg #definiert zusatzinfos zu best. hostgroups (notizen, icons usw)
    config-timeperiods.cfg #definiert Zeiträume, wichtig für alamierungen


    Diese Templates beziehen sich teilweise aufeinander. Beispiel:Wenn man in der extinfo, zusatzinfos zu einer hostgroup anlegt, die hostgroup aber nicht in der hostgroups definiert ist, kommt es zu einer fehlermeldung.
    Natürlich kann man sich unglaublich viele configs selber bauen. Beispiel: generic-host definiert einen "allgemeinen PC" und sagt welcher Befehl ausgeführt werden soll, wer alarmiert werden soll usw. Wenn man z.B. verschiedene Admins hat (Linux/Windows) macht es Sinn in der generic-host eine weitere definition für Linux-host/Windows-host zu hinterlegen. Man kann diese Datein auch umbennen wie man will. Der einfachheit halber gehe ich mal von Standard nach der Installation aus und ändere in den configs nichts weiter:

    Um ein Gerät zu überwachen fehlt noch die wichtigste Datei, die config für das Gerät an Sich. Diese legen wir auch in /etc/nagios3/conf.d an und nennen sie "mein-erster-nagios-host.cfg"

    Code
    cd /etc/nagios3/conf.d
    vim mein-erster-nagios-host.cfg


    Das kommt rein:

    Erklärung:
    im define host Teil wird das Gerät an Sich definiert. Es wird ihm das zu nutzende host template übergeben (generic-host, definiert in config-generic-host.cfg), Rechnername, Alies und IP sollten klar sein.
    Dieser Eintrag alleine reicht schon um zu prüfen am ein Gerät online ist -> Denn in der config-generic-host.cfg ist definiert ist für Geräte dieses templates das check-host-alive comando ausgeführt wird.


    Im define Service Teil, werden nun die Verschienen Services definiert du zuätzlich zu diesem Gerät überwacht werden soll. Hier noch mal das Beispiel für den Festplattenplatz

    Code
    define service{
            use                             generic-service         ; Name of service template to use
            host_name                   RECHNERNAME
            service_description             Disk Space
            check_command                   check_all_disks!20%!10%
            }

    generic service ist der Service wie in config-generic-service.cfg definiert. Hostname, ist der rechnername wie weiter oben im define host{} angegeben. Das wichtigste ist hier der check_command teil

    Code
    check_all_disks!20%!10%


    check_all_disks = der Befehl der Ausgeführt werden soll
    20% = Warngrenze
    10% = critical Grenze
    das ! trennt die Parameter von einander

    Nun stellt sich die Frage: was kann ich denn alles überprüfen? Da lohnt sich ein Blick nach

    Code
    /usr/lib/nagios/plugins


    Hier findest du alles was das Herz begehrt und es ist auch ein guter Ordner um die Funktion eines commandos und die erforderlichen Parameter zu erfahren zu prüfen.
    Beispiel

  • Je nach Größe der Infrastruktur ist es sehr wichtig sich Gedanken über die Nagios Struktur zu machen. Hat man eine Firma mit vielen Standardgeräten, tut man sich da relativ einfach. Ich verwende z.B. gerne hostgruppenbasierte Servicedefinitionen, d.h. alle Windows Server werden fast gleich überwacht, für einen neuen Server muss ich nur ca. 5 Zeilen Code hinzufügen.

    Vorteil von Nagios ist die Vererbung. Hier kann man sich ziemlich viel Aufwand sparen, wenn man eine klare Struktur sich zurechtgelegt hat. Ein weiterer Vorteil von Nagios ist auch die große Auswahl an Plugins, im Internet findest du zu fast jedem Zweck ein vorgefertigtes Plugin, zu Not kannst du auch ein eigenes schreiben.

    Wenn du Switche von gleicher Baureihe / oder Hersteller hast, kannst du diese alle zusammenfassen und dann musst du nur einen Service definieren. Es gibt für Cisco z.B. auch wieder vorgefertigte Plugins.

    • Offizieller Beitrag

    Noch ein Nachtrag: bevor man sich mit nagios intensiv auseinander setzt, sollten die Basic sitzen. Sprich all die tollen Abkürzen mit den 3 und 4 Buchstaben sollten im Kopf einen Sinn ergeben ;). Man sollte sich halbwegs sicher auf der Konsole bewegen können und man darf keine Angst vor englischer Doku haben (welche nicht schlecht ist). Nagiosexchnage (ein tolles Wort für den content-Filter @ work ;) ) ist ne super anlaufstelle für zusätzliche Plugins. Auf den Pi wirds aber schwer da es sehr wenig Plugins für ARM gibt.

  • Also: Echt riesen Dank für die bisherigen Tipps -
    Ich stecke nur zur Zeit etwas fest bis zum define host und service hab ich das geschafft. Die IP Adresse und den Namen hab ich eingepflegt -
    Die Sache ist die: Wie mache ich genau weiter? ich bin ja immer noch in der vim Datei - Wie speichere ich ab und so?
    Dann müsste ich ja meinen ersten Schritt mit Nagios gemeistert haben :)
    P.S. Das war bisher die beste Anleitung die ich dazu gefunden habe :D

    • Offizieller Beitrag

    Wenn dir vi nicht liegt dann nimm doch einen anderen editor, wie nano. Unter vi(m) speichert man mit einer vielzahl an kombinationen die geläufigsten sind

    Code
    ESC drücken
    :wq ENTER)
    
    
    ODER
    
    
    ZZ

    Achso oben komplett vergessen. Wenn du alle Dateien bearbeitet hast musst du den nagios service neustarten

    Code
    service nagios3 restart

    Wenn alles gut läuft solltest du nur ein OK sehen, wenn nicht kriegst du eine elende lange Meldung in der auch steht was in wo stört.

  • Das hat nun super geklappt :) und nur noch eine letzte, aber wahrscheinlich ziemlich dämliche Frage bleibt mir noch: Wie kann ich auf die Oberfläche zugreifen und kontrollieren, wie es jetzt mit dem eingerichteten PC ist?

  • Da kommt mir noch ne kleine Frage auf :'D Folgendes ich hab mich da jetzt mal etwas mit befasst und auch einen anderen PC (um genau zu sein den Active Directory Server) mit eingebunden.. Hat super geklappt etc. Die Sache dabei ist ich hab versucht den check_dhcp laufen zu lassen, aber dann steht da immer, dass man für diesen Rootrechte braucht... Ich bin zwar schon in der Rootconsole, aber ich denke mal, dass das nicht reicht :'D - was genau soll ich da denn noch zusätzlich zu machen?


    EDIT:
    Fehler selbst gelöst - Falls das auch jemand hat einfach im plugin verzeichnis diese Befehle starten lassen
    1. chown root:nagios check_dhcp
    2. chmod u+s check_dhcp

    Einmal editiert, zuletzt von Learco (16. Januar 2015 um 09:13)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!