Files
cmk-plugins/remote_access

Checkmk Remote Access

Direkter SSH- und RDP-Zugriff auf überwachte Hosts aus der Checkmk-Weboberfläche.

Aktuelle Version: 1.4.4
Autor: Domenik Bildhauer
Zielplattform: Checkmk Community 2.5

Funktionen

Das Plugin erweitert Checkmk um Remote-Access-Funktionen für Linux-/Unix- und Windows-Hosts.

Linux / Unix

Für Linux- und Unix-Systeme wird automatisch ein SSH-Zugriff angeboten.

Beispiel:

ssh://192.168.188.125

Unterstützte Betriebssystemfamilien:

  • Linux
  • Unix
  • FreeBSD
  • OpenBSD
  • Solaris
  • AIX

Windows

Für Windows-Systeme wird ein RDP-Zugriff angeboten.

Beispiel:

rdpadmin://192.168.188.122

rdpadmin:// verwendet einen eigenen Windows Protocol Handler, der anschließend den Microsoft Remote Desktop Client (mstsc.exe) startet.

Checkmk-Integration

Setup → Hosts

In der Checkmk-Hostverwaltung werden abhängig vom Betriebssystem zusätzliche Remote-Access-Aktionen angezeigt:

  • SSH-Icon für Linux-/Unix-Systeme
  • RDP-Icon für Windows-Systeme
  • Open SSH ↗
  • Open RDP ↗

Monitoring

Das Plugin integriert SSH und RDP zusätzlich in die Icons-Spalte der Checkmk Monitoring Views.

Bei einem Linux-Host kann dadurch beispielsweise direkt aus einer Service-Problemansicht eine SSH-Verbindung gestartet werden.

Automatische Betriebssystemerkennung

Die Entscheidung zwischen SSH und RDP erfolgt anhand der von Checkmk ermittelten Host-Labels.

Beispiel Linux:

cmk/os_family: linux
cmk/os_platform: ubuntu
cmk/os_name: Ubuntu
cmk/os_version: 22.04

Beispiel Windows:

cmk/os_family: windows

Als Ziel für die Verbindung verwendet das Plugin bevorzugt host_address.

Beispiel:

Host:
test-ssh.bildhauerd.com

Adresse:
192.168.188.125

OS-Familie:
linux

Daraus entsteht:

ssh://192.168.188.125

Installation

Das fertige MKP befindet sich unter:

packages/remote_access-1.4.4.mkp

Das Paket auf den Checkmk-Server kopieren und als Site-Benutzer installieren:

mkp add /pfad/zu/remote_access-1.4.4.mkp
mkp enable remote_access 1.4.4

Danach den Apache der Checkmk-Site neu starten:

omd restart apache

Installation kontrollieren:

mkp list

Upgrade

Eine vorherige Version zunächst deaktivieren, beispielsweise:

mkp disable remote_access 1.4.3

Danach die neue Version installieren und aktivieren:

mkp add /pfad/zu/remote_access-1.4.4.mkp
mkp enable remote_access 1.4.4
omd restart apache

Anschließend im Browser einen Hard-Reload durchführen.

Source-Code

Der Source-Code befindet sich unter:

src/local/share/check_mk/

Wichtige Dateien:

src/local/share/check_mk/web/plugins/wato/remote_access_setup.py

src/local/share/check_mk/web/plugins/views/remote_access_views.py

src/local/share/check_mk/web/htdocs/images/icons/remote_access_ssh.svg

src/local/share/check_mk/web/htdocs/images/icons/remote_access_rdp.svg

remote_access_setup.py

Integration der Remote-Access-Funktionen in:

Setup → Hosts

remote_access_views.py

Integration der Remote-Access-Icons in die Checkmk Monitoring Views.

Die Registrierung erfolgt über Checkmks Legacy-Web-Plugin-Schnittstelle:

multisite_icons_and_actions

Windows SSH

Damit ein Klick auf ssh:// unter Windows funktioniert, muss das Protokoll einem geeigneten SSH-Client zugeordnet sein.

Getestet wurde die Verbindung mit PuTTY.

Ein direkter Aufruf funktioniert beispielsweise mit:

putty.exe 192.168.188.125

Windows RDP

Für RDP wird das benutzerdefinierte Protokoll

rdpadmin://

verwendet.

Beispiel:

rdpadmin://192.168.188.122

Der auf dem Windows-Client installierte Protocol Handler startet anschließend mstsc.exe.

Dadurch müssen keine .rdp-Dateien heruntergeladen werden.

Fehlerdiagnose

Checkmk Web-Log:

tail -n 50 ~/var/log/web.log

Log vor einem Test leeren:

: > ~/var/log/web.log
omd restart apache

Danach die betreffende Seite neu laden und prüfen:

cat ~/var/log/web.log

Status 1.4.4

Funktion Status
Linux-Erkennung ✅ Getestet
Windows-Erkennung ✅ Getestet
SSH unter Setup → Hosts ✅ Getestet
RDP unter Setup → Hosts ✅ Getestet
SSH aus Monitoring-Ansicht ✅ Getestet
Eigene SSH-/RDP-Icons ✅
Verwendung der Host-IP ✅
RDP aus Monitoring-Problemansicht ⏳ Noch abschließend zu testen

Repository-Struktur

remote_access/
├── README.md
├── CHANGELOG.md
├── packages/
│   └── remote_access-1.4.4.mkp
└── src/
    └── local/
        └── share/
            └── check_mk/
                └── web/
                    ├── plugins/
                    │   ├── wato/
                    │   │   └── remote_access_setup.py
                    │   └── views/
                    │       └── remote_access_views.py
                    └── htdocs/
                        └── images/
                            └── icons/
                                ├── remote_access_ssh.svg
                                └── remote_access_rdp.svg

Lizenz

Dieses Plugin wurde für den Einsatz mit Checkmk Community entwickelt.

Checkmk ist eine Marke der Checkmk GmbH.