English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment surveiller les performances du site Web avec Blackbox Exporter et Grafana?

boîte noire prométhée
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Vous aimez Grafana pour la surveillance des métriques de serveur? Vous adorerez également Blackbox Exporter pour la surveillance de site Web!

Dans ce didacticiel, vous apprendrez à installer Blackbox Exporter sur CentOS / RHEL et à comprendre comment l'utiliser avec Prometheus et Grafana pour surveiller les performances du site Web et Stabilité.

Qu'est-ce que Blackbox Exporter?

Exportateur Blackbox by Prometheus est utilisé pour sonder les points de terminaison tels que HTTPS, HTTP, TCP, DNS et ICMP. Une fois que vous avez défini le point de terminaison, l'exportateur Blackbox génère des centaines de métriques qui peuvent être visualisées à l'aide de Grafana. La mesure du temps de réponse est la caractéristique la plus importante de l'exportateur Blackbox.

Blackbox Exporter est une solution auto-hébergée. Si vous recherchez quelque chose de similaire, mais en tant que SaaS ou basé sur le cloud, vous pouvez essayer Monde Grafana.

Prerequisites

Prometheus et Grafana doivent être préinstallés. Suivez cet article pour installer Prometheus et Grafana.

Blackbox Exporter Installation

Laissez-moi vous montrer comment installer d'abord l'exportateur Blackbox.

Étape 1: Téléchargez Blackbox Exporter

Allez à page officielle pour télécharger le dernier package d'exportateur Linux AMD Blackbox. Je télécharge le blackbox_exporter-0.16.0.linux-amd64.tar.gz fichier.

  • Transférez le fichier téléchargé sur le serveur
  • Extrayez les fichiers du package.
[centos@geekflare ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Vérifiez tous les fichiers dans l'exportateur Blackbox.

[centos@geekflare ~]$ cd blackbox_exporter-0.16.0.linux-amd64/
[centos@geekflare blackbox_exporter-0.16.0.linux-amd64]$ ls -l
total 16672
-rwxr-xr-x. 1 centos centos 17050332 Nov 11 2019 blackbox_exporter
-rw-r--r--. 1 centos centos 629 Nov 11 2019 blackbox.yml
-rw-r--r--. 1 centos centos 11357 Nov 11 2019 LICENSE
-rw-r--r--. 1 centos centos 94 Nov 11 2019 NOTICE

Deux fichiers blackbox_exporter et blackbox.yml sont importants ici.

  • blackbox_exporter: il s'agit d'un fichier exécutable pour exécuter le service.
  • blackbox.yml: un fichier YAML avec toutes les configurations d'exportateur de backbox que vous définissez tous les points de terminaison à tester et les modules à exécuter.

La commande ci-dessous vous donnera tous les drapeaux que vous pouvez utiliser avec l'exportateur Blackbox.

[centos@geekflare blackbox_exporter-0.16.0.linux-amd64]$ ./blackbox_exporter -h
usage: blackbox_exporter [<flags>]

Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).

--config.file="blackbox.yml"
Blackbox exporter configuration file.
--web.listen-address=":9115"
The address to listen on for HTTP requests.

--timeout-offset=0.5 Offset to subtract from timeout in seconds.

--config.check If true validate the config file and then exit.

--history.limit=100 The maximum amount of items to keep in the history.

--web.external-url=<url>
The URL under which Blackbox exporter is externally reachable (for example, if Blackbox exporter is served via a
reverse proxy). Used for generating relative and absolute links back to Blackbox exporter itself. If the URL has a
path portion, it will be used to prefix all HTTP endpoints served by Blackbox exporter. If omitted, relevant URL
components will be derived automatically.

--web.route-prefix=<path>
Prefix for the internal routes of web endpoints. Defaults to path of --web.external-url.

--log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]

--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--version Show application version.

Étape 2: Créer un utilisateur pour Blackbox

Ceci est facultatif.

Vous pouvez soit créer un nouvel utilisateur pour exécuter Blackbox, soit utiliser les utilisateurs Prometheus existants pour l'exécuter.

Fournissez des autorisations et attribuez la propriété de tous ses fichiers au nouvel utilisateur.

[centos@geekflare ~]$ sudo useradd -rs /bin/false blackbox
[centos@geekflare ~]$ sudo chmod -R 777 /home/centos/blackbox_exporter-0.16.0.linux-amd64
[centos@geekflare ~]$ sudo chown -R blackbox:blackbox /home/centos/blackbox_exporter-0.16.0.linux-amd64

Étape 3: Configurer le service Blackbox

Il est temps de configurer Blackbox Exporter en tant que service à l'intérieur systemd. Créer un fichier blackbox.service et mettez les lignes mentionnées ci-dessous dans le fichier et enregistrez-le.

[centos@geekflare ~]$ sudo gedit /etc/systemd/system/blackbox.service

[Unit]
Description=Blackbox Exporter Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=blackbox
Group=blackbox
ExecStart=/home/centos/blackbox_exporter-0.16.0.linux-amd64/blackbox_exporter --config.file==/home/centos/blackbox_exporter-0.16.0.linux-amd64/blackbox.yml

[Install]
WantedBy=multi-user.target

