Des sondes de températures ont été ajouté à ma solution de supervision de chaufferie. Il a donc fallu intégrer ces nouvelles sondes à Cacti afin de générer des graphiques. Alors que les graphiques des précédentes sondes fonctionnent parfaitement (reliées au même device Cacti), l’ajout d’un nouveau graphique est impossible.
Première étape : passer son graphique récalcitrant en mode « debug ». Cela permet d’avoir un retour des éventuels messages d’erreur concernant la génération du graphique.
ERROR: opening '/var/www/cacti/rra/ow_server_ds18b20temperature_40.rrd': No such file or directory
Je trouve alors un message indiquant que Cacti n’est pas capable de trouver le fichier « rrd » contenant les données afin de générer le graphique.
Les différents forums sur internet indiquent pour ce genre de message un problème de droit au niveau du dossier « rra » dans Cacti. Dans mon cas cela m’étonne énormément vu que mes précédents graphiques ne rencontrent aucuns problèmes et sont mis à jour de manière normale.
Les droits semblent corrects après vérification.
Les forums d’aides indiquent également un éventuel problème de l’exécution du poller via Cron. Cela m’étonne également beaucoup vu que mes graphiques actuellement en place sont maintenu à jour. Il est possible dans les paramètres de Cacti de régler le niveau de log (type de message enregistré au cours de l’exécution de l’outil) en fonction du besoin. Ici je suis passé en niveau DEBUG. (Ne pas oublier de modifier ce paramètre à la fin de vos investigations pour éviter une surcharge d’écriture sur votre serveur Cacti).
Le poller s’exécute bien toute les minutes comme configuré. Cependant deux lignes dans les logs font leur apparition à chaque exécution du poller et ont retenu mon attention :
04/11/2015 04:04:03 PM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool rrdtool update /var/www/cacti/rra/ow_server_ds18b20temperature_40.rrd --template DS18B20Temperature 1428761042:38.1875 04/11/2015 04:04:03 PM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool rrdtool create /var/www/cacti/rra/ow_server_ds18b20temperature_40.rrd --step 60 DS:DS18B20Temperature:GAUGE:120:0:U
Les logs indiquent donc qu’à chaque exécution du poller Cacti, toute les minutes, un fichier rrd est créé puis mis à jour. Le problème qui semble évident et qui n’apparait pas sur les logs : le fichier rrd n’est pas créé.
J’ai donc décidé d’exécuter la commande directement dans un terminal sur ma machine pour vérifier si avec le user root je suis capable de générer le fichier rrd :
sudo rrdtool create /var/www/cacti/rra/ow_server_ds18b20temperature_38.rrd --step 60 DS:DS18B20Temperature:GAUGE:120:0:U
ERROR: you must define at least one Round Robin Archive
L’exécution résulte en une erreur. Il manque des paramètre dans la génération du fichier rrd.
Depuis la création de mon dernier graphique j’avais augmenté la durée de rétention des données de 1 à 5 ans par la création d’un nouveau rra dans Cacti.
Cependant en configurant ce nouveau rra, je n’ai sélectionné aucun paramètre de consolidation. C’est ce paramètre qui manque à « rrdtool » pour générer le fichier rrd. Seul problème : aucun message n’est retourné à l’utilisateur pour cette erreur. Les logs de Cacti n’indiquent également aucune erreur majeure.
Le choix de paramètre de consolidation dans mon nouveau rra m’a permis de résoudre le problème.