kso512.checkmk_server

checkmk_server

Release GitHub issues GitHub repo size

made-with-Markdown GitHub

Ein Ansible Role zur Installation der CheckMK RAW Edition und zur Einrichtung einer initialen Site.

Dies ist ein kompletter Neuanfang der install-check_mk-server Rolle, die ich jahrelang erstellt und gepflegt habe, verursacht durch Änderungen in CI/CD und Namenskonventionen in Ansible Galaxy & CheckMK.

Alle Aufgaben sind mit checkmk-server gekennzeichnet.

Ich empfehle NICHT die Standardkonfiguration für ungeschützte Verbindungen direkt zum Internet, da die Serverkonfiguration unverschlüsselten HTTP-Zugriff umfasst.

Die folgenden Distributionen wurden automatisch getestet:

Zur Erklärung steht „OMD“ unten für die Open Monitoring Distribution, die ein Vorgänger der CheckMK RAW Edition ist. Diese "omd" Befehle wurden für die Abwärtskompatibilität beibehalten.

Aktuelle Versionsmatrix

CheckMK Raw Edition Version Rollen Version/Tag
2.3.0p13 1.0.88
2.3.0p12 1.0.87
2.3.0p11 1.0.86
2.3.0p10 1.0.85
2.2.0p9 1.0.84

Anforderungen

Wenn der Server eine Firewall aktiviert hat, muss diese möglicherweise geändert werden, um eingehende Pakete an TCP-Port 80 für den Zugriff auf das Webportal und/oder TCP-Port 514 sowie UDP-Ports 162 & 514 für den Eingangsbereich (Syslog) zuzulassen.

Wie bei jeder modernen Linux-Installation kann SELinux eine Rolle spielen.

Zur Erfüllung dieser Anforderungen empfehle ich die Verwendung einer anderen Ansible-Rolle.

Pflege (Updates und veraltete Versionen)

Obwohl diese Rolle die neueste stabile Version von CheckMK installiert, wendet sie keine Update-Befehle auf bestehende Installationen an. Dies dient dazu, Produktionssites nicht zu stören und eine Überwachung der Upgrades zu ermöglichen.

Die folgenden Schritte können befolgt werden, um ein Upgrade auf einer Site namens "test" nach dem Ausführen eines neueren Updates dieser Rolle durchzuführen; ändern Sie "test" in den Namen der Site, die Sie aktualisieren möchten:

  1. Werden Sie zum Benutzer "test": sudo omd su test
  2. Stoppen Sie die Site "test": omd stop
  3. Aktualisieren Sie die Site "test"; um diesen Schritt abzuschließen, müssen Sie auch mit der Textschnittstelle interagieren: omd update
  4. Starten Sie die Site "test": omd start

Wenn Sie viele Sites aktualisieren müssen, kann die folgende Einzeiler helfen. Ändern Sie einfach die site Variable nach Bedarf:

site=test ; sudo omd stop $site ; sudo omd update $site ; sudo omd start $site

Für die Mutigen erlaubt der omd Befehl vollständig automatisierte Upgrades, die dann über Ansible wie folgt ausgeführt werden können (für eine bestimmte Gruppe hq-cmk in der testing.ini Inventardatei, eine Site namens test und mit einem Upgrade auf die Version 2.2.0p12 in diesem Beispiel):

ansible hq-cmk -b -i testing.ini -m shell -a "site=test ; omd stop $site ; omd -f -V 2.2.0p12.cre update --conflict=install $site ; omd start $site" -vvvv

Ältere Versionen bleiben in den Systemen von dieser Rolle zurück, und es liegt am Administrator, unbenötigte Versionen zu entfernen. Verwenden Sie diesen Befehl, um alle unbenötigten CheckMK-Versionen zu entfernen: sudo omd cleanup

Rollenvariablen

Einige dieser Variablen scheinen möglicherweise redundant zu sein, sind jedoch angegeben, damit zukünftige Benutzer sie nach Bedarf mit lokalen Variablen überschreiben können.

Tabelle der Variablen, die für alle Distributionen gelten (mit Standardeinstellungen)

