pixel
Select Page

NETWAYS Blog

Icinga als Buch zum dritten

Am kommenden Montag, den 27. Juni erscheint unser dritter Aufguss des Themas Icinga in Buchform. Neben der obligatorischen Aktualisierung, gibt es mit Icinga for Windows, das die bisherigen Abschnitte zur Überwachung von Windows ersetzt, auch weitere komplett neugestaltete Kapitel. Hochverfügbarkeit ist so eines. Es enthält nun einzeln ausgearbeitet Betrachtungen und Lösungsvorschläge zur Erhöhung der Verfügbarkeit aller beteiligten Software-Komponenten.

Die Erweiterung von Icinga Web 2 über Module wurde deutlich ausgebaut und umfasst nun auch Reporting sowie VSpherDB. Auch das Kapitel um den Director wurde ausgebaut und enthält nun einige praktische Beispiele zum Aufbau der Struktur, aber auch praktische Beispiele aus dem Bereich automatisierter Import.

Neben diesen Neuerungen haben sich jedoch auch bei den anderen Themen wie Plugins, Icinga DSL, Graphing, Tuning und Sicherheit Erweiterungen eingeschlichen. Das Buch erscheint als im Hardcover gebundene Ausgabe und in elektronischer Form im dpunkt Verlag und ist absofort bestellbar.

Alle im Buch verwendeten Codebeispiel liegen auf GitHub zum Download bereit.

Auch wenn ein Buch nichts für euch sein sollte, ist aus diesem Buchprojekt vielleicht doch was für euch interessantes entstanden: der Icinga-Installer.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Neues vom Icinga-Installer

Mein letzter Blog Icinga Installation mit Director in 10 Minuten zeigte wie man mit dem Icinga-Installer und etwas Nacharbeit per Hand zu einem arbeitsfähigen Icinga-Server mit Director bekam.

Inzwischen ist eine neue Version 0.5.0 vom Icinga-Installer veröffentlicht, die einem auch komplett die Installation und Konfiguration des Directors inkl. Datenbank-Setup und erstem Kickstart-Lauf abnimmt.

Abschließend noch ein kleiner Tipp, wie unter zur Hilfenahme des Installers, die GUI des Icinga Webs ausschließlich per HTTPS ereichbar gemacht wird. Voraussetzung sind natürlich ein vorhandenes Zertifikat nebst privatem Schlüssel und das CA-zertifikat bzw. ein Chain-File. Diese müssen zuvor an den angegeben Orte im Dateisystem abgelegt werden. Die erforderlichen Einstellungen können nicht interaktiv vorgenommen werden, lassen sich aber in /etc/icinga-installer/custom-hiera.yaml (hier ein Beispiel für ein RedHat basiertes System) festlegen:


---
apache::default_vhost: false
apache::default_ssl_vhost: true
apache::default_ssl_cert: /etc/pki/tls/certs/apache.crt
apache::default_ssl_key: /etc/pki/tls/private/apache.key
apache::default_ssl_ca: /etc/pki/tls/certs/my-ca.crt

Möchte oder muss man eine CA-Chain angeben, lautet die Option apache::default_ssl_chain. Diese ersetzt die Zeile mit default_ssl_ca.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Icinga Installation mit Director in 10 Minuten

Herausforderung angenommen. Helfen wird mir der Icinga-Installer und das Director-Installations-Paket aus unserem Extras-Repository. Das hier folgende Beispiel werde ich auf einem RHEL8 durchführen, ist aber auch für Debian und Ubuntu zu adaptieren, da der Installer als auch der Director als Pakete zur Verfügung stehen.

Neben dem angesprochen Extras-Repository für Icinga-Addons wird ein Puppet-Agent benötigt, der Installer ist Puppet-basiert und benötigt keinen zentralen Puppet-Server.


$ dnf install -y https://yum.puppet.com/puppet6/puppet6-release-el-8.noarch.rpm
$ dnf install -y https://packages.netways.de/extras/epel/8/noarch/netways-extras-release/netways-extras-release-8-1.el8.netways.noarch.rpm
$ dnf install -y icinga-installer

Der Installer kann nun out-of-a-box verwendet werden, er installiert einen Icinga-Server inkl. Icinga Web 2 mit Apache und FPM, der benötigten Datenbanken des gewählten Typs und das Business-Prozess-Modul.


