Fonctionnalités

Le monitoring sans le mystère.

Duck Stats repose sur une idée honnête : un moniteur, c’est une sonde plus une assertion, exécutée à intervalles réguliers. Pour les services que nous pouvons joindre : les sondes tournent depuis notre flotte externe. Pour les machines derrière un NAT : votre hôte nous envoie un UP/DOWN. Sans agents, sans sidecars, sans magie. Voici exactement ce qui s’exécute, où, et ce que vous récupérez.

01 · Sondes

Plein de types de sondes, un seul modèle mental

Chaque moniteur désigne une cible et une condition de réussite. Les sondes en mode pull (HTTP, TCP, DNS, SSL, ping, DB) vous atteignent depuis notre flotte. Les sondes en mode push (cron, processus) laissent votre machine nous contacter — parfait pour ce qui est derrière un NAT.

HTTP/SCode de statut, mot-clé dans le corps, en-tête, latence, chaîne de redirection
TCPAccessibilité de port — Postgres, Redis, SMTP, serveurs de jeu
PINGAccessibilité ICMP et temps d’aller-retour
SSLExpiration et chaîne du certificat — alerté 14 jours à l’avance
DNSRésoudre un enregistrement et vérifier la réponse
PUSHHeartbeats cron — votre tâche envoie un POST quand elle se termine
PROCSurveillant de processus — pgrep sur votre hôte pousse UP/DOWN
DBMySQL, Postgres, Mongo, Redis — simple test de vie ou inspecteur de santé complet
MOREgRPC, Kafka, RabbitMQ, requête JSON, état de conteneur Docker
DNSBLVérif. quotidienne de blacklist IP sur plus de 10 DNSBL — alerte e-mail en cas de nouveau signalement
monitor.yml — config déclarative (facultatif)
- name: API Gateway
  type: http
  url: https://api.acme.dev/health
  interval: 60s
  expect:
    status: 200
    body_contains: "ok"
    max_latency: 500ms
  regions: [us-east, us-west, eu]

# ou collez simplement une URL dans le tableau de bord —
# le YAML est généré pour vous.
moteur de consensus
14:33:07 us-east → 503
14:33:07 us-west → timeout
14:33:08 eu → 200 (edge périmé ?)
14:33:09 re-probe us-east → 503
14:33:09 re-probe us-west → 503
✗ DOWN — 2/3 régions concordent, seuil atteint
→ alerte déclenchée en 2.1s
02 · Détection

Le consensus multi-régions élimine les fausses alertes

Le meilleur moyen de se faire ignorer, c’est de crier au loup. Avant de marquer quoi que ce soit comme en panne, Duck Stats resonde depuis des régions indépendantes et exige un accord. Un seul saut réseau instable entre nous et vous ne vous réveillera pas à 3h du matin. Disponible sur Pro et Team dans nos quatre régions : US East, US Central, US West et Europe.

  • Revérifications de confirmation dès la première panne
  • Quorum configurable (par ex. 2 régions sur 3)
  • Nouvelles tentatives avec backoff avant l’ouverture de l’incident
  • Latence médiane sur l’ensemble des régions, pas le pire cas isolé
03 · Latence

Des percentiles, pas seulement des moyennes

Une moyenne masque l’expérience de votre pire client. Duck Stats enregistre chaque sonde et l’agrège en p50 / p95 / p99 à la minute, si bien qu’une traîne lente apparaît comme une courbe qui monte — bien avant de devenir un ticket de support.

p50 · 41 ms p95 · 142 ms p99 · 612 ms

Temps de réponse · 24h

142 ms p95
il y a 24hmaintenant
04 · Alertes

Routées, dédupliquées, escaladées

Une panne devrait donner une seule notification — au bon endroit, avec assez de contexte pour agir avant même d’avoir ouvert un ordinateur.

Tous les canaux que vous utilisez

E-mail, Slack, Discord, webhook générique, PagerDuty, ntfy et SMS (votre propre Twilio). Routage par gravité ou par tag de moniteur.

HTML à votre image ou texte brut

Par défaut, les alertes e-mail arrivent sous forme d’un modèle HTML riche à votre image. Basculez l’option par canal si votre boîte préfère le texte brut.

Silence pendant les déploiements

Ouvrez une fenêtre de maintenance depuis l’interface ou via POST /maintenance dans votre CI, pour qu’un déploiement ne réveille jamais l’astreinte.

Escalade si non acquittée

