Aller au contenu

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


.Shad.

Messages recommandés

Tant qu'à faire, j'aimerais intégrer

- Monitoring Docker
- Monitoring Unifi, y compris client usage (DPI)
- Monitoring piHole
- Monitoring Plex
- Monitoring bitwarden

 

@.Shad.Je viens de mettre à jour mon fichier docker-compose et le telegraf.conf, par contre, y a-t-il un dashboard spécifique à uploader dans grafana ?

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

@Jeff777, je viens d'essayer ce tuto, impossible que l'unifipoller n'accède à influxdb,

source : https://unifipoller.com/docs/install/synology

 

Create unifi-poller container#
In Image select golift/unifi-poller:latest and click launch
Leave general settings alone - container name should be golift-unifi-poller1, unless you created other unifi-pollers
Click Advanced Settings
On the network tab:
Add your network - in this example: Grafana_Net
Remove the default bridge (usually called Bridge)
Ensure that use the same network as docker host is unchecked
On the Environment tab, add the following vars:
UP_INFLUXDB_URL | http://influxdb1:8086
UP_UNIFI_DEFAULT_URL | https://your.unifi.controller.ip:8443
UP_UNIFI_DEFAULT_USER | username for account created earlier. e.g. unifipoller
UP_UNIFI_DEFAULT_PASS | password for above user
(optional) UP_POLLER_DEBUG | true
Finalize the container by:
Click APPLY
Click NEXT
Click APPLY
    •  
Modifié par Dimebag Darrell
Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Dimebag Darrell

Je ne sais pas pour le tuto unifipoller, mais si tu as déjà réalisé le monitoring du NAS selon le tuto de @.Shad. cela ne pose pas de problème de faire comme je l'ai indiqué en page 22.

Edit :  j'ai oublié de dire qu'il fallait, bien sûr, autoriser SNMP dans l'équipement UNIFI que l'on veut monitorer :

Capture.thumb.JPG.622bec419668fcb1ec372b720314e183.JPG

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

@Jeff777Merci beaucoup pour toutes les infos,

Etant assez créatif et voyant toutes les possibilités qu'offrent ce tutorial, j'ai un peu exploré au delà !

  • Plex : J'ai trouvé un tutorial sur comment monitorer plex à partir de grafana
    https://alexsguardian.net/2019/02/21/monitoring-your-media-server-with-varken/
    et : https://github.com/Boerderij/Varken
  • Avec une seule influxdb : 
    • Je viens de me casser la tête dessus, impossible de faire communiquer varken avec influxdb
      Erreur : [ERROR] influxdb.Write(points): {"error":"authorization failed"}
  • Avec deux influxdb séparées : 
    • Impossible de connecter Varken à l'adresse IP de la deuxième influxdb ! 
    • Malgré deux IP bien distinctes
  • Pour Unifi : 
    • Je suis tombé sur ce tuto, https://unifipoller.com/
    • Je résume, je suis arrivé aux mêmes problèmes de faire communiquer unfi-poller avec influxdb

 

La question, est-il possible de mettre plusieurs poolers différents qui alimente une seule DB (influxdb).

 

 

Au final, avec grafana,
Je souhaiterais avoir un monitoring complet c'est à dire.

- Synology
- docker
- Plex
- PiHole.
- Unifi (complet y compris le DPI)

Lien vers le commentaire
Partager sur d’autres sites

il y a 25 minutes, Dimebag Darrell a dit :

La question, est-il possible de mettre plusieurs poolers différents qui alimente une seule DB (influxdb).

oui c'est possible. Je n'ai qu'un seul influx, un seul telegraf, un seul grafana mais 5 dashboards : Freebox, 2nas+docker, borne UNIFI, routeur UBIQUITI et speedtest.

Pourquoi n'essaies-tu pas la méthode que je t'ai donnée pour UNIFI ?

Lien vers le commentaire
Partager sur d’autres sites

Pour que Varken ait accès à InfluxDB, il faut qu'il sache comment le joindre.
Si tu l'utilises sous forme de conteneur, il suffit de l'ajouter au réseau data_export et il pourra communiquer avec InfluxDB de la même manière que Telegraf et Grafana, via http://influxdb:8086, influxdb étant le nom du conteneur.

Si pas, alors il faut exposer le port d'InfluxDB sur le NAS, via :

ports:
  - 8086:8086

