# Checkmk Plugins Sammlung eigener Plugins und Erweiterungen für Checkmk. Dieses Repository enthält Checkmk-Erweiterungen, die für meine eigene Monitoring-Umgebung entwickelt und getestet werden. Die einzelnen Plugins werden jeweils mit Source-Code, Dokumentation und einem installierbaren MKP-Paket bereitgestellt. ## Umgebung Die Plugins werden primär entwickelt und getestet mit: - Checkmk Community Edition - Checkmk 2.5 - Linux-Hosts - Windows-Hosts - Checkmk Agent 2.5 > Die Kompatibilität mit anderen Checkmk-Versionen oder der Enterprise Edition ist nicht grundsätzlich ausgeschlossen, wird aber nicht zwingend getestet. --- ## Verfügbare Plugins ### remote_access Direkter SSH- und RDP-Zugriff auf überwachte Hosts aus der Checkmk-Weboberfläche. **Aktuelle Version:** `1.4.4` #### Funktionen - SSH-Zugriff auf Linux-/Unix-Hosts - RDP-Zugriff auf Windows-Hosts - Automatische Betriebssystemerkennung über Checkmk Host Labels - Verwendung der von Checkmk ermittelten Host-IP - Integration in `Setup → Hosts` - Integration in Checkmk Monitoring Views - Eigene SSH- und RDP-Icons - Direkter SSH-Aufruf über `ssh://` - Direkter RDP-Aufruf über `rdpadmin://` Weitere Informationen: ```text remote_access/README.md ``` Fertiges MKP: ```text remote_access/packages/remote_access-1.4.4.mkp ``` --- ## Repository-Struktur ```text cmk-plugins/ ├── README.md │ ├── remote_access/ │ ├── README.md │ ├── CHANGELOG.md │ ├── packages/ │ │ └── remote_access-1.4.4.mkp │ └── src/ │ └── local/ │ └── share/ │ └── check_mk/ │ └── weitere_plugins/ ``` Jedes Plugin erhält einen eigenen Ordner. Dabei wird grundsätzlich folgende Struktur verwendet: ```text plugin_name/ ├── README.md ├── CHANGELOG.md ├── packages/ │ └── plugin_name-VERSION.mkp └── src/ └── local/ └── share/ └── check_mk/ ``` ## Installation von MKP-Paketen Das gewünschte `.mkp`-Paket auf den Checkmk-Server übertragen. Anschließend als Checkmk-Site-Benutzer installieren: ```bash mkp add /pfad/zum/plugin.mkp ``` Plugin aktivieren: ```bash mkp enable PLUGIN_NAME VERSION ``` Beispiel für `remote_access`: ```bash mkp add remote_access-1.4.4.mkp mkp enable remote_access 1.4.4 ``` Anschließend gegebenenfalls den Apache der Checkmk-Site neu starten: ```bash omd restart apache ``` Installierte MKP-Pakete anzeigen: ```bash mkp list ``` ## Releases und Versionierung Die Plugins werden unabhängig voneinander versioniert. Git-Tags verwenden deshalb folgendes Schema: ```text PLUGIN_NAME-vVERSION ``` Beispiele: ```text remote_access-v1.4.4 os_info-v1.0.0 ``` Dadurch können mehrere Plugins mit unterschiedlichen Versionsständen innerhalb desselben Git-Repositories verwaltet werden. Fertige MKP-Pakete werden zusätzlich als Download beim jeweiligen Gitea Release bereitgestellt. ## Entwicklung Der eigentliche Checkmk-Source-Code eines Plugins befindet sich unter: ```text PLUGIN_NAME/src/ ``` Die Verzeichnisstruktur unterhalb von `src/` entspricht dabei möglichst der späteren Struktur innerhalb der Checkmk-Site. Beispiel: ```text src/local/share/check_mk/web/plugins/ ``` Dadurch lässt sich direkt erkennen, an welcher Stelle die jeweilige Datei auf dem Checkmk-Server installiert wird. ## Hinweise Die Plugins wurden primär für meine eigene Checkmk-Umgebung entwickelt. Vor dem Einsatz in produktiven Umgebungen sollte die jeweilige Erweiterung in einer Testumgebung geprüft werden. ## Autor **Domenik Bildhauer** ## Lizenz Sofern im jeweiligen Plugin keine abweichende Lizenz angegeben ist, handelt es sich um eigene Erweiterungen für Checkmk. Checkmk ist eine Marke der Checkmk GmbH.