N'oubliez pas de changer le chemin vers le chemin réel où vous l'avez extrait.

Étape 4: Démarrez Blackbox Exporter

Exécutez les commandes ci-dessous pour démarrer l'exportateur Blackbox en tant que service.

[centos@geekflare ~]$ sudo systemctl daemon-reload
[centos@geekflare ~]$ sudo systemctl start blackbox.service
[centos@geekflare ~]$ sudo systemctl status blackbox.service
● blackbox.service - Blackbox Exporter Service
Loaded: loaded (/etc/systemd/system/blackbox.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-06-13 17:28:40 EDT; 1s ago
Main PID: 30427 (blackbox_export)
Tasks: 5
CGroup: /system.slice/blackbox.service
└─30427 /usr/local/bin/blackbox_exporter --config.file=/etc/blackbox.yml

Jun 13 17:28:40 geekflare.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:212 msg="Starting b...b9a9)"
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:213 msg="Build cont...SSING)
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:225 msg="Loaded config file"
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30

Génial!

L'exportateur Blackbox a démarré avec succès. À http://localhost:9115/ vous pouvez trouver Blackbox Exporter en cours d'exécution.

exportateur de boîte noire - geekflare

Integrating Blackbox with Prometheus

Intégrons Blackbox Exporter à Prometheus pour commencer à récupérer les métriques.

  • Ajouter un blackbox travail avec les configurations ci-dessous à l'intérieur du prométhée.yml fichier. Je vais surveiller les performances de https://www.telegraph.co.uk.
[centos@geekflare ~]$ sudo gedit /etc/prometheus/prometheus.yml

- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx] # Look for a HTTP 200 response.
static_configs:
- targets:
- https://www.telegraph.co.uk
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115 # The blackbox exporter's real hostname:port.
  • Redémarrez Prometheus.
[centos@geekflare ~]$ sudo systemctl restart prometheus.service
  • Lorsque vous vérifiez les cibles à http://localhost:9090/targets encore une fois, vous trouverez un travail de boîte noire en cours d'exécution avec le point de terminaison que j'ai défini.
cible d'emploi blackbox - geekflare
  • Cliquez sur le graphique et exécutez la requête - sonde_http_duration_seconds.
requête prometheus - geekflare
  • Une visualisation sera créée sur les données surveillées par Prometheus.
visualisation prométhée - geekflare

Il est maintenant temps de visualiser le travail Blackbox sur Grafana.

Il existe de nombreuses façons de démarrer, mais l'une des plus rapides serait de commencer avec un tableau de bord prêt à l'emploi - Exportateur de boîtes noires Prometheus.

  • Accédez au tableau de bord Grafana, cliquez sur + signe et cliquez sur Importer.
  • Dans Importer via grafana.com, mettez l'ID du tableau de bord 7587 et cliquez sur Charger.
  • Sélectionnez ensuite la source de données Prometheus et cliquez sur Importer.
importation grafana - geekflare
  • Le tableau de bord Prometheus Blackbox Exporter sera importé.
  • Vous pourrez visualiser des métriques telles que la durée globale de la sonde, le statut, la durée HTTP, la durée moyenne de la sonde, la recherche DNS moyenne, l'expiration SSL et bien d'autres.
tableau de bord grafana - geekflare
tableau de bord grafana 1 - geekflare
  • Ce sont tous des panneaux séparés sur le tableau de bord. Laissez-moi vous montrer le panneau Durée HTTP en détail. Ce panneau affiche la visualisation de la durée nécessaire pour la connexion, le traitement, la résolution, les tls et les demandes de transfert.
Durée HTTP

Il existe de nombreuses options sur le tableau de bord avec lesquelles vous pouvez jouer. Vous pouvez modifier la période pendant laquelle vous souhaitez que la visualisation apparaisse. Vous pouvez également modifier l'intervalle de temps dans l'actualisation des données; ici, les nouvelles données arrivent dans le tableau de bord toutes les 5 secondes.

intervalle de temps
  • Lorsque vous cliquez sur la flèche vers le bas Durée HTTP, vous obtiendrez les options ci-dessous. Cliquez sur modifier.
modification du panneau
  • Sous le panneau de visualisation, vous obtiendrez un éditeur de requêtes. Actuellement, la requête affichée dans l'instantané ci-dessous est en train d'être visualisée - sonde_http_duration_seconds.
éditeur de requêtes
  • Il existe des centaines de requêtes que vous pouvez facilement visualiser et ajouter à votre tableau de bord selon les besoins.
métrique
  • Vous avez également de nombreuses options pour modifier le type de visualisation. La durée moyenne de la sonde est présente sur le tableau de bord au format texte. Dans le panneau de visualisation à droite, cliquez sur le Jauge option pour la durée moyenne de la sonde.
durée moyenne de la sonde
  • Et c'est ainsi que la visualisation changera.
jauge de durée moyenne de la sonde

Conclusion

Ce qui précède est juste pour vous donner une idée de la facilité avec laquelle il est de surveiller le site Web avec Prometheus Blackbox et Grafana. Il existe de nombreuses options et je suggère fortement de jouer avec pour en faire l'expérience. Si vous êtes curieux d'apprendre Grafana, consultez son Cours en ligne.

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder