Alertes et canaux
Un canal est un endroit où une alerte peut arriver. Ajoutez-en autant que vous voulez, puis choisissez pour chaque moniteur lesquels sont ordinaires et lesquels servent à l’escalade.
Ce que vous pouvez ajouter
Ceux-ci, vous les ajoutez vous-même, depuis Paramètres → Notifications :
- E-mail — n’importe quelle adresse.
- Slack, Teams, Discord — une URL de webhook entrant de l’application concernée.
- Telegram — une conversation, reliée par notre bot.
- PagerDuty et Jira Service Management — une clé d’intégration.
- Webhook — votre propre point de terminaison. HTTPS uniquement, signé, voir plus bas.
Ceux-là sont ajoutés par la personne qui les reçoit, et non saisis par quelqu’un d’autre :
- Push — installer l’application mobile et autoriser les notifications.
- SMS — inscrire son propre numéro et confirmer un code que nous y envoyons.
- WhatsApp — pareil, sur WhatsApp.
- Satellite — un combiné Iridium, Inmarsat ou Thuraya, joint par e-mail via l’opérateur.
À qui appartient le canal
Chaque canal appartient soit à l’équipe, soit à une personne, et cette différence décide de ce qui se passe quand quelqu’un part.
Un canal partagé — un webhook #alerts, un service PagerDuty, une liste de diffusion — appartient à l’organisation et survit à tout départ.
Un canal personnel — un téléphone, une conversation Telegram privée, un numéro de mobile — appartient à la personne qui l’a inscrit, et est supprimé lorsqu’elle est retirée de l’organisation. Avant que ce soit le cas, la conversation Telegram d’un collègue retiré continuait de recevoir indéfiniment les messages de panne, alors que son appartenance et ses clés API étaient déjà révoquées.
Quand vous routez une alerte, vérifiez donc à qui appartient le canal visé. La personne qui câble l’alerte n’est en général pas celle qu’elle réveille.
Une adresse doit accepter avant qu’on lui envoie quoi que ce soit
E-mail, SMS, WhatsApp et satellite confirment d’abord. Ajoutez un canal e-mail et l’adresse reçoit exactement un message — lui demandant si elle veut être une destination d’alerte — et rien d’autre jusqu’à ce qu’elle accepte. Pour un numéro de téléphone, vous ressaisissez un code.
Cela existe parce qu’un canal e-mail est une adresse que quelqu’un d’autre a saisie dans le compte de quelqu’un d’autre. Sans cela, un éditeur pourrait diriger un moniteur instable vers la boîte d’un inconnu, et nous délivrerions. Le bouton d’envoi de test est refusé tant que l’adresse n’a pas confirmé, pour la même raison : sinon c’est un moyen illimité d’écrire à une adresse sans consentement, sous une étiquette avenante.
Les canaux de messagerie et push ne demandent rien, et ce n’est pas une exception. Qui a collé une URL de webhook Slack devait la détenir, et un canal push est enregistré par le propriétaire du téléphone lui-même — ni l’un ni l’autre ne peut être dirigé vers un inconnu en saisissant une adresse.
Une adresse appartenant déjà à un membre vérifié de votre organisation est confirmée automatiquement. Cette personne a prouvé qu’elle était la sienne à l’inscription.
SMS et WhatsApp
Les deux à partir de Pro, et les deux puisent dans le même quota — Pro reçoit 10 par jour, 15 par semaine et 30 par mois ; Business et Enterprise reçoivent 15, 50 et 100. C’est un seul pot parce que les deux coûtent de l’argent par message et atteignent le même combiné : ce contre quoi le plafond protège — un seul moniteur instable dépensant un budget mensuel en une heure — est un même événement, quel que soit le support.
Trois fenêtres plutôt qu’une, parce qu’une seule a la mauvaise forme. Un plafond mensuel seul laisse un unique moniteur instable tout dépenser en un après-midi ; un plafond journalier seul laisse un goutte-à-goutte coûter trente fois ce que vous aviez prévu.
Le plafond s’applique à la mise en file, si bien qu’un message bloqué n’occupe jamais de place, et le décompte porte sur ce qui a réellement été envoyé plutôt que sur un compteur — un compteur ne peut pas rester honnête de part et d’autre d’un appel à l’API de quelqu’un d’autre.
Le SMS n’atteint pas partout, et nous le disons avant l’inscription
La portée du SMS dépend du pays du destinataire. Certains réseaux ne transportent pas du tout un message venant d’un expéditeur comme le nôtre ; d’autres ne l’acceptent que depuis un nom d’expéditeur enregistré auprès du régulateur local. Le sélecteur de pays ne propose que des destinations que nous pensons pouvoir atteindre, et la page des tarifs donne la liste complète.
Là où le nom d’expéditeur peut être remplacé par un numéro local, on vous le dit à l’inscription plutôt que de vous le faire découvrir par un message venu d’un inconnu. WhatsApp n’a aucune de ces limites, ne demande d’enregistrement nulle part, et atteint tous les pays que le SMS n’atteint pas.
Les alertes ne contiennent jamais de liens. Les opérateurs filtrent les URL inconnues, et une alerte filtrée est une alerte que vous ne recevez jamais — un moniteur nommé acme.com arrive donc en acme com.
Satellite
Pour un combiné sans aucun réseau cellulaire. Les messages passent par e-mail via la passerelle de l’opérateur : vous payez donc des tarifs e-mail et non SMS — mais les opérateurs plafonnent la livraison à cinq messages par jour et par combiné, ce qui est leur limite et non la nôtre, et chaque message est coupé à 160 caractères.
Anormalement lent
Un moniteur peut réussir toutes ses vérifications et être pourtant en difficulté. Dès qu’il dispose d’au moins une journée d’historique, nous comparons sa vitesse de réponse actuelle à sa vitesse habituelle depuis le même point de mesure, et nous vous prévenons lorsqu’il est bien plus lent que d’ordinaire — par les mêmes canaux qu’un incident sur ce moniteur. Quand il retrouve sa vitesse habituelle, nous le disons aussi. C’est inclus dans toutes les offres.
Ce n’est pas un incident. Rien n’est en panne : cela ne compte pas dans la disponibilité, n’apparaît pas sur une page de statut et ne déclenche pas d’escalade. Plus rapide que d’habitude ne déclenche jamais d’alerte ; un ralentissement doit dépasser 100 ms et sortir nettement de la variation normale du moniteur ; et rien n’est évalué pendant une pause, une fenêtre de maintenance ou un incident déjà ouvert.
Un webhook reçoit ces événements sous les noms latency_anomaly et latency_recovered, avec les temps de réponse habituel et observé en millisecondes.
Webhooks
HTTPS uniquement. Chaque requête est signée pour que vous puissiez vérifier qu’elle vient de nous. Les adresses privées et link-local sont refusées à l’enregistrement de l’URL et de nouveau à l’envoi de l’alerte — parce qu’un nom d’hôte qui résolvait vers une adresse publique au moment de l’enregistrement peut résoudre ailleurs plus tard, et qu’une URL valide peut répondre par une redirection n’importe où. Les redirections ne sont pas suivies.
Astreinte
À partir de Pro. Constituez une rotation, définissez les étapes d’escalade, et un incident non acquitté les remonte. Acquitter arrête l’escalade ; résoudre la clôture.
C’est l’escalade qui rend un canal personnel utile : la première étape peut être le chat d’équipe et la dernière le téléphone de quelqu’un à quatre heures du matin.
Post-mortems
Sur toutes les offres. Une fois un incident résolu, toute personne autorisée à résoudre les incidents peut en rédiger le post-mortem — ce qui s’est passé, pourquoi, et ce qui change — et le modifier au fil de l’enquête. Il y en a un par incident, écrit en Markdown : titres, gras et italique, listes, code, citations et liens. Le HTML s’affiche comme du texte et n’est jamais exécuté.
Un post-mortem est interne. Il n’apparaît jamais sur une page de statut, car il nomme généralement des personnes, des systèmes et des erreurs. Son enregistrement figure dans le journal d’audit, par sa longueur et non par son contenu.
Ce qui se passe quand rien ne peut être délivré
Un canal qui échoue consigne la raison sur lui-même, dans les mots du fournisseur, plutôt que d’échouer en silence. Un SMS rejeté dit ce que le réseau a dit. Un message WhatsApp rejeté quelques minutes après avoir été accepté dit quel modèle et quelle langue.
Cela compte plus qu’il n’y paraît. Chacun de ces fournisseurs répond « accepté » immédiatement et signale le vrai résultat plus tard — sans lire ce rapport, un canal aurait donc l’air vérifié, le message l’air envoyé, et la première chose qu’on apprendrait serait une panne dont personne n’a été prévenu.