Aller au contenu

Types de surveillance

DumbMonit appelle tout ce qu’il surveille une surveillance (l’API dit target), même quand c’est une page web ou un nom DNS. Chaque type est un collecteur sur le serveur ; le serveur décrit chaque type à l’interface (GET /api/collectors), si bien que le formulaire correspond toujours à ce que cette version peut surveiller.

Partez de ce que vous avez sous les yeux, puis ouvrez la page du type. Chaque page liste ce qu’il faut préparer, ce qu’il faut saisir et quoi faire en cas d’échec.

Vous voulez surveillerChoisissezPage
Une machine Linux, macOS, FreeBSD ou Windows, ou DockerServeur avec l’agentAgent
Une machine sur un autre site derrière un pare-feuAgent avec un relaisSurveiller un site distant
Un NAS SynologySynology DSM : paquet ou APIAgent Synology, Synology DSM
Un commutateur, routeur, imprimante, onduleur ou tout appareil SNMPAppareil SNMPSNMP
Un hyperviseurProxmox VE, VMware vSphere, XCP-ng, NutanixProxmox VE, vSphere, XCP-ng, Nutanix
Un pare-feuOPNsense, pfSense, FortiGate…OPNsense, pfSense, FortiGate
Un site web, un port, un nom DNS, un certificat, un hôteServicesServices
Une tâche qui doit se manifester (sauvegarde, cron)HeartbeatHeartbeat
Une liste d’appareils d’un réseauScanner mon réseauAjouter votre première surveillance
Des surveillances d’un autre outilImportImport

Les étapes sont toujours les mêmes : Ajouter une surveillance, choisir un site (ou Aucun site), choisir le type, remplir le formulaire, Ajouter la surveillance. Voir Ajouter votre première surveillance.

