Monitortypen
DumbMonit nennt alles, was es überwacht, einen Monitor (die API sagt target), auch wenn er eine
Webseite oder ein DNS-Name ist. Jeder Typ ist ein Collector auf dem Server; der Server beschreibt
der Oberfläche jeden Typ (GET /api/collectors), sodass das Formular immer dem entspricht, was
diese Version überwachen kann.
| Typ | kind | Zugangsdaten | Typische Verwendung |
|---|---|---|---|
| SNMP-Gerät | snmp | Community oder SNMP v3 | Switch, Router, NAS, USV, Drucker |
| Proxmox VE | proxmox | API-Token oder Benutzername/Passwort | Hypervisor, Cluster |
| Proxmox Backup Server | pbs | API-Token oder Benutzername/Passwort | Backup-Server |
| Proxmox Datacenter Manager | pdm | API-Token | Konsole, die mehrere PVE-Cluster und PBS-Instanzen bündelt |
| Proxmox Mail Gateway | pmg | Benutzername/Passwort | Mail-Gateway, das Spam und Viren filtert |
| VMware vSphere | vsphere | Benutzername/Passwort | vCenter oder eigenständiger ESXi: Hosts, VMs, Datastores, Alarme |
| XCP-ng / XenServer | xcpng | Benutzername/Passwort (schreibgeschützte XAPI-Rolle) | Pool über XAPI: Hosts, VMs, Storage Repositories, Hochverfügbarkeit |
| Nutanix AHV | nutanix | Benutzername/Passwort (Prism Viewer) | Prism-Central-v4-API: Cluster, Hosts, AHV-VMs, Storage-Container, Alarme |
| Synology DSM | synology | Benutzername/Passwort | DiskStation, RackStation |
| OPNsense | opnsense | API-Schlüssel und Secret | Firewall, Router, Multi-WAN-Edge |
| pfSense | pfsense | REST-API-Schlüssel (Nur-Lese-Benutzer) | Firewall: ausgefallene oder verlustbehaftete Gateways, Schnittstellen ohne Link, gestoppte Dienste |
| FortiGate | fortigate | REST-API-Token (Nur-Lese-Profil, Trusted Host) | Firewall: IPsec-Tunnel, Links, HA-Sync, Conserve Mode, FortiGuard-Lizenzen |
| Sophos Firewall | sophos | Benutzername/Passwort (Nur-Lese-Profil) | Firewall: nur Schnittstellen-Links (die XML-API zeigt keinen Tunnel-, HA- oder Lizenzstatus) |
| OpenVPN-Server | openvpn | keine, oder Management-Passwort | OpenVPN-Server über seine Management-Schnittstelle: Version, Zustand, verbundene Clients |
| UniFi Network | unifi | API-Schlüssel oder Benutzername/Passwort | UniFi-Konsole oder selbst gehosteter Server: Geräte, WAN, Clients |
| Home Assistant | homeassistant | Langlebiges Zugriffstoken | Smart Home: nicht verfügbare Entitäten, schwache Batterien, Updates, Reparaturen |
| TrueNAS | truenas | API-Schlüssel | ZFS-Speicherserver (SCALE, Community Edition) |
| Unraid | unraid | API-Schlüssel (Rolle Viewer) | NAS: Array, Platten, Paritätsprüfungen, Cache-Pools, Container, VMs |
| MikroTik RouterOS | mikrotik | Benutzername/Passwort (Nur-Lese-Gruppe) | Router oder Switch: veraltete Versionen und Firmware, CPU, Speicher, Sensoren, Schnittstellenfehler |
| USV mit NUT | nut | keine, oder Benutzername/Passwort | USV an einem NAS, Raspberry Pi oder Server mit Network UPS Tools |
| Serverhardware (Redfish) | redfish | Benutzername/Passwort | Lüfter, Temperaturen, Netzteile und Laufwerke eines Servers, über dessen BMC gelesen |
| VictoriaMetrics | victoriametrics | keine, Benutzername/Passwort oder Token | Zeitreihendatenbank: Ingestion, abgelehnte Messwerte, Plattenspielraum |
| VictoriaLogs | victorialogs | keine, Benutzername/Passwort oder Token | Logdatenbank: Ingestion, abgelehnte Zeilen, Plattenspielraum |
| Grafana Loki | loki | keine, Benutzername/Passwort oder Token | Logserver: Bereitschaft, abgelehnte Zeilen, Flush-Fehler |
| Graylog | graylog | Zugriffstoken oder Benutzername/Passwort | Logserver und sein OpenSearch-Cluster: Journal, Puffer, Durchsatz, Inputs |
| Pi-hole | pihole | App-Passwort, oder keines | DNS-Werbeblocker: Blockierungsstatus, blockierter Anteil, Alter der Blocklisten, Updates |
| AdGuard Home | adguard | Benutzername/Passwort | DNS-Filter: Schutz, Blockierungen, Filterlisten, Upstream-Server, Updates |
| MDaemon Email Server | mdaemon | keine, oder E-Mail-Adresse/Passwort | Mailserver: SMTP, IMAP, POP3, Webmail, Version |
| SecurityGateway for Email Servers | securitygateway | keine, oder API-Schlüssel | Mail-Gateway: Dienste, Zustellwarteschlange und weitere Zähler |
| Redis / Valkey | redis | ACL-Benutzer, nur Passwort, oder keine | In-Memory-Speicher: Speicher gegenüber maxmemory, Replikation, Persistenz, Schlüssel |
| MongoDB | mongodb | Benutzername/Passwort (clusterMonitor) oder keine | Dokumentendatenbank: Replica Set, Verzug, Verbindungen, WiredTiger-Cache |
| RabbitMQ | rabbitmq | Benutzername/Passwort (Tag monitoring) | Message Broker: Ressourcenalarme, Knoten, Partitionen, Queues ohne Consumer |
| CrowdSec | crowdsec | keine, oder Bouncer-API-Schlüssel | Sicherheits-Engine: Entscheidungen, Alarme, Bouncer, die nicht mehr abrufen, Log-Lesen |
| Traefik | traefik | keine, oder basicAuth-Benutzer | Reverse-Proxy: deaktivierte Router, ausgefallene Backend-Server, nicht erhaltene oder nicht erneuerte Zertifikate, 5xx-Anteil |
| Caddy | caddy | Nur-Lese-Ansichtsbenutzer, oder keiner | Webserver und Reverse-Proxy: Upstream-Zustand, fehlgeschlagene Reloads, Handler-Fehler, 5xx-Anteil |
| Nginx | nginx | keine, oder Basic Auth | Webserver: aktive/wartende Verbindungen, Accept-/Handled-/Anfrageraten, Upstream-Zustand von NGINX Plus |
| Apache httpd | apache | keine, oder Basic Auth | Webserver: beschäftigte/freie Worker, Scoreboard nach Zustand, Anfrage- und Byte-Raten |
| Nginx Proxy Manager | npm | E-Mail und Passwort des Benutzers (nur Ansicht) | Proxy-Manager: von nginx abgelehnte Hosts, deaktivierte Hosts, ausgelieferte Zertifikate |
| Domain-Ablauf | domain | keine | Registrierte Domain über RDAP: Tage bis zum Ablauf, Hold, Redemption-Phase, Registrar |
| Reputation des Mailservers | mail_blacklist | keine, oder Spamhaus-DQS-Schlüssel | Maildomain oder Serveradresse gegen die DNS-Blocklisten (Spamhaus, Barracuda, SpamCop…), Reverse-DNS, SPF, DMARC, Links zur Entfernung |
| Blockliste für IP-Bereiche | ip_blacklist | keine, oder Spamhaus-DQS-Schlüssel | Jede Adresse eines öffentlichen IPv4-Bereichs bis /24 gegen die DNS-Blocklisten, mit Links zur Entfernung |
| Kubernetes / k3s | kubernetes | Service-Account-Token (Nur-Lese-ClusterRole) | Cluster: nicht bereite Knoten, Pods in Crash-Schleife oder Pending, Workloads mit fehlenden Replikas, festhängende Volume Claims |
| Active Directory | activedirectory | Benutzername/Passwort (einfacher Domänenbenutzer) | Windows-Domäne über LDAPS: Domänencontroller und FSMO-Rollen, Mitglieder privilegierter Gruppen, Kennwortrichtlinie, Sicherheitsbefunde |
| Veeam Backup & Replication | veeam | Benutzername/Passwort (Veeam Backup Viewer) | Backup-Server: fehlgeschlagene Jobs, fehlgeschlagene Sitzungen, sich füllende Repositories, Lizenz |
| Tailscale | tailscale | OAuth-Client (devices:core:read) oder API-Zugriffstoken | Tailnet: Server offline, ablaufende Node-Schlüssel, Geräte, die auf Freigabe warten |
| Nextcloud | nextcloud | Monitoring-Token (NC-Token) | Dateisynchronisation: Wartungsmodus, ausstehendes Upgrade, Updates, aktive Benutzer, OPcache |
| Immich | immich | API-Schlüssel | Fotobibliothek: Job-Warteschlangen, Updates, Platte, Fotozahlen |
| Paperless-ngx | paperless | API-Token oder Benutzername/Passwort | Dokumente: Redis, Celery, Index, fehlgeschlagene Importe, Updates |
| Jellyfin | jellyfin | API-Schlüssel | Medienserver: fehlgeschlagene geplante Aufgaben, Plugins, Streams und Transcodierungen |
| Plex Media Server | plex | X-Plex-Token, oder keines aus einem erlaubten Netzwerk | Medienserver: Streams, Transcodierungen, Bibliotheken, Updates |
| GitLab (selbst gehostet) | gitlab | Persönliches Zugriffstoken | Forge: Sidekiq-Rückstand, CI-Runner, ausstehende Migrationen, Registrierungs-/2FA-Einstellungen, Lizenz |
| Forgejo / Gitea | forgejo | Zugriffstoken | Forge: Health-Check, geplante Aufgaben, Actions-Runner, Repository-/Kontozahlen |
| Server mit Agent | agent | keine (Enrollment-Token) | Linux, Windows, Raspberry Pi, Hyper-V-Host |
| Website oder Web-API | http | keine, Benutzername/Passwort oder Token | Health-Seite, REST-API |
| Netzwerkport | tcp | keine | SSH, SMB, Datenbank |
| Domainname | dns | keine | Ihre Domain, ein interner Name |
| Erreichbarer Host | ping | keine | Gateway, Access Point, Drucker |
| TLS-Zertifikat | tls | keine | IMAPS, LDAPS, Reverse-Proxy |
| SMTP-Server | smtp | keine, oder Benutzername/Passwort | Mailserver: Begrüßung, STARTTLS, Zertifikat, optionale Anmeldung |
| PostgreSQL | postgres | Benutzername/Passwort | Datenbank: Verbindung und eine von Ihnen gewählte Abfrage |
| MySQL oder MariaDB | mysql | Benutzername/Passwort | Datenbank: Verbindung und eine von Ihnen gewählte Abfrage |
| MQTT-Broker | mqtt | keine, oder Benutzername/Passwort | Broker: Verbindung, Abonnement, Retained Message |
| WebSocket | websocket | keine, Benutzername/Passwort oder Token | WebSocket-Endpunkt: Handshake, optionaler Nachrichtenaustausch |
| NTP-Zeitserver | ntp | keine | Router, NAS, interner Zeitserver, öffentlicher Pool-Server |
| Heartbeat | push | keine (geheime URL) | Cronjob, Backup-Skript, Automatisierung, die sich melden muss |
| Website-Änderungen | webchange | keine | Eine Seite oder eine ganze Website: Textänderungen, neue und entfernte Seiten, Vorher/Nachher mit Screenshots |
| Website-Zustand & SEO | website | keine | Websites in großer Zahl: Ausfall, leere Seite, Weiterleitungen, noindex, robots.txt, Änderungen von Titel/Beschreibung/Canonical, Plattform (CSV-Import) |
| Demo-Monitor | dummy | keine | Die Oberfläche ohne Hardware erkunden |
Wie ein Monitor gelesen wird
Abschnitt betitelt „Wie ein Monitor gelesen wird“Der Scheduler führt jeden aktivierten Monitor in seinem eigenen Intervall (standardmäßig 60 s,
mindestens 10 s) über den Collector seiner Art aus, mit höchstens
DUMBMONIT_MAX_CONCURRENT_PROBES gleichzeitigen Prüfungen und einem harten Timeout von
DUMBMONIT_PROBE_TIMEOUT_SECS pro Prüfung. Jede erfolgreiche Prüfung schreibt ihre Messwerte
plus dumbmonit_up = 1; eine fehlgeschlagene Prüfung schreibt nichts, und es ist das Schweigen
der Serie, das die Regel „Monitor nicht erreichbar“ erkennt. Die Monitorseite zeigt den Fehler bei
der nächsten Prüfung, aber der Alarm wartet absichtlich: Er löst etwa vier Minuten nach der
letzten erfolgreichen Prüfung aus (drei Minuten Schweigen, dann eine Minute Haltezeit), sodass
eine einzelne verlorene Prüfung nie jemanden alarmiert.
Fehler werden klassifiziert. Ein Monitor, der nicht antwortet, ist nicht erreichbar und löst einen Alarm aus. Eine falsche Community, ein abgelehntes Zertifikat oder eine fehlende Fähigkeit ist ein Konfigurationsfehler: Er wird auf der Monitorseite in Rot mit dem Grund angezeigt und nicht benachrichtigt. Der Unterschied ist wichtig: Ein falsch konfigurierter Monitor sollte nachts niemanden wecken.
Optionen
Abschnitt betitelt „Optionen“Manche Typen lesen Optionen aus den Tags des Monitors: den API-Port, ob ein selbstsigniertes
Zertifikat akzeptiert wird, welche Knoten überwacht werden. Das Formular zeigt unter Weitere
Optionen pro Option ein typisiertes Feld mit Standardwert und Hilfetext. Die Seiten der
einzelnen Arten listen sie wörtlich auf. Optionen sind Einstellungen, keine Labels: Sie werden
nicht auf die Serien kopiert. Freie Tags (jeder andere Schlüssel) werden auf jede Serie als
Labels tag_<key> kopiert, außer Schlüsseln, die ein Geheimnis benennen (pro Wort geprüft:
password, token, key, cert, secret, pass, private, pem …, sodass primary_key
übersprungen wird, keyboard aber nicht) und Werten, die länger als 256 Zeichen sind. Legen Sie
trotzdem nie ein Geheimnis in einem Tag ab: Verwenden Sie das Zugangsdatenfeld, das verschlüsselt
ist.
Übergeordnete Monitore
Abschnitt betitelt „Übergeordnete Monitore“Jeder Monitor kann einen anderen als sein Elternteil angeben. Ist das Elternteil nicht erreichbar, werden Alarme seiner Nachkommen als Vom Elternteil unterdrückt markiert, statt gesendet zu werden: Ein ausgefallener Switch erzeugt eine Benachrichtigung, nicht dreißig. Auf der Seite Monitore stapeln sich Kinder unter ihrem Elternteil und werden gedimmt, wenn es nicht erreichbar ist.