Métriques ping avec Prometheus et Grafana

Un simple article, qui, je crois, peut contribuer dans n’importe quel domaine, Et ce n’est rien de plus qu’un 😊😂 ping, Voyons voir je ris, Mais il fournit des informations intéressantes à de nombreuses reprises. Dans cet article, nous allons voir comment envoyer des pings aux adresses IP internes/externes dont nous souhaitons connaître la latence, s’il y a des coupures… et le comprendre visuellement avec Grafana.

Si nous étions intéressés à savoir en temps réel (au niveau de 1 deuxième, 5…) connectivité à certaines adresses IP, pour savoir au minimum quand nous avons un problème de réseau, si nous n’atteignons pas Internet, un service que nous avons publié, ou adresses IP internes des délégations, Centre de données… Adresses IP que nous aimerions connaître (Je) si les colis tombent et (Ii) Votre temps de réponse (Connaître les latences). Dans cet article, nous allons voir comment, de manière très simple et rapide, nous l’avons assemblé.

Comme je vous l’ai dit, Cette année, j’ai l’intention de mettre un peu l’accent sur ce type de sujets que nous n’avons pas encore beaucoup abordés dans le blog, surtout ceux qui sont faciles à déployer et à appliquer à une majorité 🙂 Alors commençons! En supposant que nous avons déjà dans notre environnement déployé un Prometheus et un Grafana, Nous pouvons commencer.

Le moyen le plus efficace sera de déployer un autre conteneur Docker, Dans ce cas, nous utiliserons 'ping-exporter’ cela en un clin d’œil nous permettra de ping et de visualiser ses données dans un tableau de bord Grafana, Nous créons le dossier et nous entrons dans:

cd mkdir ping-exporter mkdir ping-exporter/config cd ping-exporter

Nous créons le fichier de configuration docker compose pour ce conteneur avec 'nano docker-compose.yaml’

Version: '3.9'
services:
    ping_exporter:
        image: czerwonk/ping_exporter container_name: ping_exporter volumes:
            - './config:/Configuration:ro'
        ports:
            - '9427:9427'
        restart: réseaux à moins qu’ils ne soient arrêtés:
           ping_exporter_default:

Réseau:
  ping_exporter_default:
    chauffeur: Pont Ipam:
     Configuration:
       - Sous-réseau: XX.XX.XX.0/24
         Passerelle: XX.XX.XX.1

Où vous allez créer un conteneur appelé ping_exporter, basé sur l’image de ping_exporter, qui montera le dossier config et exposera les métriques pings sur le port 9427TCP, particularités que j’aime définir des gammes de réseaux spécifiques, autrement, J’ai sauté les derniers 4 Lignes.

L’étape suivante, sera de créer le fichier de configuration pour ping_exporter, Je vous laisse avec cet exemple:

Cibles:
  - 8.8.8.8
  - 1.1.1.1
  - 192.168.0.1
  - 192.168.1.1

Ping:
  intervalle: 5s délai d’expiration: 5s history-size: 42
  taille_charge utile: 120

Options:
  désactiverIPv6: Vrai

Comme vous pouvez le voir, Dans la section « Objectifs »’ nous pouvons ajouter les adresses IP que nous voulons pinger,. Ainsi que les paramètres par défaut, cependant, pour faire les pings tous les 5 Secondes, Définir un délai d’expiration, Taille… Tout d’abord, J’ai oublié, Je vous laisse le Lien officiel du projet au cas où vous souhaiteriez avoir plus d’informations.

Avec cela, nous l’avons, Il ne reste plus qu’à déplier le conteneur et à le mettre en marche, pour cela:

sudo docker compose up -d

Une fois le conteneur déployé, nous pourrons vérifier qu’il exposera déjà les métriques des PING, pour cela, si nous nous connectons à partir d’un navigateur avec http à l’adresse IP Docker, au port de ping_exporter (9427TCP par défaut) et mettez la fin de l’URL '/metrics'.

Maintenant, ce qu’il nous reste, sera de demander à Prometheus d’ingérer ces métriques, pour cela, ce sera aussi simple que d’éditer le fichier de configuration de Prometheus (Par exemple: 'nano~/prométhée/prométhée/prometheus.yml’ et nous ajoutons un job pour nous connecter à l’IP et au port de l’ping_exporter:

...
  - job_name: ping-prometheus scrape_interval: 5scrape_timeout: 5static_configs:
      - Cibles:
        - DIRECCION_IP_DOCKER:PUERTO_PING_EXPORTER
...

Par défaut, il connectera chaque 5 Secondes.

Et n’oubliez pas de redémarrer le conteneur Prometheus pour recharger les paramètres:

sudo Docker Redémarrer Prometheus

Et c’est tout, Nous l’avons déjà!! Que nous reste-t-il ?? Eh bien, voyez-le à Grafana 😊. Pour ce faire,, en supposant que nous suivions les étapes du document précédent, nous avons déjà déployé Grafana et créé le datasource contre Prometheus, Bon, c’est juste qu’il va falloir importer un tableau de bord qui nous plaît et que la communauté a fait, par exemple je recommande cet ID: 19761. C’est pourquoi chez Grafana, ce ne sera rien de plus que de frapper dans les tableaux de bord > Nouveau > Importation > Collez l’ID et le tableau de bord sera importé, il vous demandera de nommer le tableau de bord et de choisir le connecteur Prometheus. À partir de là, vous êtes prêt!

À partir de là, vous pouvez personnaliser le tableau de bord à votre guise si vous le souhaitez, ou tout ce dont vous avez besoin. Mais waouh, vous verrez que dans un instant vous avez un tableau de bord où il sera facile d’interpréter si une adresse IP a eu un problème pendant une période de temps particulière, ainsi que si les paquets sont abandonnés ou si nous voulons voir les temps de latence, Des temps meilleurs, résultats moyens ou moins bons. Pour goûter les couleurs qui sont de simples pings.

À certaines occasions, grâce à ce type d’informations, nous avons été en mesure de déterminer quand un WAN fonctionnait mal, ou lorsqu’il y a un problème d’électronique réseau, et à partir d’un commutateur, les paquets tombent, car il peut avoir un problème/fardeau…

Comme dirait Kristian Pielholf dans Bricomanía… facile, Simple et familial 🤣, J’espère, comme toujours, que vous l’avez trouvé intéressant et qu’avec les conseils de ceux-ci et d’autres, nous pouvons apprendre à connaître et à maîtriser nos infrastructures.

Je t’envoie un câlin, Se comporter bien 😉

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!