1. Einleitung
Die Checkmk-Erweiterungspakete (MKPs) können neben funktionalen Erweiterungen auch solche für die Benutzeroberfläche (GUI) verpacken, also Dashboards, Ansichten oder Berichte. Das Besondere daran: Sie können derlei MKPs in den kommerziellen Editionen direkt über die Weboberfläche erstellen, externe Dateien oder Werkzeuge werden nicht benötigt. Alternativ steht dafür natürlich auch die Kommandozeile zur Verfügung, ebenfalls exklusiv in den kommerziellen Editionen.
Die MKPs lassen sich dann intern mit weiteren Nutzern und Checkmk-Installationen teilen und natürlich auch über die Checkmk Exchange. Doch auch ohne Beteiligung der Community oder weiterer Instanzen kann es nützlich sein, komplexe Kreationen zu paketieren.
Wird beispielsweise ein Dashboard mit der Option Make this dashboard available for other users erstellt, steht dieses allen oder einigen Nutzern ebenfalls zur Verfügung. Löschen Nutzer ihre Dashboards dann aber irgendwann wieder, sind sie natürlich auch für alle anderen verloren — sofern sie sich nicht rechtzeitig persönliche Kopien angefertigt haben. Da bietet es sich an, dass mit entsprechenden Rechten ausgestattete Nutzer Dashboards bei Bedarf als Erweiterung zur Verfügung stellen.
Auch eine Versionierung von Dashboards wird so möglich — nützlich für reibungslose Updates.
Das Vorgehen zum Erstellen von MKPs ist für alle Arten von GUI-Erweiterungen identisch, daher beschränken wir uns im Folgenden auf das Beispiel Dashboard.
Voraussetzung: Nutzer benötigen die Berechtigung Manage Extension Packages (MKPs).
2. Weboberfläche
2.1. GUI-MKPs erstellen
Los geht es in der Dashboard-Liste unter Customize > Visualization > Dashboards. Wenn Sie bereits ein eigenes Dashboard angelegt haben, können Sie damit arbeiten. Ansonsten erstellen Sie eine private Kopie eines beliebigen eingebauten Dashboards. In beiden Fällen ist Ihr Ausgangspunkt ein Dashboard im Bereich Customized.
Über Clone this dashboard for packaging as extension package erstellen Sie aus dem Dashboard eine Erweiterung, die anschließend im Bereich Extensions gelistet wird:
Von hier aus gelangen Sie über Go to extension packages zur Verwaltung der Erweiterungspakete. Ihre unpaketierten Erweiterungen, beziehungsweise Dateien, sehen Sie unter Packages > List unpackaged files.
Über Create Package erstellen Sie nun das Paket.
In den Paketeinstellungen fügen Sie unten unter Packaged files die eben erstellte GUI-Erweiterung ein.
Natürlich können dies auch mehrere Dashboards oder sonstige Elemente sein.
Ansonsten müssen Sie vor allem auf die korrekten Versionsinformationen achten.
Zum einen benötigt das Paket selbst eine Versionsnummer.
Diese muss den Richtlinien des Semantic Versioning folgen, also zum Beispiel 1.0.0
.
Zum anderen können Sie die minimal und maximal unterstützten Checkmk-Versionen angeben.
Praktisch ist die Versionierung für Checkmk-Updates und verteiltes Monitoring mit Instanzen mit unterschiedlichen Checkmk-Versionen (mehr dazu im MKP-Artikel).
Nach der Paketierung werden Ihre Pakete auf der Startseite der Erweiterungspakete gelistet — hier im Beispiel in zwei unterschiedlichen Versionen, ein mal aktiviert, ein mal deaktiviert:
Unter All packages (enabled or disabled) haben Sie nun die Möglichkeit, die Pakete als MKP-Dateien herunterzuladen.
2.2. GUI-MKPs installieren
Die Installation von Paketen ist weitgehend selbsterklärend. Zunächst laden Sie das gewünschte Paket unter Setup > Maintenance > Extension packages über Upload package hoch.
Das Paket landet wieder in der Tabelle All packages (enabled or disabled) und kann dort über aktiviert werden.
3. Kommandozeile
3.1. GUI-MKPs erstellen
Alternativ können Sie auch über die Kommandozeile paketieren. Das Vorgehen entspricht exakt dem Paketieren funktionaler Erweiterungen, wie im MKP-Artikel ausführlich beschrieben. Daher hier nur die Kurzversion:
Erstellen des Dashboards.
Wechsel auf die Kommandozeile als Instanzbenutzer.
Nicht paketierte Dateien auflisten:
mkp find
Erstellen der Paketkonfiguration:
mkp template mydashboard
Bearbeiten der Konfiguration in:
~/tmp/check_mk/mydashboard.manifest.temp
Erstellen des Pakets mit:
mkp package tmp/check_mk/mydashboard.manifest.temp
Paket wird gespeichert unter:
/var/check_mk/packages_local/mydashboard-1.0.0.mkp
3.2. GUI-MKPs installieren
Wenn Sie derlei MKPs nun installieren und aktivieren möchten:
Installieren:
mkp add /tmp/mydashboard-1.0.0.mkp
Aktivieren:
mkp enable mydashboard-1.0.0.mkp
Befehlsreferenzen, eine Beschreibung des MKP-Formats und weitere Hinweise finden Sie im MKP-Artikel.
Hinweis für Nutzer der Raw Edition:
Auch hier können Sie GUI-Erweiterungen wie alle anderen MKPs installieren.
Da die kommerziellen Editionen jedoch einige exklusive visuelle Elemente (etwa Dashlets) enthalten, könnten Sie über eine Meldung folgender Art stolpern:
Dashlet type 'state_host' could not be found. Please remove it from your dashboard configuration.
Hier fehlt also ein einzelnes Dashlet, das übrige Dashboard ist aber weiterhin nutzbar.
4. Dateien und Verzeichnisse
Pfad | Bedeutung |
---|---|
|
Ablageort für als Erweiterung geklonte Ansichten. |
|
Ablageort für als Erweiterung geklonte Berichte. |
|
Ablageort für als Erweiterung geklonte Dashboards. |
|
Konfigurationsdatei zum Erstellen des Pakets. |
|
Ablageort für installierte MKPs. |
|
Ablageort für aktivierte MKPs. |