Die Open Monitoring Distribution OMD vereint die gängigsten Tools aus dem Nagios- und Icinga-Umfeld zu einem Paket. Vor fünf Jahren als Erleichterung für Developer entstanden, hat die Distribution mittlerweile den Weg in große Monitoring Umgebungen gefunden. OMD ist kein starres Bündel an Monitoring Tools. Es gleicht eher einem Werkzeugkasten für Monitoring-Admins.
Der Vortrag gibt einen Einblick über den Inhalt und Umfang von OMD. Es werden verschiedene Szenarien und Einsatzmöglichkeiten für OMD aufgezeigt, sowie die Möglichkeit OMD für den eigenen Einsatz zu optimieren.
4. Seite
Klassisch
• Nagios != „nur“ Nagios
• Monitoring-Core+ Add-Ons = Gesamtlösung
• Erst die Vielzahl der Add-Ons macht den Monitoring-Core zu einem nutzbaren
Gesamtkonzept
• Nachteile
– langwierige Installation (Sourcen / Pakete / Abhängigkeiten)
– Updates kritisch
– schwer überschaubare Konfigurationsbündel
4
5. Seite
Die Idee
• * Frühjahr 2010, „Nagios-Stammtisch“
• OMD → „Nagios ready-to-run“
• Ein Paket = „Ein-fache“ Installation
• Alle enthaltenen Komponenten
–aufeinander abgestimmt
–vorkonfiguriert (Broker, Pfade, Binaries)
• Keine aufwändigen Einzeltests und Prüfung der Abhängigkeiten
5
10. Seite
Features
• Dedizierter „Site“ Webserver / Apache Instanz
• Einfaches Erzeugen, Kopieren und Löschen von Sites
• Distributionsunabhängige und standardisierte Ordner Struktur
• Qualitätssicherung durch Integrationstests im Bildprozess
10
12. Seite
Benefits
• Parallelbetrieb mehrerer Monitoring-Instanzen auf einem System
• Mandantenfähig
• Downtime für Upgrade im Minuten Bereich
• Nutzung auch nur einzelner Bestandteile (bspw. als gearman worker)
• Betrieb durch Fachabteilung möglich (keine root-Rechte erforderlich)
12
13. Seite
Versionen - Editionen
13
OMD Official
0.10
CRE Raw Edition
Mathias Kettner
1.x.x p y
Labs Edition
ConSol*
2.xx
OMD Official
1.xx
OMD Official
1.xx
15. Seite
Verzeichnis Layout
/omd -> /opt/omd
├── apache
│ ├── demo.conf
├── sites
│ └── demo
│ ├── bin -> version/bin
│ ├── etc
│ ├── include -> version/include
│ ├── lib -> version/lib
│ ├── local
│ ├── share -> version/share
│ ├── var
│ └── version -> ../../versions/1.20
└── versions
└── 1.20
├── bin
├── include
├── lib
├── local
└── share
15
16. Seite
Verzeichnis Layout
/omd -> /opt/omd
├── apache
│ ├── demo.conf
├── sites
│ └── demo
│ ├── bin -> version/bin
│ ├── etc
│ ├── include -> version/include
│ ├── lib -> version/lib
│ ├── local
│ ├── share -> version/share
│ ├── var
│ └── version -> ../../versions/1.20
└── versions
└── 1.20
├── bin
├── include
├── lib
├── local
└── share
16
17. Seite
init-hooks
• Als Pre- / Post-Hook für jeden init Komponente in OMD
• Einsatzszenarien
– AD Sync von Benutzern
– GIT pull & Nagios pre-flight-check
– Export der Nagios-Kontakte nach NagVis
17
18. Seite
Crontab
• Pro Site
• Einträge aus /omd/site/<site-name>/etc/cron.d/
• OMD → kümmert sich um die User Crontab
– omd start|stop|restart|reload
18
19. Seite
tmpfs / ramdisk
• Empfehlung aus den Nagios Best Practise
• Individuell pro Site
• Performance-Gewinn
19
20. Seite
Im Einsatz bei ???
• > 200 OMD-Installationen Europaweit
• Installation und Orchestrierung via Ansible
• „Add-On“ Paket
– Software
– Plugins
– Basiskonfiguration
• Automatisierter Prozess / GUI-Gesteuert
20
21. Seite
Im Einsatz bei it@M (Landeshauptstadt München)
• 3 Umgebungen (Entwicklung, Test und Produktion)
• Bis zu 10 OMD-Installationen pro Umgebung
• Identische Installation unabhängig von der Verwendung (GUI, Reporting, Worker)
• Initiale Installation automatisiert via Puppet und „Add-On“ Paket
• Änderungen im laufenden Betrieb über GIT und init-hooks
21
22. Seite
Distribution Version 32 bit 64 bit
Debian 7 / 8
CentOS / RedHat 6
CentOS / RedHat 7
Fedora 21 / 22
Sles 11 (SP1-3)
Sles 12
Ubuntu 12.04 / 14.04 / 15.04
Labs Repository
22