et viser l'IP du NAS : http://IP_du_NAS:8086

Lien vers le commentaire
Partager sur d’autres sites

version: '2.1'
services:

   varken:
    hostname: varken
    container_name: varken
    image: boerderij/varken
    networks:
      - monitoring
    volumes:
      - /volume1/docker/varken/config:/config
    environment:
      - VRKN_GLOBAL_TAUTULLI_SERVER_IDS=1
      - VRKN_INFLUXDB_URL=172.18.0.5
      - VRKN_INFLUXDB_PORT=9086
      - VRKN_INFLUXDB_SSL=false
      - VRKN_INFLUXDB_VERIFY_SSL=false
      - VRKN_INFLUXDB_USERNAME=nas_varken
      - VRKN_INFLUXDB_PASSWORD=nas_varken
      - VRKN_TAUTULLI_1_URL=192.168.1.5:8181
      - VRKN_TAUTULLI_1_FALLBACK_IP=1.1.1.1
      - VRKN_TAUTULLI_1_APIKEY=729f02f1846a45dc87d98f2a2e335ba8
      - VRKN_TAUTULLI_1_SSL=false
      - VRKN_TAUTULLI_1_VERIFY_SSL=false
      - VRKN_TAUTULLI_1_GET_ACTIVITY=true
      - VRKN_TAUTULLI_1_GET_ACTIVITY_RUN_SECONDS=30
      - VRKN_TAUTULLI_1_GET_STATS=true
      - VRKN_TAUTULLI_1_GET_STATS_RUN_SECONDS=3600
    restart: unless-stopped
networks:
        monitoring:
            external: true

@.Shad.Voici mon docker-compose (update)

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

Est-ce que tu as oublié de préciser la version en entête du fichier ainsi que services ou est-ce que c'est un mauvais copier coller ?

Si ton réseau contenant InfluxDB c'est bien monitoring, alors pas besoin de mettre l'IP mais tu mets juste le nom du conteneur, l'IP peut changer contrairement à son nom.

Tu as créé une nouvelle base de données manuellement dans InfluxDB ? Ce serait préférable. Voir le paragraphe sur le monitoring d'un Raspberry dans le tutoriel pour la procédure détaillée d'une création manuelle de base de données.

Lien vers le commentaire
Partager sur d’autres sites

@.Shad. non, c'est un mauvais copier coller

Il y a 10 heures, Jeff777 a dit :

Bonjour @Dimebag Darrell

Je ne sais pas pour le tuto unifipoller, mais si tu as déjà réalisé le monitoring du NAS selon le tuto de @.Shad. cela ne pose pas de problème de faire comme je l'ai indiqué en page 22.

Edit :  j'ai oublié de dire qu'il fallait, bien sûr, autoriser SNMP dans l'équipement UNIFI que l'on veut monitorer :

Capture.thumb.JPG.622bec419668fcb1ec372b720314e183.JPG

Je viens d'essayer, mais depuis la mise à jour du fichier telegraf.conf, et le restart du docker telegraph,  il redémarre sans arrêt 😕

Lien vers le commentaire
Partager sur d’autres sites

@Jeff777

Voici les input de mon fichier telegraf.com (mon fichier conf en pièce jointe)

telegraf.conf.back3

Cela fait deux jours exactement que je m'applique sur ce tuto

 

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

@Dimebag Darrell