TypekindIdentifiantUsage typique
Appareil SNMPsnmpcommunauté ou SNMP v3Commutateur, routeur, NAS, onduleur, imprimante
Proxmox VEproxmoxjeton d’API ou nom d’utilisateur/mot de passeHyperviseur, cluster
Proxmox Backup Serverpbsjeton d’API ou nom d’utilisateur/mot de passeServeur de sauvegarde
Proxmox Datacenter Managerpdmjeton d’APIConsole fédérant plusieurs clusters PVE et instances PBS
Proxmox Mail Gatewaypmgnom d’utilisateur/mot de passePasserelle mail filtrant spam et virus
VMware vSpherevspherenom d’utilisateur/mot de passevCenter ou ESXi autonome : hôtes, VM, datastores, alarmes
XCP-ng / XenServerxcpngnom d’utilisateur/mot de passe (rôle XAPI en lecture seule)Pool via XAPI : hôtes, VM, référentiels de stockage, haute disponibilité
Nutanix AHVnutanixnom d’utilisateur/mot de passe (Prism Viewer)API v4 de Prism Central : clusters, hôtes, VM AHV, conteneurs de stockage, alertes
Synology DSMsynologynom d’utilisateur/mot de passeDiskStation, RackStation
OPNsenseopnsenseclé et secret d’APIPare-feu, routeur, bordure multi-WAN
pfSensepfsenseclé d’API REST (utilisateur en lecture seule)Pare-feu : passerelles en panne ou avec pertes, interfaces sans lien, services arrêtés
FortiGatefortigatejeton d’API REST (profil en lecture seule, hôte de confiance)Pare-feu : tunnels IPsec, liens, synchro HA, mode conserve, licences FortiGuard
Sophos Firewallsophosnom d’utilisateur/mot de passe (profil en lecture seule)Pare-feu : liens d’interface seulement (l’API XML n’expose ni tunnel, ni HA, ni licence)
Cisco Merakimerakiclé d’API (administrateur en lecture seule)Bêta. Cloud Meraki : appareils hors ligne, liaisons Internet en échec, état et expiration de la licence, clients par réseau
TP-Link Omadaomadaidentifiant et secret de client OpenAPI (rôle Viewer)Bêta. Contrôleur Omada : appareils déconnectés ou en attente, CPU et mémoire, mises à jour du firmware, clients par site
Aruba Centralarubacentralclient d’API (ID et secret) ou jeton d’accèsBêta. Points d’accès, commutateurs et passerelles Aruba par l’API cloud : appareils hors ligne, alertes critiques, santé des appareils, clients
Palo Alto PAN-OSpaloaltonom d’utilisateur/mot de passe ou clé d’API (rôle limité aux requêtes opérationnelles de l’API XML)Bêta. Pare-feu : liens d’interface, pair et synchro HA, table des sessions, licences, validations en échec
SonicWall SonicOSsonicwallnom d’utilisateur/mot de passe (utilisateur en lecture seule)Bêta. Pare-feu : liens d’interface seulement
Serveur OpenVPNopenvpnaucun, ou mot de passe de gestionServeur OpenVPN via son interface de gestion : version, état, clients connectés
UniFi Networkunificlé d’API ou nom d’utilisateur/mot de passeConsole UniFi ou serveur auto-hébergé : appareils, WAN, clients
Home Assistanthomeassistantjeton d’accès longue duréeMaison connectée : entités indisponibles, batteries faibles, mises à jour, réparations
TrueNAStruenasclé d’APIServeur de stockage ZFS (SCALE, Community Edition)
Unraidunraidclé d’API (rôle Viewer)NAS : array, disques, vérifications de parité, pools de cache, conteneurs, VM
QNAP QTS / QuTS heroqnapnom d’utilisateur/mot de passe (compte limité)NAS (bêta) : volumes qui se remplissent, état SMART et température des disques, mises à jour
Cephcephutilisateur et mot de passe du tableau de bord (rôle read-only)Grappe de stockage (bêta) : contrôles de santé, OSD, groupes de placement, capacité, pools, moniteurs
MinIOminiojeton Prometheus (ou aucun)Stockage objet (bêta) : nœuds et disques hors ligne, capacité, échecs de réparation et de réplication, erreurs S3
MikroTik RouterOSmikrotiknom d’utilisateur/mot de passe (groupe en lecture seule)Routeur ou commutateur : versions et firmware en retard, CPU, mémoire, capteurs, erreurs d’interface
Onduleur avec NUTnutaucun, ou nom d’utilisateur/mot de passeOnduleur sur un NAS, un Raspberry Pi ou un serveur faisant tourner Network UPS Tools
Matériel serveur (Redfish)redfishnom d’utilisateur/mot de passeVentilateurs, températures, alimentations et disques du serveur, lus depuis son BMC
VictoriaMetricsvictoriametricsaucun, nom d’utilisateur/mot de passe ou jetonBase de séries temporelles : ingestion, échantillons refusés, marge de disque
VictoriaLogsvictorialogsaucun, nom d’utilisateur/mot de passe ou jetonBase de logs : ingestion, lignes refusées, marge de disque
Grafana Lokilokiaucun, nom d’utilisateur/mot de passe ou jetonServeur de logs : état de préparation, lignes refusées, échecs de flush
Grayloggraylogjeton d’accès ou nom d’utilisateur/mot de passeServeur de logs et son cluster OpenSearch : journal, buffers, débit, inputs
Pi-holepiholemot de passe d’application, ou aucunBloqueur de publicité DNS : état de blocage, part bloquée, âge des listes, mises à jour
AdGuard Homeadguardnom d’utilisateur/mot de passeFiltre DNS : protection, blocages, listes de filtres, serveurs amont, mises à jour
MDaemon Email Servermdaemonaucun (agent requis sur le serveur), ou adresse email/mot de passeServeur mail : files, sessions et services Windows lus par l’agent, plus SMTP, IMAP, POP3, webmail, version
SecurityGateway for Email Serverssecuritygatewayaucun (agent requis sur le serveur), ou clé d’APIPasserelle mail : services Windows et files lus par l’agent, file de remise et autres compteurs
Redis / Valkeyredisutilisateur ACL, mot de passe seul, ou aucunStockage en mémoire : mémoire par rapport à maxmemory, réplication, persistance, clés
MongoDBmongodbnom d’utilisateur/mot de passe (clusterMonitor) ou aucunBase de données documents : replica set, retard, connexions, cache WiredTiger
RabbitMQrabbitmqnom d’utilisateur/mot de passe (étiquette monitoring)Courtier de messages : alarmes de ressource, nœuds, partitions, files sans consommateur
SQL Servermssqlconnexion SQL (nom d’utilisateur/mot de passe)Bases hors ligne, blocages, connexions, espace des volumes, travaux de l’Agent, AlwaysOn
Oracle Databaseoraclecompte de la base (nom d’utilisateur/mot de passe), par ORDSÉtat de l’instance, tablespaces, sessions, retard Data Guard, zone de récupération, travaux du planificateur
Elasticsearch / OpenSearchelasticsearchnom d’utilisateur/mot de passe, jeton ou aucunÉtat du cluster, shards non alloués, disque et tas des nœuds
InfluxDBinfluxdbaucun ou jeton d’APIInfluxDB 2 et 3 : santé, disponibilité, temps de marche, mémoire, erreurs serveur
Apache Kafkakafkaaucun ou SASL/PLAIN sous TLSPartitions hors ligne et sous-répliquées, contrôleur, retard des groupes de consommateurs
CrowdSeccrowdsecaucun, ou clé d’API bouncerMoteur de sécurité : décisions, alertes, bouncers qui ont arrêté de récupérer, lecture de logs
Traefiktraefikaucun, ou utilisateur basicAuthReverse proxy : routeurs désactivés, serveurs backend en panne, certificats non obtenus ou non renouvelés, part de 5xx
Caddycaddyutilisateur de vue en lecture seule, ou aucunServeur web et reverse proxy : santé des upstreams, rechargements échoués, erreurs de handler, part de 5xx
Exporter Prometheusprometheusaucun, authentification basique ou jeton bearerN’importe quel exporter (node_exporter, windows_exporter, cAdvisor, blackbox…) : toutes les séries enregistrées, tracées et utilisables dans des règles
Source OpenTelemetryotlpjeton d’API (portée write)Récepteur OTLP/HTTP : métriques d’un OpenTelemetry Collector ou d’une application, journaux transmis à VictoriaLogs
Nginxnginxaucun, ou authentification basiqueServeur web : connexions actives/en attente, débits accept/handled/request, santé des upstreams NGINX Plus
Apache httpdapacheaucun, ou authentification basiqueServeur web : workers occupés/au repos, scoreboard par état, débits de requêtes et d’octets
Nginx Proxy Managernpmemail et mot de passe utilisateur (vue seule)Gestionnaire de proxy : hôtes refusés par nginx, hôtes désactivés, certificats servis
Expiration de domainedomainaucunDomaine enregistré via RDAP : jours avant expiration, suspension, période de rachat, registrar
État d’un fournisseur tiersprovideraucunPage de statut publique d’un fournisseur (Cloudflare, GitHub, Atlassian, AWS…) : impact, incidents ouverts, filtre par composant ; affiché sur les pages de statut comme composant externe
Réputation du serveur mailmail_blacklistaucun, ou clé DQS de SpamhausDomaine de messagerie ou adresse d’un serveur face aux listes noires DNS (Spamhaus, Barracuda, SpamCop…), DNS inverse, SPF, DMARC, liens de retrait
Liste noire d’une plage d’IPip_blacklistaucun, ou clé DQS de SpamhausChaque adresse d’une plage IPv4 publique jusqu’à /24 face aux listes noires DNS, avec liens de retrait
Kubernetes / k3skubernetesjeton de compte de service (ClusterRole en lecture seule)Cluster : nœuds non prêts, pods en boucle de crash ou en attente, workloads avec répliques manquantes, demandes de volume bloquées
Active Directoryactivedirectorynom d’utilisateur/mot de passe (utilisateur de domaine ordinaire)Domaine Windows via LDAPS : contrôleurs de domaine et rôles FSMO, membres de groupes privilégiés, politique de mot de passe, constats de sécurité
Veeam Backup & Replicationveeamnom d’utilisateur/mot de passe (Veeam Backup Viewer)Serveur de sauvegarde : jobs en échec, sessions en échec, dépôts qui se remplissent, licence
Windows (WinRM)winrmnom d’utilisateur/mot de passe (Remote Management Users)Serveur Windows sans agent : CPU, mémoire, disques, services (dont les automatiques arrêtés), durée de fonctionnement, erreurs du journal d’événements
Kopia (bêta)kopianom d’utilisateur et mot de passe du serveurServeur de sauvegarde : dernier instantané de chaque source (âge, erreurs, taille), sources en retard sur leur planning, connexion au dépôt
Duplicati (bêta)duplicatimot de passe de l’interface webServeur de sauvegarde (2.1+) : dernière sauvegarde réussie de chaque tâche, dernier résultat, avertissements et erreurs, tâche en cours
Tailscaletailscaleclient OAuth (devices:core:read) ou jeton d’accès d’APITailnet : serveurs hors ligne, clés de nœud qui expirent, appareils en attente d’approbation
Microsoft 365m365Application Entra (ID client et secret)Santé des services, incidents, licences, utilisateurs à risque
Microsoft Entra IDentraApplication Entra (ID client et secret)Expiration des secrets, synchronisation d’annuaire, MFA des administrateurs
Microsoft AzureazureApplication Entra (ID client et secret) avec le rôle Reader sur l’abonnementResource Health de chaque ressource et alertes Azure Monitor actives par sévérité
AWS (CloudWatch)awsIdentifiant de clé d’accès et secret (utilisateur IAM en lecture seule, rôle facultatif)Alarmes CloudWatch en ALARM, contrôles d’état et CPU EC2, CPU et stockage libre RDS
Cloudflarecloudflarejeton d’API (lecture seule)Zones, tunnels, certificats, erreurs 5xx, pools de répartition de charge
Hetzner Cloudhetznerjeton d’API (lecture seule)Serveurs, processeur, volumes, sauvegardes
OVHcloudovhJeton d’API OVHcloud (clé d’application, secret d’application et clé de consommateur) avec GET /vps* et GET /dedicated/server*État et tâches en cours des VPS et des serveurs dédiés
InfomaniakinfomaniakJeton d’API Infomaniak avec la portée ProductsDates d’expiration, blocages et maintenance des domaines, hébergements et autres produits
Nextcloudnextcloudjeton de surveillance (NC-Token)Synchronisation de fichiers : mode maintenance, mise à jour en attente, mises à jour, utilisateurs actifs, OPcache
Immichimmichclé d’APIBibliothèque de photos : files de tâches, mises à jour, disque, nombre de photos
Paperless-ngxpaperlessjeton d’API ou nom d’utilisateur/mot de passeDocuments : Redis, Celery, index, imports en échec, mises à jour
Jellyfinjellyfinclé d’APIServeur multimédia : tâches planifiées en échec, extensions, flux et transcodages
Plex Media ServerplexX-Plex-Token, ou aucun depuis un réseau autoriséServeur multimédia : flux, transcodages, bibliothèques, mises à jour
GitLab (self-managed)gitlabjeton d’accès personnelForge : retard Sidekiq, runners CI, migrations en attente, réglages inscription/2FA, licence
Forgejo / Giteaforgejojeton d’accèsForge : contrôle de santé, tâches planifiées, runners Actions, compteurs de dépôts/comptes
Sonarr (bêta)sonarrclé d’APISéries : santé, clients et indexeurs en échec, erreurs de file, disque, mises à jour
Radarr (bêta)radarrclé d’APIFilms : santé, clients et indexeurs en échec, erreurs de file, disque, mises à jour
Lidarr (bêta)lidarrclé d’APIMusique : santé, clients et indexeurs en échec, erreurs de file, disque, mises à jour
Prowlarr (bêta)prowlarrclé d’APIIndexeurs : santé, indexeurs désactivés après des échecs, disque, mises à jour
qBittorrent (bêta)qbittorrentnom d’utilisateur et mot de passe, ou aucunClient torrent : torrents en erreur, connectivité perdue, vitesses, espace libre
UniFi Protect (bêta)unifiprotectnom d’utilisateur et mot de passe locauxCaméras : hors ligne ou sans enregistrement, disques et stockage du NVR
Frigate NVR (bêta)frigateaucun ou jeton porteurNVR : caméras sans images, détecteurs bloqués, débits, stockage des enregistrements
Keycloak (bêta)keycloakaucun, ou identifiant et secret de clientIdentité : disponibilité et base de données, realms, sessions, utilisateurs
authentik (bêta)authentikjeton d’APIIdentité : disponibilité, workers, tâches en échec, avant-postes, mises à jour
Vaultwarden (bêta)vaultwardenaucun, ou jeton d’administrationCoffre de mots de passe : disponibilité, version, inscriptions ouvertes, comptes
mailcow (bêta)mailcowclé d’API en lecture seuleServeur de messagerie : conteneurs arrêtés, file, volume des courriels, quotas
Serveur avec agentagentaucun (jeton d’enrôlement)Linux, Windows, Raspberry Pi, hôte Hyper-V
Site web ou API webhttpaucun, nom d’utilisateur/mot de passe ou jetonPage de santé, API REST
Port réseautcpaucunSSH, SMB, base de données
Nom de domainednsaucunVotre domaine, un nom interne
Hôte accessiblepingaucunPasserelle, point d’accès, imprimante
Certificat TLStlsaucunIMAPS, LDAPS, reverse proxy
Serveur de temps NTPntpaucunRouteur, NAS, serveur de temps interne, serveur de pool public
Valeur SNMPsnmp_oidcommunauté SNMP ou utilisateur v3Un objet SNMP : sonde, état d’onduleur, chaîne de version, avec bornes ou texte attendu
Serveur RADIUSradiussecret partagé et compte de testFreeRADIUS, Windows NPS : une vraie authentification
Service gRPCgrpcaucunMicroservice, etcd : le contrôle de santé gRPC standard
Battement de cœurpushaucun (URL secrète)Tâche cron, script de sauvegarde, automatisation qui doit appeler
Changements de site webwebchangeaucunUne page ou tout un site : changements de texte, pages ajoutées et supprimées, avant/après avec captures d’écran
Surveillance de démonstrationdummyaucunExplorer l’interface sans matériel

