Bonjour
Depuis toujours j’utilisais le mail pour faire de l’alerting. J’étais conscient que cela n’était pas efficace mais c’est aussi ce qui est plus natif dans l’ensemble des applications (Supervision, Sauvegardes…)
Après avoir tester pas mal de choses comme le tweet sur un compte privé, j’ai décidé de trouver quelques choses de plus efficaces, je suis tombé sur Slack qui est en premier une plate-forme de communication collaborative mais qui propose pas mal de possibilités.
Slack a l’avantage de pouvoir créer via l’API des Incoming Webhooks dédiés à un channel permettant de catégoriser les messages en fonction de ses propres critères.
Je ne vais pas faire un article technique mais plutôt partager avec vous ma façon de faire et t’intégrer ça dans mon alerting quotidien.
Le lien ci dessus est très bien fait pour la mise en place via un simple script, mais je vous mets la syntaxe de base pour information :
curl -X POST \ --data-urlencode 'payload={"text":"Exemple de notification.\nCeci est un message de test."}' \ https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXX
Dans mon cas dans un premier temps j’ai décidé de dédier un compte Slack pour l’ensemble de l’alerting réseau avec des channels en fonction de la source de la notification. Dans mon cas et au moment ou je vous écris cet article, mes channels sont les suivants :
- backup : Regroupant tous les logs de sauvegardes ou plus précisément l’état des sauvergardes pour avoir eu vu synthétique et rapide
- centreon : avec l’ensemble des notifications de ma plateforme de supervision (voir screenshot ci dessous)
- opnsense : avec les notifications de mon firewall OPNsense
- proxmox: avec les messages d’alertes, de sauvegardes de l’ensemble de mes serveurs Proxmox
- qnap: avec les messages de mon Qnap aussi bien les mises à jour disponibles que les alertes techniques
- rclone : avec tous les logs d’externalisation des mes données via Rclone actuellement vers un compte Hubic 10To
- syno: avec les messages de mon Synology aussi bien les mises à jour disponibles que les alertes techniques
- ubiquiti : avec l’alerting des mes produits Ubiquiti comme les AP ou les caméras
- uptimerobot : avec les messages de supervision externe envoyés par UptimeRobot
Sur un second compte Slack j’ai actuellement deux channels uniquement :
- home-irobot : m’indiquant la fin du nettoyage de mon aspirateur IRobot Roomba
- thorandco-blog : me permettant d’avoir un suivi sur la publication des nouveaux articles de ce blog
Vous allez me dire que tout ca n’est pas possible uniquement avec Slack et vous avez raison, il y a pas mal de chose comme par exemple mon firewall ou l’aspirateur qu’on en peut pas interfacer directement, et c’est la que rentre en scène IFTTT en passerelle.
IFTTT est un service web gratuit permettant à ses utilisateurs de créer des chaînes d’instruction simples appelées applets. Une applet est déclenchée par des changements qui interviennent au sein de services web tels que Gmail, Facebook, Instagram ou Pinterest.
Dans notre cas c’est encore une fois les mails qui vont nous sauver. Par exemple une applet peut envoyer un Slack lorsque un compte Gmail reçoit un e-mail marqué d’un label spécifique, c’est cette fonctionnalité que j’utilise pour intercepter tous les notifications d’application ou de service ne pouvant pas simplement envoyer leurs messages vers Slack.
Voila à un rapide résumé de mon système de mon nouveau système de notification basé sur Slack
Slack est tout aussi bien fonctionnel sous Android et me permet donc d’avoir toujours un oeil sur mes notifications peut importe où je me trouve.
Bonne lecture à tous
Salut,
Bravo pour ton blog. Je partage pas mal de choses sur lesquelles tu bosses et je me posais une question par rapport à ta solution d’alerting avec slack (qui fait partie de ma to do list des choses à tester). Au niveau des notifications sur smartphone, peux tu définir des sonneries différentes en fonction des channels ou du degré critique ou pas d’une notification?
Bonjour
Sur mon Android (Honor 8) je peux choisir une sonnerie spécifique pour les alertes Slack, mais pas un par channel ou par degré de criticité hélas