Monitoring avec NetData
Votre serveur et votre application sont en ligne et fonctionnent, super !
Mais comment savoir quand un problème arrive sur votre serveur ? Si vous n'avez plus d'espace disque ? Si la charge est trop importante et qu'il faut changer de serveur ? C'est pour ces raisons qu'il est intéressant de mettre en place une solution de monitoring (surveillance en français).
Monitoring késako
Classiquement, une solution de monitoring est un programme ou un ensemble de programmes collectant les informations systèmes émises par le serveur au fil du temps.
Ces outils sont plus ou moins spécialisés, et peuvent au-delà de ces fonctionnalités de base fournir des services supplémentaires :
- Une base de données stockant les métriques collectées
- Une interface permettant de visualiser les métriques collectées
- Un système d'alertes configurables pour être notifié d'un problème
- ...
Il existe de nombreux outils plus ou moins complexes à mettre en place et fournissant différents services dans le domaine du monitoring.
La solution facile à mettre en place, la plus adaptée à votre besoin, et pour autant très puissante que nous vous proposons de mettre en place est Netdata.
Netdata
Netdata est un logiciel libre écrit majoritairement dans les langages C et Go. C'est une solution assez légère, adaptée aussi bien pour des petits déploiements sur un seul serveur que sur de très gros déploiements sur des centaines.
Le plus gros avantage de cette solution, c'est son très faible besoin de configuration et de maintenance. En déployant Netdata sans configuration, vous disposez :
- De plusieurs centaines de métriques système
- D'une interface permettant de visualiser ces données
- D'un système d'alertes avec des centaines d'alertes pré-configurées
Vous êtes convaincus ?
Mise en ligne
En vous aidant de la documentation officielle de Netdata, ajoutez dans votre fichier compose.yaml un conteneur Netdata correctement configuré.
Netdata est un excellent outil, mais est conçu spécifiquement pour une utilisation interne, et ne doit de préférence pas être exposé sur l'internet public.
Plutôt que de l'exposer directement à l'internet en ouvrant un port, modifiez votre configuration de Caddy de manière à transmettre les requêtes du sous domaine monitoring.vpsX.lpmiaw-lr.fr à ce conteneur.
Cela vous permettra d'ajouter une authentification "basique" facilement pour éviter l'accès public à ce service.
Configuration des alertes
Votre Netdata est en ligne et collecte des données, mais il n'est pas encore en capacité de vous envoyer des alertes quand un évènement se produit : il n'est pas encore configuré pour ce faire.
Utilisez la documentation officielle de Netdata pour configurer un canal d'alertes de votre choix. Personnellement, je vous recommande de créer temporairement un serveur Discord ou Slack.
Pour utiliser un webhook Discord, suivez la configuration Slack et remplacez l'URL par celle fournie par Discord.