Update plugin documentation

This commit is contained in:
dbildhauer committed 2026-08-16 20:05:22 +02:00
1 parent 11ce8a4615
commit f3e3ff0282
3 files changed
+111 -446

No files matched your search

+30 -207
View File
@@ -1,240 +1,78 @@
# Checkmk Remote Access
# 🔗 Checkmk Remote Access
Direkter SSH- und RDP-Zugriff auf überwachte Hosts aus der Checkmk-Weboberfläche.
![Version](https://img.shields.io/badge/Version-1.4.4-blue)
![Checkmk](https://img.shields.io/badge/Checkmk-Community%202.5-15d1a0)
![SSH](https://img.shields.io/badge/Access-SSH-informational)
![RDP](https://img.shields.io/badge/Access-RDP-informational)
**Aktuelle Version:** 1.4.4
**Autor:** Domenik Bildhauer
**Zielplattform:** Checkmk Community 2.5
Direkter **SSH- und RDP-Zugriff** auf überwachte Hosts aus der Checkmk-Weboberfläche.
## Funktionen
**Version:** `1.4.4` · **Autor:** Domenik Bildhauer · **Zielplattform:** Checkmk Community 2.5
Das Plugin erweitert Checkmk um Remote-Access-Funktionen für Linux-/Unix- und Windows-Hosts.
⬅️ [Zurück zur Plugin-Übersicht](../README.md)
### Linux / Unix
## ✨ Funktionen
Für Linux- und Unix-Systeme wird automatisch ein SSH-Zugriff angeboten.
### 🐧 Linux / Unix
Beispiel:
Automatischer SSH-Zugriff, z. B. `ssh://192.168.188.125`. Unterstützt werden Linux, Unix, FreeBSD, OpenBSD, Solaris und AIX.
```text
ssh://192.168.188.125
```
### 🪟 Windows
Unterstützte Betriebssystemfamilien:
RDP über `rdpadmin://192.168.188.122`. Der eigene Windows Protocol Handler startet anschließend `mstsc.exe`.
- Linux
- Unix
- FreeBSD
- OpenBSD
- Solaris
- AIX
## 🔌 Checkmk-Integration
### Windows
In `Setup → Hosts` erscheinen abhängig vom Betriebssystem SSH- bzw. RDP-Aktionen. Zusätzlich werden die Aktionen in die Icons-Spalte der Monitoring Views integriert.
Für Windows-Systeme wird ein RDP-Zugriff angeboten.
## 🔎 Automatische Betriebssystemerkennung
Beispiel:
Die Auswahl von SSH oder RDP erfolgt anhand der Checkmk Host Labels, insbesondere `cmk/os_family`. Als Ziel wird bevorzugt `host_address` verwendet.
```text
rdpadmin://192.168.188.122
```
## 📥 Installation
`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:
```text
cmk/os_family: linux
cmk/os_platform: ubuntu
cmk/os_name: Ubuntu
cmk/os_version: 22.04
```
Beispiel Windows:
```text
cmk/os_family: windows
```
Als Ziel für die Verbindung verwendet das Plugin bevorzugt `host_address`.
Beispiel:
```text
Host:
test-ssh.bildhauerd.com
Adresse:
192.168.188.125
OS-Familie:
linux
```
Daraus entsteht:
```text
ssh://192.168.188.125
```
## Installation
Das fertige MKP befindet sich unter:
```text
packages/remote_access-1.4.4.mkp
```
Das Paket auf den Checkmk-Server kopieren und als Site-Benutzer installieren:
Paket: `packages/remote_access-1.4.4.mkp`
```bash
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:
```bash
omd restart apache
```
Installation kontrollieren:
```bash
mkp list
```
## Upgrade
Eine vorherige Version zunächst deaktivieren, beispielsweise:
## ⬆️ Upgrade
```bash
mkp disable remote_access 1.4.3
```
Danach die neue Version installieren und aktivieren:
```bash
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.
Danach gegebenenfalls einen Hard-Reload im Browser durchführen.
## Source-Code
Der Source-Code befindet sich unter:
```text
src/local/share/check_mk/
```
Wichtige Dateien:
## 🧑‍💻 Source-Code
```text
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
## 🖥️ Windows SSH / RDP
Integration der Remote-Access-Funktionen in:
Für `ssh://` muss unter Windows ein geeigneter SSH-Client zugeordnet sein; getestet wurde PuTTY. Für RDP startet der `rdpadmin://`-Handler `mstsc.exe`, ohne `.rdp`-Dateien herunterzuladen.
```text
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:
```python
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:
```text
putty.exe 192.168.188.125
```
## Windows RDP
Für RDP wird das benutzerdefinierte Protokoll
```text
rdpadmin://
```
verwendet.
Beispiel:
```text
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:
## 🧰 Fehlerdiagnose
```bash
tail -n 50 ~/var/log/web.log
```
Log vor einem Test leeren:
```bash
: > ~/var/log/web.log
omd restart apache
```
Danach die betreffende Seite neu laden und prüfen:
```bash
cat ~/var/log/web.log
```
## Status 1.4.4
## ✅ Status 1.4.4
| Funktion | Status |
|---|---|
@@ -247,7 +85,7 @@ cat ~/var/log/web.log
| Verwendung der Host-IP | ✅ |
| RDP aus Monitoring-Problemansicht | ⏳ Noch abschließend zu testen |
## Repository-Struktur
## 📂 Repository-Struktur
```text
remote_access/
@@ -256,24 +94,9 @@ remote_access/
├── 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
└── local/share/check_mk/
```
## Lizenz
## ⚖️ Lizenz
Dieses Plugin wurde für den Einsatz mit Checkmk Community entwickelt.
Checkmk ist eine Marke der Checkmk GmbH.
Dieses Plugin wurde für den Einsatz mit Checkmk Community entwickelt. Checkmk ist eine Marke der Checkmk GmbH.