Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:nagios:nagios_omd]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

anwenderwiki:nagios:nagios_omd [2013/10/08 08:52] (aktuell)
Zeile 1: Zeile 1:
 +{{tag> }}
 +
 +====== Open Monitoring Distribution (omd) ======
 +
 +Matthias Ketterer hat ein Debian-Paket geschnürt, welches einem die komplette Einrichtung einer Nagios / check_mk Umgebung abnimmt. Konfiguriert werden müssen später nur noch die zu überwachenden Maschinen.
 +
 +Wer seine Schullösung virtualisiert installiert hat, kann sehr einfach sein Netzwerk um einen solchen Wächter erweitern.
 +
 +===== Grundinstallation =====
 +
 +  * virtuelle Maschine erstellen
 +  * Linux-Server installieren (z.B. Ubuntu 12.04 Server) ​
 +    * 1GB RAM reicht dicke und je nach Logfile-Archiv -Erfahrungswerte fehlen mir noch- muss man die Plattenkapazität bemessen. In meinem Fall sind das 20 GB
 +  * omd herunterladen von http://​omdistro.org/​download und die Installationsanweisungen befolgen
 +    * kurz: vorher mit dpkg die Abhängigkeiten ermitteln, ​
 +    * diese Abhängigkeiten installieren und 
 +    * anschließend das omd-xxx.deb Paket installieren.
 +  * Nagios-Instanz auf dem eben erstellten Server erstellen
 +    * omd create <​instanzname> ​ (es wird ein User angelegt, der so heißt wie die Instanz und unter diesem User ALLE Konfigurationen für Nagios und check_mk
 +    * sudo su - <​instanzname>​
 +    * omd start
 +
 +===== Konfiguration =====
 +Es muss eigentlich nur 
 +  - auf jedem zu überwachenden Rechner
 +    * xinetd und
 +    * check-mk-agent installiert werden und falls Firewalls im Spiel sind, der Port 6556 geöffnet werden. Auf dem linuxmuster.net 6 Server ist dazu die Datei /​etc/​linuxmuster/​allowed_ports zu bearbeiten und linuxmuster_base zu restarten.
 +  - die Datei etc/​check_mk/​main.mk nach eigenen Wünschen bearbeitet werden.
 +
 +Nach jeder Konfigurationsänderung ruft man 
 +  cmk -I && cmk -R 
 +auf und wartet, bis check_mk die Services gefunden hat und die Nagios-Konfig erzeugt hat.
 +
 +Danach kann man auf http://​omdserveradresse/<​instanzname>​ die Systeme überwachen.
 +
 +durch 
 +  omd config
 +lassen sich startseite und andere Dinge noch an persönliche Bedürfnisse anpassen.
 +
 +
 +==== Inhalt der main.mk ====
 +
 +
 +
 +Hier ist meine momentane (noch nicht fertige) etc/​check_mk/​main.mk
 +
 +<​code>​
 +# Put your host names here
 +# all_hosts = [ '​localhost'​ ]
 +all_hosts = [
 +                '​ipfire.morz.de|firewall|esxi|ping',​
 +                '​esxi.morz.de|server|swmensa1|ping',​
 +                '​server.morz.de|esxi|swmensa1|server',​
 +                '​nadja.morz.de|server|esxi|swmensa1|mrpe_alive',​
 +                '​lucia.morz.de|server|esxi|swmensa1',​
 +                '​mensa1netgear|switch|snmp',​
 +                '​switch-morz|switch|snmp',​
 +                '​switch-hauptschule|switch|swmensa1|snmp',​
 +                '​switch-r331|switch|swmorz|snmp',​
 +                '​switch-r115|switch|swmorz|snmp',​
 +                '​mensa2dlink|switch|swmensa1|snmp',​
 +]
 +
 +</​code>​
 +Hier kommen alle Hosts rein. Theoretisch reicht der DNS-Name oder ein anderer Name (dann muss man weiter unten noch IP-Adressen zuordnen).
 +Abgetrennt durch Pipes (|) werden "​Tags"​ angehängt. Die Tags "​ping"​ und "​snmp"​ sind schon vorgefertigt und haben die Funktion dem check_mk mitzuteilen,​ dass der Host nur gepingt werden soll, gut für "​dumme"​ Geräte, ("​ping"​) oder per snmp abgefragt werden soll, gut für Switche oder Router ("​snmp"​). SNMP muss bei manchen Switches erst noch aktiviert werden.
 +
 +Die anderen Tags lassen sich frei wählen und nach und nach erweitern, wenn man ganze Gruppen aufs Mal im Nagios konfigurieren möchte.
 +Beispielsweise "​mrpe_alive"​ ist ein Check-Name, der ganz unten noch definiert wird...
 +
 +<​code>​
 +
 +parents = [
 + ( "​mensa1netgear",​ ["​swmensa1"​],​ ALL_HOSTS ),
 + ( "​switch-morz",​ ["​swmorz"​],​ ALL_HOSTS ),
 + ( "​esxi.morz.de",​ ["​esxi"​],​ ALL_HOSTS ),
 +]
 +</​code>​
 +Um die Netzwerkstruktur abzubilden, kann man (muss aber nicht) die "​parents"​ definieren.
 +Hier werden alle Hosts, die den Tag "​swmensa1"​ haben, so konfiguriert,​ dass mensa1netgear ihr parent ist.
 +So kann man definieren, welche Hosts an welchen Switchen hängen oder welche VMs auf welchem ESXi/​Proxmox/​KVM-Host laufen.
 +
 +<​code>​
 +
 +
 +ipaddresses = {
 +  "​switch-mensa1netgear"​ : "​10.20.30.1",​
 +  "​switch-mensa2dlink"​ : "​10.20.30.2",​
 +  "​switch-morz"​ : "​10.20.30.10",​
 +  "​switch-hauptschule"​ : "​10.20.30.20",​
 +  "​switch-r331"​ : "​10.20.30.131",​
 +  "​switch-r115"​ : "​10.20.30.115",​
 +}
 +</​code>​
 +Manchmal möchte man andere Namen verwenden, als im DNS eingetragen sind. Dann kann man (oder muss...) hier die Zuordnung der Namen zu den IP-Adressen tätigen, unter der die Verbindung hergestellt wird. 
 +<​code>​
 +
 +define_hostgroups = True
 +host_groups = [
 + ( '​Server',​ [ '​server'​ ], ALL_HOSTS ), # all hosts with tag server
 + ( '​Switche',​ [ '​switch'​ ], ALL_HOSTS ), # all hosts with tag switch
 + ( '​Firewalls',​ [ '​firewall'​ ], ALL_HOSTS ), # all hosts with tag switch
 +]
 +
 +</​code>​
 +Alle Hosts, die den "​Tag"​ "​server"​ haben, landen in der Hostgruppe "​Server"​. Das macht die Überwachung übersichtlicher.
 +Ebenso die switche...
 +
 +<​code>​
 +
 +
 +extra_host_conf['​check_command'​] = [
 +        ("​check_host_tcp!6556",​ ["​mrpe_alive"​],​ ALL_HOSTS ),
 +]
 +
 +</​code>​
 +Ich habe einen Host, der nicht auf Ping reagiert. Aber da dort check-mk-agent installiert ist, der auf Port 6556 hört, ist hier ein Check definiert, der "​mrpe_alive"​ heißt. Diesem Host habe ich den Tag "​mrpe_alive"​ hinzugefügt,​ so dass dieser Host mit diesem Check geprüft wird.
 +
 +<​code>​
 +
 +extra_nagios_conf += r"""​
 +        define command {
 +                command_name ​   check_host_tcp
 +                command_line ​   $USER1$/​check_tcp -H $HOSTADDRESS$ -p $ARG1$
 +        }
 +"""​
 +
 +</​code>​
 +Um den Check auf einem Port durchführten zu können, ist diese extra_nagios_conf notwendig.
 +<​code>​
 +
 +extra_host_conf["​icon_image"​] = [
 +  ( "​linux.png",​ ["​server"​],​ ALL_HOSTS ),
 +  ( "​switch.png",​ ["​switch"​],​ ALL_HOSTS ),
 +  ( "​special.png",​ [ "​host123",​ "​host345"​ ] )
 +]
 +
 +</​code>​
 +Hier wird noch die Nagios-Map etwas aufgehübscht. Statt Fragezeichen kommen nun Bildchen... die Liste lässt sich erweitern..
 +<​code>​
 +
 +snmp_communities = [
 + ( "​public",​ ["​10.20.30.1"​],​ ALL_HOSTS ),
 + ( "​public",​ ["​10.20.30.2"​],​ ALL_HOSTS ),
 +]
 +</​code>​
 +Man kann hier noch für verschiedene Hosts die snmp-community setzen. public ist aber der Standard, so dass man das weglassen kann, falls die Switche sich auch an diesen Standard halten... (meine Netgear und DLink tun das...)
 +Diese Zeilen sind dann unnötig.
 +
 +
 +viele weitere Möglichkeiten lassen sich aus http://​mathias-kettner.de/​check_mk.html extrahieren. Die Englische Doku ist dabei vieeeeel weiter und besser als die deutsche... ​
 +
  
 [[anwenderwiki:nagios:nagios_omd]] anwenderwiki/nagios/nagios_omd.txt · Zuletzt geändert: 2013/10/08 08:52 (Externe Bearbeitung)