Update plugin documentation
This commit is contained in:
1 parent
11ce8a4615
commit
f3e3ff0282
3 files changed
+111
-446
No files matched your search
+30
-207
@@ -1,240 +1,78 @@
|
||||
# Checkmk 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
|
||||
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.
|
||||
Reference in new issue
Block a user