Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| — | anwenderwiki:nagios:nagios_omd [2013/10/08 10:52] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| 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:// | ||
| + | * 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 < | ||
| + | * sudo su - < | ||
| + | * 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 / | ||
| + | - die Datei etc/ | ||
| + | |||
| + | 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:// | ||
| + | |||
| + | 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/ | ||
| + | |||
| + | < | ||
| + | # Put your host names here | ||
| + | # all_hosts = [ ' | ||
| + | all_hosts = [ | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ] | ||
| + | |||
| + | </ | ||
| + | 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 " | ||
| + | |||
| + | 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 " | ||
| + | |||
| + | < | ||
| + | |||
| + | parents = [ | ||
| + | ( " | ||
| + | ( " | ||
| + | ( " | ||
| + | ] | ||
| + | </ | ||
| + | Um die Netzwerkstruktur abzubilden, kann man (muss aber nicht) die " | ||
| + | Hier werden alle Hosts, die den Tag " | ||
| + | So kann man definieren, welche Hosts an welchen Switchen hängen oder welche VMs auf welchem ESXi/ | ||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | ipaddresses = { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | 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. | ||
| + | < | ||
| + | |||
| + | define_hostgroups = True | ||
| + | host_groups = [ | ||
| + | ( ' | ||
| + | ( ' | ||
| + | ( ' | ||
| + | ] | ||
| + | |||
| + | </ | ||
| + | Alle Hosts, die den " | ||
| + | Ebenso die switche... | ||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | extra_host_conf[' | ||
| + | (" | ||
| + | ] | ||
| + | |||
| + | </ | ||
| + | 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 " | ||
| + | |||
| + | < | ||
| + | |||
| + | extra_nagios_conf += r""" | ||
| + | define command { | ||
| + | command_name | ||
| + | command_line | ||
| + | } | ||
| + | """ | ||
| + | |||
| + | </ | ||
| + | Um den Check auf einem Port durchführten zu können, ist diese extra_nagios_conf notwendig. | ||
| + | < | ||
| + | |||
| + | extra_host_conf[" | ||
| + | ( " | ||
| + | ( " | ||
| + | ( " | ||
| + | ] | ||
| + | |||
| + | </ | ||
| + | Hier wird noch die Nagios-Map etwas aufgehübscht. Statt Fragezeichen kommen nun Bildchen... die Liste lässt sich erweitern.. | ||
| + | < | ||
| + | |||
| + | snmp_communities = [ | ||
| + | ( " | ||
| + | ( " | ||
| + | ] | ||
| + | </ | ||
| + | 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:// | ||
| + | |||