Aucun acquittement en N minutes ? On escalade vers le canal suivant. Le rétablissement envoie automatiquement un « tout va bien ».

Tableau de statut Discord

L’offre Team fournit un tableau de statut en embed enrichi pour votre canal Discord — mis à jour toutes les 90 secondes, avec un emoji personnalisé par moniteur.

SMTP partagé · ou le vôtre

Envoyez via notre SMTP géré sans surcoût, ou branchez votre propre fournisseur. Votre propre Twilio pour les SMS.

Vérif. quotidienne de blacklist IP

Activez-la par moniteur pour que Duck Stats résolve la cible chaque jour à 04:00 et interroge plus de 10 DNSBL (Spamhaus ZEN, Barracuda, SORBS, SpamCop, DroneBL, PSBL, Manitu, Interserver, CBL/Abuseat). Si votre IP se retrouve sur une blocklist, vous recevez un e-mail — aucune configuration de canal requise. Inclus dans toutes les offres.

POST https://hooks.slack.com/… — charge utile de l’alerte
{
  "event": "monitor.down",
  "monitor": "API Gateway",
  "status_code": 503,
  "regions": ["us-east", "eu"],
  "latency_ms": null,
  "started_at": "2026-06-21T14:33:07Z",
  "dashboard_url": "https://app.duckingstats.com/m/api-gw"
}
05 · Push & processus

Surveillez des machines derrière un NAT

Pour les services que nous ne pouvons pas joindre depuis l’internet public — home labs, applis internes, tout ce qui est derrière un NAT — utilisez un moniteur push. Votre machine envoie un POST UP/DOWN à une URL unique selon votre intervalle. La variante Moniteur de processus est un petit script pgrep à déposer sur l’hôte : il pousse UP tant que le processus existe, DOWN sinon.

$ curl -fsS \
  https://stats.duckingstats.com/api/push/$TOKEN?status=up
06 · Inspecteur de santé DB

Plus que « est-ce que ça tourne »

Les moniteurs MySQL disposent d’un mode Inspecteur de santé DB optionnel. À chaque tick, un balayage de diagnostic multi-requêtes s’exécute — SHOW GLOBAL STATUS, SHOW PROCESSLIST, SHOW SLAVE STATUS, top des requêtes lentes depuis performance_schema — et fait remonter le nombre de connexions, le taux de succès du buffer pool, le retard de réplication et les synthèses de requêtes lentes sur la page de détail. (Version Postgres à venir.)

07 · Pages de statut

Statut public, sur votre domaine

Une page épurée et rapide sur status.yourdomain.com avec barres d’uptime sur 90 jours, mises à jour d’incidents en direct et un champ d’abonnement par e-mail. Un CNAME, un thème, et c’est réglé. Pro : 5 pages. Team : illimité et marque blanche complète.

Voir un exemple en direct →
08 · API & données

Vos données, exportables

Une API REST pour chaque moniteur, les heartbeats bruts sur 7 jours, des stats agrégées jusqu’à 1 an, l’export CSV et des métriques compatibles Prometheus pour que Duck Stats s’intègre aux tableaux de bord que vous utilisez déjà.

$ curl -H "Authorization: Bearer …" \
  https://stats.duckingstats.com/api/v1/monitors
09 · Mur

Toute la stack sur un seul écran

Un Mur plein écran en un clic — chaque moniteur en tuile live, un radar du réseau de sondes, la latence par région et un journal d’événements en flux continu. Diffusez-le sur la TV du bureau et toute la pièce sait à la seconde où quelque chose passe à l’orange. Partagez un lien public en lecture seule pour les parties prenantes.

Ouvrir le mur en direct →
10 · Plugin WHMCS

Hébergeur ? Surveillez vos serveurs depuis WHMCS

Si vous gérez une société d’hébergement sous WHMCS, installez notre addon et chaque serveur que vous vendez apparaît dans le panneau d’administration avec son statut up/down en direct. Associez des moniteurs à des produits précis — les clients du produit « London VPS » voient le statut du VPS de Londres, ceux de « Dallas dedi » voient Dallas. Synchronisation automatique depuis votre compte Duck Stats ; aucun entretien manuel. À partir de l’offre Pro.

Page WHMCS dédiée → Voir les tarifs →
Plugin WHMCS : éditeur de moniteurs admin, panneau des incidents clients, statut réseau public

Voyez-le surveiller votre propre stack

Ajoutez votre premier moniteur gratuitement. Environ deux minutes, zéro installation.

Commencer gratuitement