Bonjour,

  1. Pour commencer si j'étais toi je sauvegarderais le fichier telegraf.conf de base et ensuite je le dupliquerais.
    Dans la copie je supprimerais tout ce que je n'utilise pas, histoire d'y voir plus clair . Il y a près de 98% des entrées qui ne te servent à rien (pour l'instant du moins ...). Si jamais tu as besoin d'une fonctionnalité spécifique il sera toujours temps de C/C depuis la sauvegarde ce que tu as besoin pour le coller dans ton fichier telegraf.conf de production.
  2. Toujours est-il que dans ton fichier ta liste d'agents pour Unify est mal formatée. Elle devrait être ainsi :

      agents = [  "192.168.1.3", "192.168.1.8", "192.168.1.95", "192.168.1.9" ]
    Attention aux espaces et aux guillemets ! Regardes ce que tu avais mis, tu verras ton erreur.

  3. Par sécurité je remplacerais aussi la community SNMP "public" par "UnNomAtaConvenance" aussi bien pour la partie Syno que la partie Unify. A corriger aussi sur le NAS pour être cohérent ! (dans Terminal et SNMP / SNMP)

  4. Enfin pour tester ton fichier telegraf.conf :
    Connectes toi sur ton conneteur telegraf en SSH et tapes ceci : docker exec -it telegraf bash
    Une fois connecté, tu tapes ceci : telegraf --test --config /etc/telegraf/telegraf.conf
    Là cela doit te ramener toutes les données collectées par telegraf. Vérifies alors qu'il n'y pas d'erreurs.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Salut @.Shad. @Jeff777

Source : 

https://alexsguardian.net/2019/02/21/monitoring-your-media-server-with-varken/
https://github.com/Boerderij/Varken
https://wiki.cajun.pro/books/varken/page/breakdown#bkmrk-maxmind

Excellente nouvelle, varken fonctionne ainsi que mon monitoring Plex.

Pre requis : installation du docker tautulli
Suvire ce tuto https://www.forum-nas.fr/viewtopic.php?t=13717

Dans mon exemple, uniquement tautulli a été installé, d'autres modules peuvent être aussi ajoutés

  • Sonarr - Smart PVR for newsgroup and bittorrent users.
  • SickChill - SickChill is an automatic Video Library Manager for TV Shows.
  • Radarr - A fork of Sonarr to work with movies à la Couchpotato.
  • Ombi - Want a Movie or TV Show on Plex or Emby? Use Ombi!
  • Unifi - The Global Leader in Managed Wi-Fi Systems

Image

Etape 1 :
Création d'une nouvelle database dans influxdb

CREATE DATABASE varken
USE varken

Etape 2 :
Création d'un user spécifique pour cette database

CREATE USER varken WITH PASSWORD 'varken'

Etape 3 : 
Donner les droits d'accès à la database

GRANT ALL ON varken TO varken

Pour terminer on redémarre le docker

docker restart influxdb

Etape 4 : 
Creation d'une key pour maxmind, pour ensuite la copier collé dans le docker compose / 
https://www.maxmind.com/en/geolite2/signup
- VRKN_GLOBAL_MAXMIND_LICENSE_KEY=
"key maxmind"

 
1. S'inscrire sur Maxmind et vérifier le compte
2. Aller dans Account, ensuite Services > My License Key dans le menu sur le coté, clicker sur "Generate New License Key".
3. Entrer la License key description, et selectionner "No" for "Will this key be used for GeoIP Update?", ensuite clicker sur "Confirm".
4. Copier la License Key et remplir le champs - VRKN_GLOBAL_MAXMIND_LICENSE_KEY="key maxmind"

Etape 5: 

Création du docker compose pour varken (dans le cas présent, je n'ai activé que l’environnement varken)
ps : il est possible d'intégrer la supervision d'autres modules utiles pour votre plex
 

version: '2.1'
services: 

 varken:
    hostname: varken
    container_name: varken
    image: boerderij/varken
    networks:
      - monitoring
    volumes:
      - /volume1/docker/varken/config:/config
    environment:
      - VRKN_GLOBAL_TAUTULLI_SERVER_IDS=1
      - VRKN_GLOBAL_MAXMIND_LICENSE_KEY=xxxxxxxxxxxxxxxxx
      - VRKN_INFLUXDB_URL=influxdb
      - VRKN_INFLUXDB_PORT=8086
      - VRKN_INFLUXDB_SSL=false
      - VRKN_INFLUXDB_VERIFY_SSL=false
      - VRKN_INFLUXDB_USERNAME=varken
      - VRKN_INFLUXDB_PASSWORD=varken
      - VRKN_TAUTULLI_1_URL=192.168.1.5:8181
      - VRKN_TAUTULLI_1_FALLBACK_IP=1.1.1.1
      - VRKN_TAUTULLI_1_APIKEY=729f02f1846a45dc87d98f2a2e335ba8
      - VRKN_TAUTULLI_1_SSL=false
      - VRKN_TAUTULLI_1_VERIFY_SSL=false
      - VRKN_TAUTULLI_1_GET_ACTIVITY=true
      - VRKN_TAUTULLI_1_GET_ACTIVITY_RUN_SECONDS=30
      - VRKN_TAUTULLI_1_GET_STATS=true
      - VRKN_TAUTULLI_1_GET_STATS_RUN_SECONDS=3600
    restart: unless-stopped
networks:
        monitoring:
            external: true

Etape 6 : grafana :

Ajouter une data source
Name: InfluxDB [Varken]
URL: http://influxdb:8086
Database: varken
User: varken
Password: varken

 

Etape 7

Importer un dashboard, par exemple via l'ID 9585

 

Merci à @.Shad. & @Jeff777 car faut l'avouer, je suis une b**** et un vrai débutant dans ce domaine, par contre, je suis persévérant.
Pour vous donner un exemple, j'ai du aller voir sur le net comment copier coller un fichier en commande linux... !

Prochaine étape dans mon monitoring, c'est UNIFI !

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

Salut, cool que ça marche enfin 🙂 

Je me permets par contre :

il y a 13 minutes, Dimebag Darrell a dit :

VRKN_INFLUXDB_URL=http://influxdb

Je ne vois pas pourquoi il y a besoin de mettre le HTTP, ce n'est pas ce que semble dire la doc : https://alexsguardian.net/2019/02/21/monitoring-your-media-server-with-varken/

Et je cacherais ma clé MAXMIND à ta place, on ne peut en avoir qu'une seule, ce serait dommage de se la faire piquer. 🙂

il y a 13 minutes, Dimebag Darrell a dit :

Etape 1 :
Création d'une nouvelle database dans influxdb



CREATE DATABASE varken


USE varken

Etape 2 :
Création d'un user spécifique pour cette database



CREATE USER varken WITH PASSWORD 'varken' WITH ALL PRIVILEGES

Etape 3 : 
Donner les droits d'accès à la database



GRANT ALL ON varken TO varken

Pour terminer on redémarre le docker



docker restart influxdb

En étape 2, tu donnes tous les droits à ton utilisateur, tu en fais un admin (mauvaise idée).
Puis à l'étape 3 tu lui donnes des droits qu'il a déjà sur la base de données créée juste avant.

Je te conseille d'éditer ton post et d'inviter à suivre la procédure que je préconise dans la section II-10-d pour la création d'une base de données. La tienne pose des problèmes de sécurité.

Et en dernier lieu aucun besoin de redémarrer le conteneur.

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

@.Shad.

Concernant les droits sur la DB, je ne sais pas pourquoi, lorsque j'ai voulu ajouter ma source dans grafana, il m'a indiqué que j'avais des problèmes de privilèges sur la DB, donc j'en ai conclu qu'il ne savait pas y accéder.
la raison pour laquelle, j'ai mis WITH ALL PRIVILEGES

Peut-être fallait-il dans le HTTP method indiqué : GET

J'ai apporté les quelques corrections que tu as mentionnés 

 

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Une petite question dans mon docker compose pour influxdb, est-ce possible d'indiquer toutes les databases que je souhaiterais créer, comme ça, pas besoin de se connecter directement sur celle-ci et devoir le faire manuellement.

 

 

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

Haha je m'étais renseigné il y a quelques temps pour faire la même chose, ce que j'avais trouvé était tellement alambiqué que j'avais laissé tombé. Et vu que je n'ai eu à le faire qu'une ou deux fois, je n'ai pas vu l'intérêt de pousser mes recherches plus avant.

Mais à mon avis un petit script bash peut tout à fait faire ce que tu veux. Sachant que depuis l'hôte tu peux exécuter n'importe quelle commande dans le conteneur avec docker exec.

Et qu'il n'y a pas forcément besoin de se connecter à Influx depuis InfluxDB pour exécuter des commandes (faut regarder la doc).

Tu dois même pouvoir introduire des variables en argument de ton script qui se chargera de tout créer seul, je vois ça comme un bel exercice de recherche. 🙂 

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

En effet, oui je me suis dit au final, deux DBs à créer ce n'est pas la mort !

Pour info, pour UNIFI, ça fonction avec unifipoller ! 
Je posterai à ce sujet.
Là, j'ai tout foutu à terre et je recommence depuis le début avec des vrais passwords et des noms qui correspondent à ma nomenclature !

 

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

 

il y a une heure, Dimebag Darrell a dit :

Je posterai à ce sujet.

Ah oui. Si tu peux mettre une image du dashboard pour voir ce que ça donne. En échange voici le mien du moins le début:

Capture.thumb.JPG.07edf5ff95c0eee64accf7bfe4aafca8.JPG

 

Modifié par Jeff777
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.