Aller au contenu

Docker-Grafana : Questions diverses


oracle7

Messages recommandés

Posté(e)

Bonjour,

Typiquement, je souhaiterai ajouter par exemple le plugin "Pie Chart" à mon monitoring.

Malheureusement, la partie installation ne traite pas du cas d'un fichier docker-compse.yml. Cela dit de :

Citation

Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.

Ok mais comment faire cela ? On recopie le résultat du unpack au bon endroit après s'être connecté sur le conteneur grafana ?

J'ai bien aussi trouvé des bribes de paramètres à ajouter au fichier suscité tel que :

Citation

environment:
      GF_INSTALL_PLUGINS: "grafana-piechart-panel"
      GF_SECURITY_ADMIN_USER: "grafana_user"
      GF_SECURITY_ADMIN_PASSWORD: "grafana_password"

J'avoue être un peu perdu et une aimable aide serait la bien venue.

Après dans le principe je pense que ce sera pareil pour d'autres plugins, Non ?

Merci de vos réponses

Cordialement

oracle7😉

  • Réponses 62
  • Créé
  • Dernière réponse
Posté(e)
environment:
  - GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-worldmap-panel
  - GF_LOG_MODE=console file
  - GL_LOG_LEVEL=warn

C'est ce que j'utilise et ça marche très bien.
La doc n'est pas claire là-dessus je te rejoins, j'ai trouvé des infos sur le Github de Grafana.

Posté(e)

@.Shad.

Bonjour,

Merci pour ta réponse. Pour bien comprendre, il n'y a que ces lignes à ajouter au fichier docker-compose.yml ?

Cela me parait trop simple, il faut quand même DL les fichiers du plugin, non ?

Je ne comprends pas tout là ...

Cordialement

oracle7😉

Posté(e)

Non, rien d'autre.
Il va télécharger automatiquement les plugins et les installer, mais il faut recréer le conteneur pour ça.
Essaye tu verras.

Les plugins ne concernent que la première ligne, là je t'ai juste copié ce que j'utilise moi. 😉 

Posté(e)

@.Shad.

Je dois être vraiment "bouché" aujourd'hui ...🤪

il y a 28 minutes, .Shad. a dit :

mais il faut recréer le conteneur pour ça.

Donc le supprimer via l'interface de docker et relancer ensuite un docker-compose up -d ? un simple stop et start ne suffit-il pas ?

Je ne vais pas perdre mes dashbord  existantes ?

Cordialement

oracle7😉

Posté(e)

Tu ne perds que les données qui ne sont pas montées dans des volumes.
Les données de Grafana sont stockées dans :

/var/lib/grafana

Si tu as suivi le tutoriel tu as monté ce dossier pour justement avoir une persistance des données.
Donc aucun risque.

Tu fais juste :

docker-compose down
docker-compose up -d

