Zum Inhalt springen

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.

TypkindZugangsdatenTypische Verwendung
SNMP-GerätsnmpCommunity oder SNMP v3Switch, Router, NAS, USV, Drucker
Proxmox VEproxmoxAPI-Token oder Benutzername/PasswortHypervisor, Cluster
Proxmox Backup ServerpbsAPI-Token oder Benutzername/PasswortBackup-Server
Proxmox Datacenter ManagerpdmAPI-TokenKonsole, die mehrere PVE-Cluster und PBS-Instanzen bündelt
Proxmox Mail GatewaypmgBenutzername/PasswortMail-Gateway, das Spam und Viren filtert
VMware vSpherevsphereBenutzername/PasswortvCenter oder eigenständiger ESXi: Hosts, VMs, Datastores, Alarme
XCP-ng / XenServerxcpngBenutzername/Passwort (schreibgeschützte XAPI-Rolle)Pool über XAPI: Hosts, VMs, Storage Repositories, Hochverfügbarkeit
Nutanix AHVnutanixBenutzername/Passwort (Prism Viewer)Prism-Central-v4-API: Cluster, Hosts, AHV-VMs, Storage-Container, Alarme
Synology DSMsynologyBenutzername/PasswortDiskStation, RackStation
OPNsenseopnsenseAPI-Schlüssel und SecretFirewall, Router, Multi-WAN-Edge
pfSensepfsenseREST-API-Schlüssel (Nur-Lese-Benutzer)Firewall: ausgefallene oder verlustbehaftete Gateways, Schnittstellen ohne Link, gestoppte Dienste
FortiGatefortigateREST-API-Token (Nur-Lese-Profil, Trusted Host)Firewall: IPsec-Tunnel, Links, HA-Sync, Conserve Mode, FortiGuard-Lizenzen
Sophos FirewallsophosBenutzername/Passwort (Nur-Lese-Profil)Firewall: nur Schnittstellen-Links (die XML-API zeigt keinen Tunnel-, HA- oder Lizenzstatus)
OpenVPN-Serveropenvpnkeine, oder Management-PasswortOpenVPN-Server über seine Management-Schnittstelle: Version, Zustand, verbundene Clients
UniFi NetworkunifiAPI-Schlüssel oder Benutzername/PasswortUniFi-Konsole oder selbst gehosteter Server: Geräte, WAN, Clients
Home AssistanthomeassistantLanglebiges ZugriffstokenSmart Home: nicht verfügbare Entitäten, schwache Batterien, Updates, Reparaturen
TrueNAStruenasAPI-SchlüsselZFS-Speicherserver (SCALE, Community Edition)
UnraidunraidAPI-Schlüssel (Rolle Viewer)NAS: Array, Platten, Paritätsprüfungen, Cache-Pools, Container, VMs
MikroTik RouterOSmikrotikBenutzername/Passwort (Nur-Lese-Gruppe)Router oder Switch: veraltete Versionen und Firmware, CPU, Speicher, Sensoren, Schnittstellenfehler
USV mit NUTnutkeine, oder Benutzername/PasswortUSV an einem NAS, Raspberry Pi oder Server mit Network UPS Tools
Serverhardware (Redfish)redfishBenutzername/PasswortLüfter, Temperaturen, Netzteile und Laufwerke eines Servers, über dessen BMC gelesen
VictoriaMetricsvictoriametricskeine, Benutzername/Passwort oder TokenZeitreihendatenbank: Ingestion, abgelehnte Messwerte, Plattenspielraum
VictoriaLogsvictorialogskeine, Benutzername/Passwort oder TokenLogdatenbank: Ingestion, abgelehnte Zeilen, Plattenspielraum
Grafana Lokilokikeine, Benutzername/Passwort oder TokenLogserver: Bereitschaft, abgelehnte Zeilen, Flush-Fehler
GrayloggraylogZugriffstoken oder Benutzername/PasswortLogserver und sein OpenSearch-Cluster: Journal, Puffer, Durchsatz, Inputs
Pi-holepiholeApp-Passwort, oder keinesDNS-Werbeblocker: Blockierungsstatus, blockierter Anteil, Alter der Blocklisten, Updates
AdGuard HomeadguardBenutzername/PasswortDNS-Filter: Schutz, Blockierungen, Filterlisten, Upstream-Server, Updates
MDaemon Email Servermdaemonkeine, oder E-Mail-Adresse/PasswortMailserver: SMTP, IMAP, POP3, Webmail, Version
SecurityGateway for Email Serverssecuritygatewaykeine, oder API-SchlüsselMail-Gateway: Dienste, Zustellwarteschlange und weitere Zähler
Redis / ValkeyredisACL-Benutzer, nur Passwort, oder keineIn-Memory-Speicher: Speicher gegenüber maxmemory, Replikation, Persistenz, Schlüssel
MongoDBmongodbBenutzername/Passwort (clusterMonitor) oder keineDokumentendatenbank: Replica Set, Verzug, Verbindungen, WiredTiger-Cache
RabbitMQrabbitmqBenutzername/Passwort (Tag monitoring)Message Broker: Ressourcenalarme, Knoten, Partitionen, Queues ohne Consumer
CrowdSeccrowdseckeine, oder Bouncer-API-SchlüsselSicherheits-Engine: Entscheidungen, Alarme, Bouncer, die nicht mehr abrufen, Log-Lesen
Traefiktraefikkeine, oder basicAuth-BenutzerReverse-Proxy: deaktivierte Router, ausgefallene Backend-Server, nicht erhaltene oder nicht erneuerte Zertifikate, 5xx-Anteil
CaddycaddyNur-Lese-Ansichtsbenutzer, oder keinerWebserver und Reverse-Proxy: Upstream-Zustand, fehlgeschlagene Reloads, Handler-Fehler, 5xx-Anteil
Nginxnginxkeine, oder Basic AuthWebserver: aktive/wartende Verbindungen, Accept-/Handled-/Anfrageraten, Upstream-Zustand von NGINX Plus
Apache httpdapachekeine, oder Basic AuthWebserver: beschäftigte/freie Worker, Scoreboard nach Zustand, Anfrage- und Byte-Raten
Nginx Proxy ManagernpmE-Mail und Passwort des Benutzers (nur Ansicht)Proxy-Manager: von nginx abgelehnte Hosts, deaktivierte Hosts, ausgelieferte Zertifikate
Domain-AblaufdomainkeineRegistrierte Domain über RDAP: Tage bis zum Ablauf, Hold, Redemption-Phase, Registrar
Reputation des Mailserversmail_blacklistkeine, oder Spamhaus-DQS-SchlüsselMaildomain oder Serveradresse gegen die DNS-Blocklisten (Spamhaus, Barracuda, SpamCop…), Reverse-DNS, SPF, DMARC, Links zur Entfernung
Blockliste für IP-Bereicheip_blacklistkeine, oder Spamhaus-DQS-SchlüsselJede Adresse eines öffentlichen IPv4-Bereichs bis /24 gegen die DNS-Blocklisten, mit Links zur Entfernung
Kubernetes / k3skubernetesService-Account-Token (Nur-Lese-ClusterRole)Cluster: nicht bereite Knoten, Pods in Crash-Schleife oder Pending, Workloads mit fehlenden Replikas, festhängende Volume Claims
Active DirectoryactivedirectoryBenutzername/Passwort (einfacher Domänenbenutzer)Windows-Domäne über LDAPS: Domänencontroller und FSMO-Rollen, Mitglieder privilegierter Gruppen, Kennwortrichtlinie, Sicherheitsbefunde
Veeam Backup & ReplicationveeamBenutzername/Passwort (Veeam Backup Viewer)Backup-Server: fehlgeschlagene Jobs, fehlgeschlagene Sitzungen, sich füllende Repositories, Lizenz
TailscaletailscaleOAuth-Client (devices:core:read) oder API-ZugriffstokenTailnet: Server offline, ablaufende Node-Schlüssel, Geräte, die auf Freigabe warten
NextcloudnextcloudMonitoring-Token (NC-Token)Dateisynchronisation: Wartungsmodus, ausstehendes Upgrade, Updates, aktive Benutzer, OPcache
ImmichimmichAPI-SchlüsselFotobibliothek: Job-Warteschlangen, Updates, Platte, Fotozahlen
Paperless-ngxpaperlessAPI-Token oder Benutzername/PasswortDokumente: Redis, Celery, Index, fehlgeschlagene Importe, Updates
JellyfinjellyfinAPI-SchlüsselMedienserver: fehlgeschlagene geplante Aufgaben, Plugins, Streams und Transcodierungen
Plex Media ServerplexX-Plex-Token, oder keines aus einem erlaubten NetzwerkMedienserver: Streams, Transcodierungen, Bibliotheken, Updates
GitLab (selbst gehostet)gitlabPersönliches ZugriffstokenForge: Sidekiq-Rückstand, CI-Runner, ausstehende Migrationen, Registrierungs-/2FA-Einstellungen, Lizenz
Forgejo / GiteaforgejoZugriffstokenForge: Health-Check, geplante Aufgaben, Actions-Runner, Repository-/Kontozahlen
Server mit Agentagentkeine (Enrollment-Token)Linux, Windows, Raspberry Pi, Hyper-V-Host
Website oder Web-APIhttpkeine, Benutzername/Passwort oder TokenHealth-Seite, REST-API
NetzwerkporttcpkeineSSH, SMB, Datenbank
DomainnamednskeineIhre Domain, ein interner Name
Erreichbarer HostpingkeineGateway, Access Point, Drucker
TLS-ZertifikattlskeineIMAPS, LDAPS, Reverse-Proxy
SMTP-Serversmtpkeine, oder Benutzername/PasswortMailserver: Begrüßung, STARTTLS, Zertifikat, optionale Anmeldung
PostgreSQLpostgresBenutzername/PasswortDatenbank: Verbindung und eine von Ihnen gewählte Abfrage
MySQL oder MariaDBmysqlBenutzername/PasswortDatenbank: Verbindung und eine von Ihnen gewählte Abfrage
MQTT-Brokermqttkeine, oder Benutzername/PasswortBroker: Verbindung, Abonnement, Retained Message
WebSocketwebsocketkeine, Benutzername/Passwort oder TokenWebSocket-Endpunkt: Handshake, optionaler Nachrichtenaustausch
NTP-ZeitserverntpkeineRouter, NAS, interner Zeitserver, öffentlicher Pool-Server
Heartbeatpushkeine (geheime URL)Cronjob, Backup-Skript, Automatisierung, die sich melden muss
Website-ÄnderungenwebchangekeineEine Seite oder eine ganze Website: Textänderungen, neue und entfernte Seiten, Vorher/Nachher mit Screenshots
Website-Zustand & SEOwebsitekeineWebsites in großer Zahl: Ausfall, leere Seite, Weiterleitungen, noindex, robots.txt, Änderungen von Titel/Beschreibung/Canonical, Plattform (CSV-Import)
Demo-MonitordummykeineDie Oberfläche ohne Hardware erkunden

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.

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.

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.