Variable Beschreibung Standard
checkmk_server_adminpw Passwort für den Benutzer cmkadmin, der für die Testseite erstellt wurde; Wenn es leer gelassen wird, kann das Passwort für diesen Benutzer in der Datei checkmk_server_log_dest gefunden werden, die auf der Remote-Instanz erstellt wurde undefiniert
checkmk_server_base_url Basis-URL, auf der andere URLs basieren https://download.checkmk.com/checkmk
checkmk_server_cache_valid_time Aktualisieren Sie den apt-Cache, wenn er älter als diese Zeit in Sekunden ist. 3600
checkmk_server_download Dateiname des Quellinstallationspakets check-mk-raw-{{ checkmk_server_version }}_0.{{ ansible_distribution_release }}_amd64.deb
checkmk_server_download_dest Vollständiger Endpfad des Quellinstallationspakets "{{ checkmk_server_download_dest_folder }}/{{ checkmk_server_download }}"
checkmk_server_download_dest_folder Zielordner des Quellinstallationspakets /opt
checkmk_server_download_mode Dateimodell Einstellungen des Quellinstallationspakets 0755
checkmk_server_download_url URL des Quellinstallationspakets zum Herunterladen "{{ checkmk_server_base_url }}/{{ checkmk_server_version }}/{{ checkmk_server_source }}"
checkmk_server_htpasswd_group Name der Gruppe, die die htpasswd-Datei besitzen soll, wie an chown übergeben werden würde "{{ checkmk_server_site }}"
checkmk_server_htpasswd_mode Dateimodell Einstellungen der htpasswd-Datei 0660
checkmk_server_htpasswd_name Name des Benutzers, dessen Passwort festgelegt wird, wenn checkmk_server_adminpw gesetzt ist cmkadmin
checkmk_server_htpasswd_owner Name des Benutzers, der die htpasswd-Datei besitzen soll, wie an chown übergeben werden würde "{{ checkmk_server_site }}"
checkmk_server_htpasswd_path Vollständiger Endpfad der htpasswd-Datei /opt/omd/sites/{{ checkmk_server_site }}/etc/htpasswd
checkmk_server_install_package Vollständiger Endpfad des Installationspakets "{{ checkmk_server_download_dest }}"
checkmk_server_key_url URL des öffentlichen Schlüssels für CheckMK "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg"
checkmk_server_log_dest Vollständiger Endpfad des OMD-Erstellungsprotokolls, das das cmkadmin-Passwort erfasst, wenn checkmk_server_adminpw nicht gesetzt ist /opt/omd/sites/{{ checkmk_server_site }}/omd-create.log
checkmk_server_log_group Name der Gruppe, die das OMD-Erstellungsprotokoll besitzen soll, wie an chown übergeben werden würde "{{ checkmk_server_site }}"
checkmk_server_log_mode Dateimodell Einstellungen des OMD-Erstellungsprotokolls 0600
checkmk_server_log_owner Name des Benutzers, der das OMD-Erstellungsprotokoll besitzen soll, wie an chown übergeben werden würde "{{ checkmk_server_site }}"
checkmk_server_man_mode Dateimodell Einstellungen des erforderlichen man-Ordners 0755
checkmk_server_man_path Vollständiger Endpfad des erforderlichen man-Ordners /usr/share/man/man8
checkmk_server_omd_create_command Befehl zum Erstellen einer neuen OMD-Site omd create {{ checkmk_server_site }}
checkmk_server_omd_create_creates Datei, die durch das Erstellen einer neuen OMD-Site erstellt wurde /opt/omd/sites/{{ checkmk_server_site }}
checkmk_server_omd_setup_command Befehl zum Einrichten von OMD omd setup
checkmk_server_omd_setup_creates Ordner, der durch das Einrichten von OMD erstellt wurde /opt/omd
checkmk_server_omd_start_command Befehl zum Starten von OMD omd start {{ checkmk_server_site }}
checkmk_server_omd_start_creates Datei, die durch den Start von OMD erstellt wurde /opt/omd/sites/{{ checkmk_server_site }}/tmp/apache/run/apache.pid
checkmk_server_prerequisites Pakete, die vor der Installation der CheckMK RAW Edition benötigt werden python3-apt python3-passlib
checkmk_server_site Name der OMD "Site", die erstellt werden soll; dies wird oft als my-site in den Dokumentationsbeispielen von CheckMK angezeigt test
checkmk_server_version Version der CheckMK RAW Edition, die installiert werden soll 2.3.0p13
checkmk_server_web_service Name des Webdienstes, der gestartet und aktiviert werden soll apache2

Tabellen der Variablen, die für mindestens eine Distribution einzigartig sind (mit Standardeinstellungen)

Um die Unterstützung mehrerer Distributionen zu ermöglichen, definiert die Rolle distributionsspezifische Variablen mit den Mechanismen include_vars und with_first_found.

checkmk_server_download_checksum

Beschreibung: SHA256-Prüfziffer des Quellinstallationspakets

Distribution Standard
Debian 10 sha256:ee083910c336c841a4851964543fd44c7e9ac60df6a9223c2df0ca3c49c9d3e9
Debian 11 sha256:684bf333ed397e805f455e07296bcbef58fd6cfb1360f606b0b02bcfd14e56dc
Debian 12 sha256:d4d102ce0917c86b8181d32dfd5718ea752cfeac0eea01e4dbcbe04cd7b3592b
Ubuntu 20.04 sha256:beca6209ff3c565dd1f9e1e4ad874b0c657efa303d6edf6efb1af286f0fc2ae0
Ubuntu 22.04 sha256:c86c03997429005aff81ac9fbc0a03b9ab4fdfb8494b75c59f8f119c1680c959
Ubuntu 24.04 sha256:e5f030738cd970ea78465f36517a53550865ea8ef3b37d61841cee5df58407e6

Abhängigkeiten

Derzeit sind keine definiert.

Beispiel-Playbook

Beispiel, das ein bestimmtes Passwort für den Benutzer cmkadmin durchsetzt:

- hosts: monitoring-servers
  roles:
     - { role: kso512.checkmk_server, checkmk_server_adminpw: "wintermute" }

Lizenz

GNU General Public License Version 2

Mitwirken

Wenn Sie Vorschläge oder Ideen haben, können Sie gerne ein Issue eröffnen oder das Repository forken und eine Merge-Anfrage stellen.

Autoreninformation

@kso512 mit Beiträgen zum ursprünglichen Code "install-check_mk-server" von diesen hilfreichen Github-Nutzern:

Über das Projekt

A role to install CheckMK RAW edition and set up an initial site.

Installieren
ansible-galaxy install kso512.checkmk_server
Lizenz
gpl-2.0
Downloads
1.1k
Besitzer