Ça va recréer les réseaux internes (je crois que c'est ce que tu as fait), et le(s) conteneur(s) de ton fichier yml.

Posté(e)

@.Shad.

Bonjour,

Merci, c'est effectivement on ne peut plus simple d'ajouter un plugin.

Edit : Je résume la procédure pour ajouter un plugin à grafana :

Citation
  1. Dans le fichier docker-compose.yml, pour le service grafana, ajouter les lignes suivantes (en respectant l'indentation):
            environment:
                - GF_INSTALL_PLUGINS=grafana-piechart-panel
    Si on ajoute d'autres plugins : séparer les noms de plugins avec une virgule "," (grafana-xxxxxxx, grafana-yyyyyyyy,etc ...).
     
  2. Ensuite reconstruire le conteneur grafana : Dans une session SSH taper successivement :
    docker-compose down
    docker-compose up -d 

Si je peux me permettre, cela mériterait peut-être que tu ajoutes un couplet la dessus dans le TUTO docker :introduction, cela pourra servir à d'autres.

Je vais aussi renommer le présent fil en Docker-Grafana : questions diverses pour être plus générique et donc ouvert à d'autres questions à propos de Grafana. Ton avis STP avant ?

Cordialement

oracle7😉

Posté(e)

Je préférerais éviter d'étoffer encore plus le tutoriel, il y a déjà beaucoup d'information.
Mais c'est une bonne idée de faire un sujet qui y est dédié j'aurai sûrement des questions à poser pour les requêtes, je n'y connais rien. 🙂 

EDIT : Pourquoi dans le tutoriel introductif de Docker ? j'ai du mal à suivre de quoi il est question.

Posté(e)

@.Shad.

il y a 2 minutes, .Shad. a dit :

Pourquoi dans le tutoriel introductif de Docker ?

Effectivement, tu as raison, ce serait plutôt alors dans la partie grafana du TUTO Monitoring AS et réseau que je propose d'ajouter le couplet puisqu'il n'y a que là que l'on "détaille" un tant soit peu "grafana".

L'idéal serait qu'il y ait un TUTO dédié à sa mise en œuvre. Je m'y attellerais bien mais je suis encore très loin de maitriser le sujet; donc plus tard peut-être ...

Je renomme donc le présent fil.

Cordialement

oracle7😉

  • oracle7 a modifié le titre en Docker-Grafana : Questions diverses
Posté(e)

Hello 👋
De souvenirs, j'ai juste copier les dossiers dezippés des plugins dans le dossier plugins de garfana :

image.png.89bebfa8ddec3fbca239ed1dfe17221f.png

J'ai rien fait d'autre, si ce n'est relancer le conteneur et je les ai bien dans la liste des plugins dispo :

image.png.c8385583a4fb2e2347b977e4ca8f2b93.png

image.thumb.png.9f9d540c6ad425459c919115a8a448d8.png

Ils apparaissent juste comme "Signed" plutôt que comme "Core".

Posté(e)

@MilesTEG1

Bonjour,

C'est effectivement une autre solution simple d'intégrer un plugin.

Cela dit, j'aurais une préférence, pour celle de @.Shad. avec juste l'ajout une ligne dans le docker-compose.yml.

J'ai édité d'ailleurs une réponse plus haut pour synthétiser la chose.

Cordialement

oracle7😉

Posté(e)

Bonjour,

Nouvelle question à propos du monitoring des infos sur la RAM du NAS.

Avec une requête du style :

Citation

SELECT last("used_percent") FROM "mem" WHERE $timeFilter GROUP BY time($__interval)

J'arrive bien à retrouver le pourcentage d'utilisation de RAM (au % près et/ou arrondis près) tel que indiqué dans le Tableau de bord "Moniteur de ressources".

Problème : l'usage de la table "mem" ne permet pas d'effectuer la requête sur mon second NAS. La requête :

Citation

SELECT last("used_percent") FROM "mem" WHERE $timeFilter AND ("agent-host" = '192.168.2.11') GROUP BY time($__interval)

ne renvoie rien.

Maintenant si j'utilise les champs "memxxxxxx" de la table "snmp.SYNO" qui, elle, permet d'effectuer la requête sur mon second NAS, je n'arrive pas à retrouver le pourcentage d'utilisation de la RAM même pour mon premier NAS. J'ai bâti une requête du style :

Citation

SELECT ((last("memTotalReal") - last("memTotalFree")) * 100)  / last("memTotalReal") AS "Utilisation RAM" FROM "snmp.SYNO" WHERE ("agent_host" = '172.20.0.1')

Est-elle correcte selon vous pour obtenir le pourcentage d'utilisation de la RAM ?

Sinon comment faites vous ?

EDIT : Par ailleurs les infos en rapport avec la mémoire diffèrent entre les tables "snmp.SYNO" et "mem", est-ce normal ?

Existe-t-il un artifice qui permettent d'obtenir les infos de la table "mem" pour un autre NAS que le NAS hôte ?

Cordialement

oracle7😉

Posté(e)

Je ne sais pas comment mettre la requète que tu as cités au-dessus...
Sinon sur mon second NAS (celui qui n'a pas Docker), j'ai pu mettre ceci :

image.png.3d34b68c2491214a0725bbbaccdb3676.png

 

 

Pour le NAS qui a Docker de lancé, et donc Grafana et les autres trucs, j'ai la même chose :
image.png.d6f5d7098248f498aadc55643f0266b9.png

Mais je ne suis pas satisfait de ceci...
J'ai pu faire autre chose que j'aime un peu mieux, mais qui n'est pas parfait non plus :image.png.a251eb73af2982c4b07e95857b765714.png

 

Bref, la mémoire, c'est pas simple d'avoir quelque chose de sympa et réaliste 😄 


 

Posté(e)

@MilesTEG1

Bonjour,

il y a 50 minutes, MilesTEG1 a dit :

Je ne sais pas comment mettre la requète que tu as cités au-dessus...

Pour cela, tu cliques simplement sur le crayon dans l'éditeur de requête et l'écran de saisie des paramètres de la requête change en éditeur de texte où tu peux écrire ta requête de façon beaucoup plus complexe (en fait de façon plus proche lorsqu'on fait une requête en langage SQL pur), tel que :

image.thumb.png.9c8aa6ec6d83f54555ac9ac90eae8d52.png

Attention à la syntaxe qui est alors très pontilleuse ...

Tu re cliques sur le crayon pour revenir à l'éditeur par défaut. ATTENTION toutefois, tu vas alors perdre ta requête textuelle saisie précédemment. Ce que j'ai constaté, c'est que dans le sens "éditeur" vers "texte" il y a conversion de la requête en une forme textuelle et dans l'autre sens pas de conversion "inverse", tu reviens en fait à ta requête originelle. Donc tu peux avoir DEUX expressions bien différentes correspondant chacune à une requête différente. Fais l'essai pour t'en convaincre et tu verras que c'est même piégeux quelque part !

Donc selon le besoin et la complexité, tu fais ta requête avec l'éditeur ou avec le mode texte (plus proche du "vrai" SQL).

Tout cela pour dire qu'au final qu'avec les champs disponibles de la table snmp.SYNO qui permet d'atteindre tous les NAS dans la clause "WHERE agent_host = @IP du NAS", on a pas les mêmes valeurs qu'avec les champs de la table "mem" qui elle ne remonte que les données propre à l'hôte courant (pas de champ agent_host disponible pour la clause WHERE) et donc pas celles d'un second NAS par exemple.

Dommage car cette table "mem" donne les mêmes valeurs que celles qui sont affichées dans le moniteur de ressources de DSM ce qui n'est pas le cas de la table "snmp.SYNO". Va comprendre pourquoi ?

Encore plus paradoxal, est le champ "menTotalFree" qui lui, cumule "memAvailReal" et "memCached". Ce qui fait que, selon la valeur de la mémoire mise en cache on se retrouve parfois avec une valeur pour "memTotalFree" très supérieure à celle de "memTotalReal" (total mémoire installée physiquement). C'est délirant !!! Par exemple :

image.png.c84d60dc3240b91672ceb14bd5dd30c9.png

il y a 50 minutes, MilesTEG1 a dit :

Bref, la mémoire, c'est pas simple d'avoir quelque chose de sympa et réaliste 😄 

100 % d'accord avec toi.

Cordialement

oracle7😉

 

Posté(e)

Bonjour,

Afin d'afficher dans le monitoring des valeurs cohérentes (les mêmes en fait) et comparables aux valeurs correspondantes affichées dans le moniteur de performances de DSM pour :

  • la capacité mémoire (exprimée en kilobytes metric dans grafana) d'une part,
  • la capacité des disques (exprimées en Bytes metric dans grafana) d'autre part,

    je suis obligé de multiplier respectivement ces valeurs par "0.954" et par "0.91".

Comment expliquez-vous cet écart entre les coefficients ci-dessus ? pourquoi sont-ils différents ? les bytes mémoire seraient différents des bytes disque ? je souhaiterais comprendre.

Donc si quelqu'un sait expliquer cela, il sera le bienvenu. D'avance Merci.

Cordialement

oracle7😉

Posté(e)

Je ne sais pas pourquoi les valeurs qu'on a dans Grafana ne sont pas identiques à celle du gestionnaire de ressource de DSM...
Je l'avais déjà remarqué, mais je n'avais pas trouvé la correction...

Le 21/09/2020 à 20:24, oracle7 a dit :

@MilesTEG1

Bonjour,

Pour cela, tu cliques simplement sur le crayon dans l'éditeur de requête et l'écran de saisie des paramètres de la requête change en éditeur de texte où tu peux écrire ta requête de façon beaucoup plus complexe (en fait de façon plus proche lorsqu'on fait une requête en langage SQL pur), tel que :

image.thumb.png.9c8aa6ec6d83f54555ac9ac90eae8d52.png

Attention à la syntaxe qui est alors très pontilleuse ...

Tu re cliques sur le crayon pour revenir à l'éditeur par défaut. ATTENTION toutefois, tu vas alors perdre ta requête textuelle saisie précédemment. Ce que j'ai constaté, c'est que dans le sens "éditeur" vers "texte" il y a conversion de la requête en une forme textuelle et dans l'autre sens pas de conversion "inverse", tu reviens en fait à ta requête originelle. Donc tu peux avoir DEUX expressions bien différentes correspondant chacune à une requête différente. Fais l'essai pour t'en convaincre et tu verras que c'est même piégeux quelque part !

Donc selon le besoin et la complexité, tu fais ta requête avec l'éditeur ou avec le mode texte (plus proche du "vrai" SQL).

Tout cela pour dire qu'au final qu'avec les champs disponibles de la table snmp.SYNO qui permet d'atteindre tous les NAS dans la clause "WHERE agent_host = @IP du NAS", on a pas les mêmes valeurs qu'avec les champs de la table "mem" qui elle ne remonte que les données propre à l'hôte courant (pas de champ agent_host disponible pour la clause WHERE) et donc pas celles d'un second NAS par exemple.

Dommage car cette table "mem" donne les mêmes valeurs que celles qui sont affichées dans le moniteur de ressources de DSM ce qui n'est pas le cas de la table "snmp.SYNO". Va comprendre pourquoi ?

Encore plus paradoxal, est le champ "menTotalFree" qui lui, cumule "memAvailReal" et "memCached". Ce qui fait que, selon la valeur de la mémoire mise en cache on se retrouve parfois avec une valeur pour "memTotalFree" très supérieure à celle de "memTotalReal" (total mémoire installée physiquement). C'est délirant !!! Par exemple :

image.png.c84d60dc3240b91672ceb14bd5dd30c9.png

100 % d'accord avec toi.

Cordialement

oracle7😉

 

J'avais vu qu'on pouvait mettre la requête en texte, mais comme elle n'était pas traduite en mode visuel lorsqu'on revenait sur ce mode, j'avais cru que c'était buggé...
Il manque un bouton pour sauvegarder et que ça s'affiche en visuel...

Sinon, ta RAM elle devrait pas être en GB plutôt qu'en MB ?

Posté(e)

@MilesTEG1

Bonjour,

il y a 15 minutes, MilesTEG1 a dit :

Sinon, ta RAM elle devrait pas être en GB plutôt qu'en MB ?

Oui tu as raison, j'ai corrigé depuis car j'ai dans grafana j'avais mis l'unité en Bytes alors que les données sont fournies en kBytes d'où l'écart d'un facteur 1000 que j'avais dans la copie d'écran précédente :

image.png.c459636085289f1b5588cb0e2e66eae1.png

SELECT last("memTotalReal") * .954 AS "Installée", (last("memTotalReal") - last("memAvailReal") - last("memBuffer")) * .954 AS "Utilisée", last("memAvailReal") * .954 AS "Libre", last("memCached") * .954 AS "En Cache" FROM "snmp.SYNO" WHERE ("agent_host" = '172.20.0.1') AND $timeFilter GROUP BY time($__interval)

 

Mais cela ne m'explique toujours pas pourquoi les facteurs de conversion sont différents entre RAM et Disque ?

Cordialement

oracle7😉

Posté(e)

@MilesTEG1

Bonjour,

On n'attaque pas les mêmes tables.

Toi pour obtenir le pourcentage d'utilisation de la RAM tu utilises la table "mem". Mais si tu avais un second NAS par exemple comme moi, cette table ne te donnait aucune informations sur ce second NAS car elle ne concerne que l'hôte courant.

Comme j'ai deux NAS, c'est pour cette raison que j'utilise la table snmp.SYNO qui elle comporte les informations de TOUS les agents déclarés dans le fichier telegraf.conf.

Par ailleurs, comme il n'y a pas de champ équivalent à "used_percent" dans la table snmp.SYNO, je suis obligé de recalculer le pourcentage d'utilisation de la RAM avec la requête suivante :

SELECT (((last("memTotalReal") - last("memAvailReal") - last("memCached") - last("memBuffer")) * 100) * .954) / (last("memTotalReal") * .954) AS "Utilisation % RAM" FROM "snmp.SYNO" WHERE ("agent_host" = '172.20.0.1')

image.png.2475ce936328141bab41ffb7256091bc.pngimage.png.871d37ef0b87bc8bcc47c73bea319178.png

Comme il est impossible d'obtenir la quantité de RAM réservée (pas de champ disponible donnant cette valeur), mon résultat n'est pas complètement juste pour avoir le pourcentage de RAM réellement utilisée (en jaune ci-dessus) mais l'erreur est faible (à 465MB près😜 soit estimé à < 0.4%) ...

Par ailleurs, dans ta formule (math(*12000/100)) tu prends 12000 comme valeur de RAM installée. C'est une valeur "théorique" quelque part car en fait ce sont les champs "memTotalReal" ou "hrMemorySize" de la table "snmp.SYNO" qui donnent la bonne valeur à prendre en compte soit pour toi : 11.54 GB ou 11540 pour ton calcul.

Cordialement

oracle7😉

 

Posté(e)

@oracle7

J'arrive à la même formule que toi de mon côté, j'ai une précision à 20 Mo près sur la RAM utilisée.
Pour moi le problème vient du fait que le pourcentage d'utilisation indiqué par DSM n'a pas de décimale.
Après l'idée c'est surtout d'avoir un aperçu des stats générales de nos périphériques.

  • 4 mois après...
Posté(e)

Bonjour,

Je rencontre ce petit problème d'affichage des champs de valeurs booléennes. Par exemple :

image.png.4dc506273c41cbd76564c3e4abf74aaf.png

Je souhaiterai convertir ces valeurs true et false par exemple en  : "OK / NON OK" ou "Actif / Inactif". J'ai bien essayé via les Overrides de champs et en fixant des "values mapping" mais cela ne marche pas :

image.png.e9446af024e0638bf934320023211564.png

Du coup, quelle astuce utilisez-vous pour afficher correctement ces booléens ?

Cordialement

oracle7😉

Posté(e)

@oracle7
Tu es dans quel onglet ?
Car en fonction du type de visualisation, tu peux être soit dans Panel, soit dans un onglet dédié Overrides.

QoOFsyK.png

Envoie le code de ton panel, que je tente sur mon install ^^

bon j'ai que 2 ETH moi... 

Posté(e)

@MilesTEG1

Bonjour,

Je suis bien sur l'onglet "Overrides". De toutes façons dans l'onglet "Panel", on ne peut pas agir sur les champs en particulier.

il y a 24 minutes, MilesTEG1 a dit :

bon j'ai que 2 ETH moi... 

Je travail actuellement sur le monitoring de la Livebox, c'est pour cela que tu vois 4 ports Ethernet. Je te joins le fichier json du panel, mais je crains que tu n'en feras rien sans les données associées, à moins que tu ne les reconstitues dans un measurement spécifique dans une de tes bases données influxdb.

panel_LAN.json

Cordialement

oracle7😉

 

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.