Intégration icinga & grafana

Bonjour,

Alors d’abord j’ai un peu honte parce que @Cpm a déjà aimablement répondu à la question sur IRC et j’ai juste perdu les liens :blush: Donc je repose la question ici avec l’excuse que ça pourra servir a d’autres.

https://chapril.org a un système de monitoring qui, si ma mémoire est bonne, est basé sur icinga. Et une intégration avec grafana a été faite et super bien intégré. Les fichiers de configuration sont quelque part et les captures écran aussi. C’est un travail qui pourrait aussi servir à Enough, évidement, donc il y a un intérêt à suivre le bon exemple.

Merci par avance!

Merci à QGuLL et @cpm pour les pointeurs ! C’est ici

icinga2-exemple

1 « J'aime »

Très bon prétexte :slight_smile: merci pour le partage.

Je me pose une question: si j’ai bien compris le protocol des plugin nagios (que icinga2 utilise) ils retournent des valeurs qui sont des états (ok, warning, critical) je ne comprend pas comment on peut faire pour en extraire des graphes avec graphana. C’est des plugins spéciaux ? J’ai rien compris au fonctionnement de icinga/nagios (probable) ?

1 « J'aime »

J’avoue mon ignorance crasse sur le sujet parce que je n’ai pas encore lu la doc. Mais je pense que le principe c’est d’associer le rendu grafana qui utilise des sondes indépendantes a l’intérieur de l’affichage de icinga. Et non pas de faire en sorte que grafana utilise les sondes nagios. Mais … c’est un apriori et rien d’autre, juste ça me parait logique.

il faudra que je lise la doc. (mon infra est aussi sous icinga2) Ça tombe bien demain c’est ferrié et on a pas le droit de sortir

1 « J'aime »

Je ne connais pas Icinga mais Nagios remonte bien un status mais peut aussi remonter en plus des données de performance (ça dépend des modules).
Ces données peuvent ensuite être utilisées pour tracer des courbes (c’est ce que faut nagiosgraph par exemple - c’est pas beau mais ça c’est un autre sujet !)

1 « J'aime »

Bonjour à tous,

Je suis en train de travailler sur l’intégration d’Icinga2 avec Grafana. Sur les conseils de @dachary (enough), je me suis basé sur les notes, ici : https://agir.april.org/issues/4439#change-17826.

J’ai réussi à tout mettre en œuvre à un détail près ! Le premièr graphe « hostalive » ne fonctionne pas, il affiche « no data », alors que tous les autres fonctionnent nickel. J’ai vu à la fin des notes d’install que vous avez peut-être un problème similaire.

Après quelques tests je pense avoir mis le doigt dessus, et je pense qu’il s’agit peut-être d’un bug avec le module InfluxDB d’Icinga2, avant de poster un bug pour rien sur leur Github, je voudrais tout de même vérifier avec vous que vous le même souci.

Voici donc (en Anglais, j’espère que cela est OK, sinon je pourrais éditer) mes annotations concernant ce souci :


The « base » graph which calls the command hostalive, indeed shows no data. Other graphs works as expected.

After digging a little, it seems that the URL sent by Icinga2 to Grafana looks like this :

http://127.0.0.1:3000/render/d-solo/YYYY/icinga2-default?var-hostname=XXXXX&var-service=hostalive&var-command=hostalive&panelId=1&orgId=1&width=640&height=280&theme=light&from=now-6h&to=now

The one, for apt (for example), looks the same however « hostalive » is replaced twice by « apt », like so :

http://127.0.0.1:3000/render/d-solo/YYYY/icinga2-default?var-hostname=XXXXX&var-service=apt&var-command=apt&panelId=1&orgId=1&width=640&height=280&theme=light&from=now-6h&to=now

If we inspect the influxDB table for « apt », there is a column called « service ». However, there is none for the table « hostalive ».

Now if we call the following URL (leaving var-service empty), the graph works as expected :

http://127.0.0.1:3000/render/d-solo/YYYY/icinga2-default?var-hostname=XXXXX&var-service=&var-command=hostalive&panelId=1&orgId=1&width=640&height=280&theme=light&from=now-6h&to=now

InfluxDB shell version: 1.8.3
Grafana: v7.3.2 (b8ad4eaab3)
Icinga WebUI: 1.3.6
Icinga2: 2.12.1


Du coup, cela me fait penser que le module influxDB pour Incinga n’envoie pas les bonnes info à InfluxDB.
Dans la table « hostalive », il devrait y avoir une colonne « service » avec la valeur « hostalive » pour chaque ligne de « mesure », comme c’est le cas pour toutes les autres tables.

cf. bug_icinga_influxdb

Si vous pouviez me confirmer / infirmer cela, ça serait génial !

Merci d’avance,
Denis

1 « J'aime »

Bonjour à tous,

Je viens de mettre en ligne mes notes d’installation sur le forum d’Enough. A toutes fins utiles, les voici : https://forum.enough.community/t/integrating-grafana-into-icinga/659

1 « J'aime »

Pour archive un role ansible d’intégration icinga/grafana a été terminé aujourd’hui (co-création @chapril @nesousx @pilou). Il n’a rien de générique mais il est assez facile a lire et probablement une bonne base de copier/coller.

2 « J'aime »