Le planificateur fait tourner chaque surveillance activée sur son propre intervalle (60 s par défaut, 10 s au minimum) via le collecteur de son type, avec au plus DUMBMONIT_MAX_CONCURRENT_PROBES sondes en vol et un délai maximal de DUMBMONIT_PROBE_TIMEOUT_SECS par sonde. Chaque sonde réussie écrit ses échantillons plus dumbmonit_up = 1 ; une sonde en échec n’écrit rien, et c’est le silence de la série que la règle « Surveillance inaccessible » détecte.

Les échecs sont classés. Une surveillance qui ne répond pas est inaccessible et déclenche une alerte. Une mauvaise communauté, un certificat refusé ou une fonctionnalité manquante est une erreur de configuration : elle est affichée sur la page de la surveillance, en rouge, avec la raison, et n’est pas notifiée. La distinction compte : une surveillance mal configurée ne devrait réveiller personne la nuit.

Certains types lisent des options depuis les étiquettes de la surveillance : le port de l’API, s’il faut accepter un certificat autosigné, quels nœuds surveiller. Le formulaire montre un champ typé par option sous Plus d’options, avec son défaut et son texte d’aide. Les pages par type les listent mot pour mot. Les options sont copiées sur chaque série comme labels tag_<key>, ne mettez donc jamais un secret dans l’une d’elles : utilisez le champ identifiant, qui est chiffré.

N’importe quelle surveillance peut déclarer une autre comme sa parente. Quand le parent est inaccessible, les alertes de ses descendants sont marquées Supprimée par le parent plutôt qu’envoyées : un commutateur qui tombe produit une notification, pas trente. Sur la page Surveillances, les enfants s’empilent sous leur parent et s’atténuent quand il est inaccessible.