Aller au contenu

[TUTO] Monitoring réseau (Telegraf + InfluxDB 1.8 + Grafana)


.Shad.

Messages recommandés

@bruno78 Est-ce que ça ne peut pas être dû au downtime de ton installation, le buffer de Telegraf qui s'est gonflé pendant qu'InfluxDB était indisponible, et que le paquet est devenu trop gros ?

Je n'ai pas constaté de problèmes équivalents, peut-être simplement supprimer le fichier temporaire ? Je n'ai rien trouvé de plus que j'imagine tu as déjà trouvé en modifiant la taille du cache dans Nginx.

Lien vers le commentaire
Partager sur d’autres sites

@.Shad. merci pour ta réponse,

je n'ai pas joué sur le cache, mais sur les tailles et nombre de buffer, .... sans aucun succès. Par ailleurs, ces fichiers temporaires sont immédiatement libérés.

Pour le moment j'ai mis la poussière sous le tapis, et changé le niveau d'erreur rapporté dans error.log de façon à ne plus avoir les warning. Mais ce n'est qu'une rustine le temps de trouver une solution perenne.

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Bonjour,

Tu trouveras ci-joint les fichiers .json des panels grafana pour le routeur. Pour l'instant je n'ai que ceux-là. J'apprend encore à découvrir comment utiliser les nombreuses infos des MIBs.

