Le monitoring est l’autre nom de la supervision. C’est la possibilité d’avoir, en un coup d’œil via une interface, la vision de l’état de votre infrastructure et de pouvoir recevoir des alertes en fonction des problèmes.
Pourquoi monitorer ?
Plus votre infra grandi, plus il est difficile de garder un œil sur les différents problèmes que vos serveurs et équipements puissent rencontrer. Le monitoring permet de surveiller et d’être alerté en cas de problème sur votre infrastructure. Mais cela vous permet aussi de faire évoluer votre infrastructure en fonction de vos besoins.
Quelles solutions choisir ?
Il existe beaucoup de solutions pour mettre en place du monitoring, des certaines payantes d’autres open source. Parmi les solutions open source, la plus connue reste Nagios, mais ce dernier n’est pas vraiment des plus simples à mettre en place. C’est pour cela que je me suis tourné vers Zabbix.
Cette présentation du monitoring sera le premier article d’une série d’articles expliquant la mise en place d’un serveur Zabbix avec sa configuration, mais aussi de Grafana avec l’intégration de Zabbix et pour finir, une interface destinée aux utilisateurs : Cachet
Zabbix : la récolte d’information
Zabbix est un logiciel de supervision open source, il fonctionne de façon active (il va chercher les données) et passive (il attend de recevoir les données).
Zabbix peut récupérer les données de plusieurs façons :
- Avec un agent installé (Linux / Windows / MacOS)
- Avec SNMP (équipements réseaux, NAS, ESXi, etc…)
- Avec JMX (applications Java)
- Avec IPMI (HP ILO, DELL DRAC, IBM RSA, etc…)
Mais Zabbix peut aussi superviser des serveurs Web en surveillant la réponse du site, récupérer des infos JSON, etc… En bref : Zabbix est capable de récupérer énormément de données de pratiquement tous vos équipements, serveurs ou services.
Grafana : l’affichage des données
Malgré les efforts de Zabbix pour la mise en forme des données, Grafana reste indétrônable autant pour sa simplicité que pour son interface simple et jolie. Grafana est lui aussi open source et se déploie facilement.
Après avoir lié la base de données de votre Zabbix à votre Grafana, il sera très simple de mettre en forme les informations que vous souhaitez afficher.
Grafana est compatible avec énormément de bases de données et de services. La communauté, très active, met à disposition différents plug-ins bien utiles.
Voici une image de la supervision de mon infra personnelle affichée avec Grafana :
CachetHQ : l’affichage pour les utilisateurs
Vos utilisateurs n’ont pas à avoir accès à toutes les informations de votre supervision, c’est pour cela que nous afficherons le statut de nos différents services sur une page dédiée avec les informations nécessaires.
CachetHQ gère aussi la notification mail pour les utilisateurs qui se seront abonnés aux notifications de vos différents services.
Nous utiliserons un script en python pour automatiser la mise à jour de cette page directement avec Zabbix.
Vous pouvez avoir un aperçu de CachetHQ directement sur ma page status.
Cet article est une présentation des solutions qui existent et que j’utilise, mais nous verrons dans de prochains articles comment mettre en place tout ceci.