Osegi
Logiciels·2 min de lecture

Dezhurka : astreintes sur Telegram face à la fin d'Opsgenie

Le support d'Opsgenie prenant fin le 5 avril 2027, un développeur publie Dezhurka, un service d'astreinte et d'escalade fondé sur Telegram pour les équipes russes.

A Telegram chat showing an incident alert with a "Take it" button next to a monitoring dashboard and an on-call schedule.
Image: Хабр

Atlassian a fermé les nouvelles inscriptions à Opsgenie au premier trimestre 2026 et fixé la fin du support au 5 avril 2027. Les fonctions d'astreinte migrent vers Jira Service Management, inaccessible à de nombreuses équipes en Russie. PagerDuty, incident.io et Rootly y sont indisponibles ou conçus pour Slack, que presque personne n'utilise sur place.

Un développeur vient de publier Dezhurka (« le permanencier »), un petit service qui se greffe sur la supervision existante et répond à la question que les solutions habituelles laissent ouverte : qui est responsable de l'incident en ce moment, et que se passe-t-il si cette personne ne se réveille pas ?

Fonctionnement

Dezhurka ne remplace pas la supervision. Il reçoit les alertes de Prometheus Alertmanager, Grafana Alerting ou Zabbix par webhook, chaque service disposant d'une clé d'intégration secrète. Il consulte le planning, prévient l'astreinte en cours par Telegram et par e-mail, et duplique l'incident dans le canal de l'équipe. Si personne n'appuie sur « Беру » (« Je prends ») en 5 minutes, il appelle la personne suivante, puis le responsable d'équipe ; après deux tours, la chronologie indique que l'escalade est épuisée.

Les alertes répétées portant la même clé forment un seul incident : l'empreinte des étiquettes pour Alertmanager, {EVENT.ID} pour Zabbix, ce qui apparie problème et résolution. Dès qu'un membre prend l'incident, tous les messages Telegram sont modifiés pour afficher qui s'en occupe.

Pensé pour les réseaux fermés

Le bot utilise le long polling via getUpdates plutôt qu'un webhook Telegram : seul un accès sortant vers api.telegram.org est requis, sans point HTTPS public. Seuls les comptes liés par un lien personnel signé par HMAC peuvent utiliser les boutons. Le panneau est protégé par authentification Basic et vérifie l'en-tête Origin sur les formulaires POST.

Le service repose sur Python 3.12, FastAPI et SQLAlchemy, avec SQLite ou Postgres, pour environ 2 000 lignes de code et 24 tests, dans un seul conteneur Docker. Tout tourne dans un processus unique avec un seul asyncio.Lock, choix délibéré pour éviter les doubles réveils ou les clics perdus. Personnes, plannings et politiques sont décrits en YAML, les secrets venant des variables d'environnement. Les remplacements se saisissent dans le panneau et priment sur la rotation.

Le code source est sur GitHub, avec un installateur de démonstration pour Ubuntu qui déploie en une commande Dezhurka, Prometheus, Alertmanager, Grafana et, en option, Zabbix. Les conditions d'utilisation figurent dans le fichier LICENSE du dépôt.

Des apps à découvrir

SUMO : le puzzle de nombres

Touche les bonnes cases, additionne, atteins l'objectif. Facile à apprendre, difficile à maîtriser. Gratuit, pour tous les âges.

Mots-clés:opsgeniedezhurkatelegramon-callprometheuszabbix

Plus d'actus de ce jour

Tout voir →

Plus dans: Logiciels

Tout voir →