Sur mon serveur de métriques, j'utilise ce qu'on appelle la pile TIG, c'est-à-dire Telegraf, Influxdb, Grafana.
Telegraf est un collecteur. Il est installé sur les machines locales et distantes. Il est hautement configurable et permet de collecter des données localement, comme les données système, et il est également capable de collecter des données à distance à l'aide de SNMP, si j'ai les fichiers MIB corrects pour surveiller les machines distantes.
Influxdb est une base de données "time series". Elle est capable de collecter des données en temps réel et de les stocker sur le serveur. Sur mon serveur, Telegraf est configuré pour envoyer des métriques à cette base de données Influxdb. Telegraf envoie ces données via HTTP. Il supporte également d'autres protocoles, tels que UDP, que mon serveur Proxmox utilise.
Grafana est une solution open source d'analyse et de surveillance qui fonctionne avec ce que l'on appelle des sources de données. Une source de données est l'endroit où Grafana va trouver les données dont il a besoin pour afficher les métriques. Dans mon cas, la source de données est ma base de données Influxdb, car c'est là que chaque métrique est stockée grâce à Telegraf. Je peux créer de nombreux tableaux de bord avec des informations utiles dans Grafana.
J'ai créé des tableaux de bord pour tous les serveurs que je possède, mes pare-feu pfSense et mon NAS Synology. Mes serveurs et pare-feu Linux utilisent Telegraf pour envoyer des métriques à Influxdb, et mon NAS se fait interroger en SNMP par le serveur Grafana parce que Synology ne fournit pas de package Telegraf, mais fournit des fichiers MIB.
Mon tableau de bord pfSense me donne des informations sur le système, les disques, les interfaces et le débit. Je l'utilise principalement pour vérifier les métriques du réseau, afin de voir l'utilisation de mes interfaces réseau en temps réel.
Les mesures qui indiquent l'utilisation du processeur, la moyenne de charge et l'utilisation du disque m'aident également à voir s'il y a un problème avant qu'il ne devienne critique, même si ces éléments sont déjà surveillés par mon serveur Centreon.
Je surveille également pfblocker-ng sur mon pfSense, afin de voir combien de domaines sont bloqués, quels sont ces domaines et de quelle IP provient la requête.
Grâce à cela, je sais tout sur mon serveur pfsense.
Proxmox dispose d'un émetteur de métriques intégré. Il n'utilise pas Telegraf et envoie ses données via UDP. Etant donné que mes serveurs Linux envoient leurs données par HTTP, j'ai créé une base de données dédiée à Proxmox car il ne fonctionne pas de la même manière que les autres.
J'ai un tableau de bord dédié à Proxmox. Tout comme pfSense, j'ai des graphiques qui me donnent des informations sur le système, comme l'utilisation du processeur, la charge moyenne, l'utilisation du disque et la capacité. Il surveille également ces mesures pour chaque machine virtuelle fonctionnant sur le nœud.
Je surveille également les informations relatives au réseau, qui me donnent l'utilisation du réseau par le nœud et les machines virtuelles. Je dispose également d'un graphique de réseau plus détaillé.
Les mesures sur mon NAS Synology sont récupérées par le serveur Grafana via SNMP. J'ai téléchargé toutes les MIB nécessaires pour que Telegraf puisse envoyer des requêtes et récupérer les informations pertinentes.
Sur mon NAS, je surveille les informations système de base tout comme mes autres serveurs. Je surveille également l'état du RAID, l'état et les erreurs des disques, l'état global, l'état de l'alimentation et l'état des ventilateurs.
Je travaille encore sur ces graphiques, car je pense pouvoir collecter plus d'informations à partir de mon NAS. Mais les métriques les plus importantes, notamment en ce qui concerne la santé des disques, sont là.
Sur tous mes serveurs et pare-feux Linux, Telegraf est installé et envoie des métriques à la base de données Influxdb via HTTP. Grâce à cela, je n'ai pas besoin de créer des tableaux de bord spécifiques pour chaque serveur, car Telegraf envoie le même type d'informations pour chaque serveur.
Je n'utilise qu'un seul tableau de bord dans lequel je peux sélectionner un serveur pour afficher ses informations. Ce tableau de bord affiche les informations habituelles sur le système, le réseau, le noyau et les disques. En haut du tableau de bord, je peux sélectionner le serveur sur lequel je veux vérifier les métriques.
Certains graphiques, comme les graphiques du réseau, ne fonctionnent pas encore correctement. Je dois y travailler pour qu'ils affichent les informations que je souhaite.
La réalisation de ce serveur m'a beaucoup aidé à apprendre la pile TIG, qui est également très utilisée en entreprise. C'est aussi un bon moyen d'avoir un aperçu de ce qui se passe sur mon infrastructure domestique en temps réel.