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é.
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.

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.

- Cliquez sur le graphique et exécutez la requête - sonde_http_duration_seconds.

- Une visualisation sera créée sur les données surveillées par Prometheus.

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.

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


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

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.

- Lorsque vous cliquez sur la flèche vers le bas Durée HTTP, vous obtiendrez les options ci-dessous. Cliquez sur modifier.

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

- Il existe des centaines de requêtes que vous pouvez facilement visualiser et ajouter à votre tableau de bord selon les besoins.

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

- Et c'est ainsi que la visualisation changera.

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.
-
Avi est un passionné de technologie avec une expertise dans les technologies tendances telles que DevOps, Cloud Computing, Big Data et bien d'autres. Il est passionné par l'apprentissage des technologies de pointe et le partage de ses connaissances avec les autres par… lire la suite