$ icinga-installer -S server-ido-mysql

Soll anstatt MariaDB ein PostgreSQL zum Einsatz kommen, ist als Szenario (Option -S) server-ido-pgsql anzugeben. Jetzt wird die Installation und Konfiguration je nach Internetanbindung einige Zeit in Anspruch nehmen. Zuerst werden automatisch zusätzlich das Icinga- und das NETWAYS-Plugins-Repository eingebunden, auf RHEL-basierten Systemen auch noch EPEL. Aus diesen werden alle benötigten Pakete bezogen.

Der Installer wäre auch in der Lage eigene, lokale oder generell alternative Repositories anzusteuern, spränge aber den Rahmen dieses Posts. Es sei nur verraten, mit der Option -i wechselt man für den Installer in den interaktiven Modus.

Nach Abschluss kann Icinga wie üblich mittels /icingaweb2 auf Port 80 (HTTP) erreicht werden. Der initial eingerichtet Admin-Account ist der Benutzer icingaadmin mit dem Password icinga.

Der Director muss z.Z. noch per Hand installiert und konfiguriert werden. Eine Integration in den Installer ist für die kommende Version geplant. Somit muss auch die Datenbank, hier MySQL, per Hand angelegt werden.


$ dnf install -y icingaweb2-module-director
$ mysql -e "CREATE DATABASE director CHARACTER SET 'utf8';
CREATE USER director@localhost IDENTIFIED BY 'some-password';
GRANT ALL ON director.* TO director@localhost;"

Abschließend ist dann nur noch der schon aktivierte Director in der Weboberfläche wie gehabt zu konfigurieren und für den Director erforderliche Daemon icinga-director zu starten. Fertig.


$ systemctl start icinga-director
$ systemctl enable icinga-director

Plugins sind gesondert zu installieren. Eine kleine Vielzahl kann zusätzlich zu den Standard-Monitoring-Plugins über das bereits eingebunden Plugins-Repo installiert werden. Diese Plugins tragen alle netways als Präfix im Paketnamen.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Ein simpler Installer für Icinga

Aus der anstehenden Überarbeitung des Icinga-Buchs habe ich mit dem Icinga-Installer ein Projekt gestartet, um Icinga in seiner Gesamtheit als Stack bestehend aus Icinga 2, Icinga Web 2, MariaDB oder PostgreSQL und Apache leicht und einfach zu installieren.

Der Installer basiert auf den Icinga-Puppet-Modulen und setzt auf das von The Foreman gepflegte Kafo Ruby-Gem-Projekt, das auch beim Foreman-Installer zum Einsatz kommt. Neben dem Puppet-Agent ist nur noch das Paket icinga-installer aus dem neuen Software-Repository https://packages.netways.de/extras erforderlich. Dort liegen Pakete für RHEL, Ubuntu und Debian bereit. Zur Zeit stehen Szenarien zur Installation eines Servers mit Icinga Web 2, Datenbank und Apache zur Verfügung, sowie zur Installation und Konfiguration eines Workers aka Satellit und als Agent.


$ icinga-installer -S server | worker | agent [-i] [--help]

Mit der Option -i kann der interaktive Modus gestartet werden, dort lassen sich dann Installations-Parameter ändern. Dort ist z.B. auch möglich von MariaDB auf PostgreSQL umzuschalten, das Logging anzupassen oder für den Fall eines dedizierten Datenbankservers die nötigen Anpassungen vorzunehmen. Alle diese Konfigurationen können ebenfalls über Optionen eingestellt werden, –help verrät mehr.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

Monitoring-Plugins Software-Repository von NETWAYS

Ab sofort bieten wir unter https://packages.netways.de/plugins, die von uns meist genutzten Monitoring-Plugins als Pakete für RHEL 8 und 7, Debian Buster und Stretch, sowie Ubuntu Bionic Beaver und Focal Fossa zum Download an.

Zur Zeit überwiegen die RPM Pakete in der Anzahl, wir hoffen dies in den kommenden Wochen auszugleichen. Wir werden auch bemüht sein, das Angebot in den kommenden Wochen sukzessive zu erweitern. Gerne verfolgen wir dies auch innerhalb von Kundenprojekten, um diesen und allen anderen einen Zugang zu regelmäßig aktualisierten Plugin-Paketen anzubieten.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.