Pour importer ces fichiers .json :

  • dans  ton dashboard tu cliques en haut à droite sur le "plus orangé" "Add panel"
  • dans le cadre qui s'ouvre tu cliques sur le bouton bleu "add new panel"
  • ensuite tu édites le panel (clique sur le titre du panel et tu sélectionnes "inspect / panel JSON"
  • tu importes par C/C le contenu du fichier .json

Il te faudra adapter ensuite le panel à ton environnement càd modifier : source de données influxdb, @IP de l'agent, etc ... (en fait tu examines les requêtes pour faire les corrections).

N'hésites pas à revenir vers moi si besoin.

Cordialement

oracle7😉

 

 

Routeur_1.json Routeur_2_Mem.json Routeur_3_Cpu.json

Lien vers le commentaire
Partager sur d’autres sites

@oracle7 merci beaucoup 🥰

J'ai cru que j'avais un soucis... que telegraf ne fonctionnait plus correctement car j'avais rien dans le panel importé...
J'ai vu des erreurs dans le log de Telegraf :

2020-12-21T16:59:30Z W! [inputs.snmp] Collection took longer than expected; not complete after interval of 30s,
2020-12-21T17:00:00Z W! [inputs.snmp] Collection took longer than expected; not complete after interval of 30s,
2020-12-21T17:00:20Z E! [inputs.snmp] Error in plugin: agent 192.168.2.201: performing get on field sysName: Request timeout (after 3 retries),
2020-12-21T17:00:30Z W! [inputs.snmp] Collection took longer than expected; not complete after interval of 30s,
2020-12-21T17:00:44Z E! [outputs.influxdb] When writing to [http://monitoring_influxdb:8086]: Post "http://monitoring_influxdb:8086/write?consistency=any&db=nas_telegraf": dial tcp 172.20.0.5:8086: connect: connection refused,
2020-12-21T17:00:44Z E! [agent] Error writing to outputs.influxdb: could not write any address,
2020-12-21T17:02:11Z I! Starting Telegraf 1.16.3,
2020-12-21T17:02:11Z I! Using config file: /etc/telegraf/telegraf.conf,
2020-12-21T17:02:11Z I! Loaded inputs: cpu disk diskio docker kernel mem processes snmp swap system,
2020-12-21T17:02:11Z I! Loaded aggregators: ,
2020-12-21T17:02:11Z I! Loaded processors: ,
2020-12-21T17:02:11Z I! Loaded outputs: influxdb,
2020-12-21T17:02:11Z I! Tags enabled: host=monitoring_telegraf,
2020-12-21T17:02:11Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"monitoring_telegraf", Flush Interval:10s,
2020-12-21T17:02:21Z E! [outputs.influxdb] When writing to [http://monitoring_influxdb:8086]: Post "http://monitoring_influxdb:8086/write?consistency=any&db=nas_telegraf": dial tcp 172.20.0.5:8086: connect: connection refused,
2020-12-21T17:02:21Z E! [agent] Error writing to outputs.influxdb: could not write any address,

Jusqu'à ce que j'édite le fichier de conf de telegraf et que je vire l'adresse ip du nas qui n'est plus allumé (mon vieux ds214play).
Et après redémarrage du conteneur, j'ai encore les erreurs des deux dernières lignes du log ci-dessus.

Mais en fait Grafana a bien les données 😄

Merci ^^

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Bonjour,

Là pour analyser ces erreurs, je crains qu'il ne faille le secours de l'expert en la matière, à savoir @.Shad.. Lui seul à mon avis saura te répondre. Désolé de ne pouvoir t'en dire plus...🥴

Cela dit, je regarderai sa réponse attentivement pour en apprendre un peu plus.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1 @oracle7,

dsl j'ai suivi de (très) loin, mais ces 2 dernières lignes en erreur, elles continuent ? ou c'est fini ? parce que si telegraf n'arrive pas à se connecter, à un moment donné il va manquer des données !

Là c'est "nas_telegraf" qui n'arrive pas à écrire vers influxdb ....

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Bonjour,

Sans garantie, car je n'ai pas testé moi-même avec les NAS et le routeur, mais je le fais pour mes caméras :

SELECT last("macAddr") AS "@MAC", last("manufacturer") AS "Marque", last("deviceModel") AS "Modèle", last("softwVersion") AS "Version Firmware", last("vidEncode") AS "Codec Vidéo", last("deviceID") AS "NoCAM" FROM "snmp.HIK" WHERE $timeFilter GROUP BY "agent_host"

 

Ce qui importe dans la reqête c'est les clauses WHERE et GROUP BY.

Pour faire apparaitre le champ "agent_host" il faut aller dans l'onglet "transform" et sélectionner "organize fields". Là tu rend visible le champ "agent_host". Ainsi il t'affichera les @IP du routeur et des NAS (enfin tous les agents définis dans le telegraf.conf.

Cordialement

oracle7😉

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

il y a 46 minutes, bruno78 a dit :

Là c'est "nas_telegraf" qui n'arrive pas à écrire vers influxdb ....

@bruno78 : Je viens de redémarrer le conteneur telegraf, et je n'ai plus d'erreur.
Quelque chose me dit que quand je redémarre la stack compète, le conteneur telegraf démarre avant que influxdeb soit entièrement démarré...

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.
En fait c'est déjà le cas...
 

---
version: "2"
# Attention, avec ce fichier, il faut avoir créer le réseau "monitoring_nas" avant de créer les conteneurs.
services:
  monitoring_influxdb:
    image: "influxdb:latest"
    container_name: monitoring_influxdb
    hostname: monitoring_influxdb
    networks:
      - monitoring_nas
    environment:
      - INFLUXDB_DB=nas_telegraf
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=blabla
      - INFLUXDB_USER=nas_telegraf
      - INFLUXDB_USER_PASSWORD=blablabla
      - INFLUXDB_HTTP_AUTH_ENABLED=true
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - /volume1/docker/monitoring/influxdb/data:/var/lib/influxdb
    ports:
      - "8086:8086"
    restart: unless-stopped

  monitoring_chronograf:
    image: "chronograf:latest"
    container_name: monitoring_chronograf
    depends_on:
      - monitoring_influxdb
    networks:
      - monitoring_nas
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      # Mount for chronograf database
      - /volume1/docker/monitoring/chronograf/:/var/lib/chronograf/
    ports:
      # The WebUI for Chronograf is served on port 8888
      - "9888:8888"
    restart: unless-stopped
    
  monitoring_telegraf:
    image: "telegraf:latest"
    container_name: monitoring_telegraf
    hostname: monitoring_telegraf
    depends_on:
      - monitoring_influxdb
    networks:
      - monitoring_nas
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - /volume1/docker/monitoring/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - /proc:/host/proc:ro
      - /usr/share/snmp/mibs:/usr/share/snmp/mibs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "8125:8125/udp"
      - "8092:8092/udp"
      - "8094:8094"
    restart: unless-stopped

  monitoring_grafana:
    image: "grafana/grafana:latest"
    container_name: monitoring_grafana
    hostname: monitoring_grafana
    depends_on:
      - monitoring_influxdb
    networks:
      - monitoring_nas
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - /volume1/docker/monitoring/grafana/data:/var/lib/grafana
    user: "1037"
    ports:
      - "3030:3000"
    restart: unless-stopped

networks:
  monitoring_nas:
    external:
        name: monitoring_nas

Bon il manque la dépendance à telegraf pour grafana... Je l'ajoute.
Mais je ne pense pas que ce soit ça qui cause le soucis...

Bon bah après recréation de la stack, c'est bon 😉 Plus d'erreur. Reste à voir avec les futures MAJ avec watchtower ^^


image.thumb.png.45be840cb966807e0e3079e63fc1eb4b.png

Lien vers le commentaire
Partager sur d’autres sites

il y a 5 minutes, oracle7 a dit :

Pour mon information et pour la faire courte, à quoi te sert précisément chronograf ?

Si mes souvenirs sont bons, je crois que je l'ai installé pour accéder à influxDB et gérer la bdd directement... j'ai tenté un conteneur pour récupérer les données de ma station netatmo, et il me fallait créer une nouvelle bdd dans InlfuxDB, mais je t'avoue que j'ai abandonné car ce conteneur netatmo ne fonctionnait pas du tout... et du coup chronograf est resté XD

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, oracle7 a dit :

Ah OK ! C'est pour "pour accéder à influxDB et gérer la bdd directement". Je vais éventuellement creuser cela.

 

@oracle7 ça fait bien plus que ça, ça fait comme grafana 🙂

Look :

image.thumb.png.bc0ae4c4e60ccf673d583eeb895537ed.png

image.thumb.png.4b5e7971bfdb30159cc8323311257e08.png

Ça me semble un peu plus complexe à prendre en main, mais ça me semble aussi plus joli ^^

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Joli tableau de bord ! 🤗

Finalement je vois que tu n'a pas regroupé l'affichage et que tu as gardé un panel pour le NAS et un pour le routeur. A mon sens, c'est mieux de ne pas mélanger "choux et carottes" ...🤪 C'est plus lisible.

Il ne te manque plus que le monitoring de tes caméras...

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, oracle7 a dit :

Finalement je vois que tu n'a pas regroupé l'affichage et que tu as gardé un panel pour le NAS et un pour le routeur. A mon sens, c'est mieux de ne pas mélanger "choux et carottes" ...🤪 C'est plus lisible.

@oracle7 Ha mince, j'avais complètement zapé ton post plus haut, je vais tenter ça 😉

Plus lisible hmmm, le reste c'est le bordel dans mon dashboard 🤪

il y a 3 minutes, oracle7 a dit :

Il ne te manque plus que le monitoring de tes caméras...

Heu... pas sur que j'y arrive... Ce sont des reolink àpascher 😛 Je n'ai pas vu dans leurs options de trucs ressemblant au SNMP...
Cela dit, si tu as des idées, je suis preneur ^^

Lien vers le commentaire
Partager sur d’autres sites

bonjour, 

lu avec attention ce sujet mais je bloque au début :

création du réseau bridge. j'obtiens le message suivant:

Error

2020/12/24 14:39:59

xxxadmin

Create network data_export:bridge failed: {"message":"could not find an available, nonoverlapping IPv4 address pool among the defaults to assign to the network"}.


je précise que j'ai installé un VPN via openvpn et que j'accède à mon NAS depuis l'extérieur sans pb.

J'ai ajouté la règle : tous   tous    172.16.0.0 / 255.240.0.0   autoriser  dans le pare-feu.

une piste ?

d'avance merci

 

 DS720+  4 To

 

 

Lien vers le commentaire
Partager sur d’autres sites

bonjour @bruno78,

voici ma liste réseaux :

lan 1 & lan 2 sur un switch et livebox

openVPN2 : mon VPN "PureVPN "

2020-12-24.thumb.png.a32870bc9260ca7ce36f15cbcbae2a67.png

je ne rencontre aucun pb en LAN ni en WAN.

 

Celui que je veux créé est la  :

 1151959340_dockerrzo1.thumb.jpg.612bc8cfc87e301fa80e74363babc9f5.jpg

 

et j'obien ce message d'erreur dans les log : 1880645068_dockerrzo2.thumb.jpg.7fa6e3f0ce420d1c9b0e23d3b555086a.jpg

 

je bloque  😞

 

Merci pour votre aide

 

 

docker rzo 1.jpg

Modifié par Philippe D
photo en trop
Lien vers le commentaire
Partager sur d’autres sites

@Philippe D

Tu peux poster le résultat de ces commandes en SSH sur ton NAS (connecté avec root, sinon rajouter sudo devant chaque commande) s'il-te-plaît ?

docker network ls
docker network create data_export

Si cette dernière produit la même erreur, essayer :

docker network create data_export --subnet="172.20.0.0/16"

 

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

bonjour @.Shad.,

voici le résultat des commandes

 

login as: philadmin
philadmin@192.168.1.11's password:

philadmin@nas:~$ sudo docker network ls

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
NETWORK ID          NAME                DRIVER              SCOPE
bd08dd3eb7f9        bridge              bridge              local
fb4ecea708b5        host                host                local
a36fd165f24e        none                null                local

 

philadmin@nas:~$ sudo docker network create data_export
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

 

philadmin@nas:~$ sudo docker network create data_export --subnet="172.20.0.0/16"
1d234e3a4f9a43ec9f89827c1ec9661a982da8aa02807622aded941f3d362d66
philadmin@nas:~$

 

Merci
 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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.