Πώς να παρακολουθείτε την απόδοση του ιστότοπου με το Blackbox Exporter και το Grafana;

Αγαπάτε το Grafana για την παρακολούθηση μετρήσεων διακομιστή; Θα λατρέψετε επίσης το Blackbox Exporter για την παρακολούθηση ιστοτόπων!

Σε αυτό το σεμινάριο, θα μάθετε να εγκαθιστάτε το Blackbox Exporter στο CentOS/RHEL και θα κατανοήσετε πώς να το χρησιμοποιείτε με το Prometheus και το Grafana για την παρακολούθηση της απόδοσης και του χρόνου λειτουργίας του ιστότοπου.

Τι είναι το Blackbox Exporter;

Blackbox Exporter από το Prometheus χρησιμοποιείται για την ανίχνευση τελικών σημείων όπως HTTPS, HTTP, TCP, DNS και ICMP. Αφού ορίσετε το τελικό σημείο, ο εξαγωγέας Blackbox δημιουργεί εκατοντάδες μετρήσεις που μπορούν να οπτικοποιηθούν χρησιμοποιώντας το Grafana. Η μέτρηση του χρόνου απόκρισης είναι το πιο σημαντικό χαρακτηριστικό του εξαγωγέα Blackbox.

Το Blackbox Exporter είναι μια αυτο-φιλοξενούμενη λύση. Αν ψάχνετε για κάτι παρόμοιο, αλλά ως SaaS ή με βάση το cloud, τότε μπορείτε να δοκιμάσετε το Grafana worldPing.

Προαπαιτούμενα

Το Prometheus και το Grafana πρέπει να είναι προεγκατεστημένα. Ακολουθήστε αυτό το άρθρο για να εγκαταστήσετε το Prometheus και το Grafana.

Εγκατάσταση Blackbox Exporter

Επιτρέψτε μου να σας δείξω πώς να εγκαταστήσετε πρώτα τον εξαγωγέα Blackbox.

Βήμα 1: Κατεβάστε το Blackbox Exporter

μεταβείτε στο Επίσημη Σελίδα για λήψη του πιο πρόσφατου πακέτου εξαγωγής Linux AMD Blackbox. Κάνω λήψη του αρχείου blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Μεταφέρετε το ληφθέν αρχείο στον διακομιστή
  • Εξαγωγή αρχείων από το πακέτο.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Ελέγξτε όλα τα αρχεία εντός του εξαγωγέα Blackbox.

[[email protected] ~]$ cd blackbox_exporter-0.16.0.linux-amd64/
[[email protected] 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

Δύο αρχεία blackbox_exporter και blackbox.yml είναι σημαντικά εδώ.

  • blackbox_exporter: Αυτό είναι ένα εκτελέσιμο αρχείο για την εκτέλεση της υπηρεσίας.
  • blackbox.yml: Ένα αρχείο YAML με όλες τις διαμορφώσεις εξαγωγέα backbox που ορίζετε όλα τα τελικά σημεία για ανίχνευση και λειτουργικές μονάδες προς εκτέλεση.
  Πώς να κατεβάσετε όλες τις φωτογραφίες από μια συνομιλία Messenger

Η παρακάτω εντολή θα σας δώσει όλες τις σημαίες που μπορείτε να χρησιμοποιήσετε με τον εξαγωγέα Blackbox.

[[email protected] 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.

Βήμα 2: Δημιουργία χρήστη για το Blackbox

Αυτό είναι προαιρετικό.

Μπορείτε είτε να δημιουργήσετε έναν νέο χρήστη για να εκτελέσετε το Blackbox είτε να χρησιμοποιήσετε υπάρχοντες χρήστες του Prometheus για να το εκτελέσετε.

Παρέχετε δικαιώματα και εκχωρείτε την κυριότητα όλων των αρχείων του στον νέο χρήστη.

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

Βήμα 3: Διαμόρφωση υπηρεσίας Blackbox

Είναι καιρός να διαμορφώσετε το Blackbox Exporter ως υπηρεσία μέσα στο systemd. Δημιουργήστε ένα αρχείο blackbox.service και βάλτε τις γραμμές που αναφέρονται παρακάτω στο αρχείο και αποθηκεύστε το.

[[email protected] ~]$ 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

Μην ξεχάσετε να αλλάξετε τη διαδρομή προς το πραγματικό από όπου το έχετε εξαγάγει.

  Πώς να χτίσετε την καριέρα σας ως μηχανικός λογισμικού;

Βήμα 4: Ξεκινήστε το Blackbox Exporter

Εκτελέστε τις παρακάτω εντολές για να ξεκινήσετε την εξαγωγή Blackbox ως υπηρεσία.

[[email protected] ~]$ sudo systemctl daemon-reload
[[email protected] ~]$ sudo systemctl start blackbox.service
[[email protected] ~]$ 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 grtechpc.org.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 grtechpc.org.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 grtechpc.org.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 grtechpc.org.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 grtechpc.org.linuxvmimages.com blackbox_exporter[30

Μεγάλος!

Ο εξαγωγέας Blackbox ξεκίνησε με επιτυχία. Στο http://localhost:9115/ μπορείτε να βρείτε το Blackbox Exporter σε λειτουργία.

Ενσωμάτωση Blackbox με Prometheus

Ας ενσωματώσουμε το Blackbox Exporter με τον Prometheus για να αρχίσουμε να αποσύρουμε τις μετρήσεις.

  • Προσθέστε μια εργασία blackbox με τις παρακάτω διαμορφώσεις μέσα στο αρχείο prometheus.yml. Θα παρακολουθώ την απόδοση του https://www.telegraph.co.uk.
[[email protected] ~]$ 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.
[[email protected] ~]$ sudo systemctl restart prometheus.service
  • Όταν ελέγξετε ξανά τους στόχους στο http://localhost:9090/targets, θα βρείτε μια εργασία blackbox που εκτελείται με το τελικό σημείο που όρισα.

  • Κάντε κλικ στο Γράφημα και εκτελέστε το ερώτημα – probe_http_duration_seconds.

  • Θα δημιουργηθεί μια οπτικοποίηση στα δεδομένα που παρακολουθεί ο Prometheus.

Τώρα είναι ώρα να απεικονίσετε την εργασία Blackbox στο Grafana.

Υπάρχουν πολλοί τρόποι για να το ξεκινήσετε, αλλά ένας από τους πιο γρήγορους θα ήταν να ξεκινήσετε με ένα έτοιμο ταμπλό – Prometheus Blackbox Exporter.

  • Μεταβείτε στον πίνακα ελέγχου Grafana, κάντε κλικ στο σύμβολο + και κάντε κλικ στο Εισαγωγή.
  • Στο Import via grafana.com, βάλτε το dashboard id 7587 και κάντε κλικ στο Load.
  • Στη συνέχεια, επιλέξτε την πηγή δεδομένων Prometheus και κάντε κλικ στο Import.
  Επιδιόρθωση Το σύστημα δεν μπόρεσε να βρει την επιλογή περιβάλλοντος που είχε εισαχθεί

  • Ο πίνακας εργαλείων Prometheus Blackbox Exporter θα εισαχθεί.
  • Θα μπορείτε να οπτικοποιήσετε μετρήσεις όπως η συνολική διάρκεια ανίχνευσης, η κατάσταση, η διάρκεια HTTP, η μέση διάρκεια ανίχνευσης, η μέση αναζήτηση DNS, η λήξη SSL και πολλά άλλα.

  • Όλα αυτά είναι ξεχωριστά πάνελ στο ταμπλό. Επιτρέψτε μου να δείξω λεπτομερώς τον πίνακα Διάρκεια HTTP. Αυτό το πλαίσιο εμφανίζει την απεικόνιση της χρονικής διάρκειας που απαιτείται για τη σύνδεση, την επεξεργασία, την επίλυση, το tls και τα αιτήματα μεταφοράς.

Υπάρχουν πολλές επιλογές στο ταμπλό με τις οποίες μπορείτε να παίξετε. Μπορείτε να αλλάξετε το χρονικό εύρος για το οποίο θέλετε να εμφανίζεται η οπτικοποίηση. Μπορείτε επίσης να αλλάξετε το χρονικό διάστημα στην ανανέωση δεδομένων. Εδώ, τα νέα δεδομένα έρχονται στο ταμπλό κάθε 5 δευτερόλεπτα.

  • Όταν κάνετε κλικ στο κάτω βέλος Διάρκεια HTTP, θα λάβετε τις επιλογές που εμφανίζονται παρακάτω. Κάντε κλικ στην επεξεργασία.

  • Κάτω από τον πίνακα οπτικοποίησης, θα λάβετε ένα πρόγραμμα επεξεργασίας ερωτημάτων. Επί του παρόντος, το ερώτημα που εμφανίζεται στο παρακάτω στιγμιότυπο αποκτά οπτικοποίηση – probe_http_duration_seconds.

  • Υπάρχουν εκατοντάδες ερωτήματα που μπορείτε εύκολα να οπτικοποιήσετε και να τα προσθέσετε στον πίνακα ελέγχου σας σύμφωνα με τις απαιτήσεις.

  • Έχετε πολλές επιλογές για να αλλάξετε επίσης τον τύπο απεικόνισης. Η μέση διάρκεια ανίχνευσης υπάρχει στον πίνακα εργαλείων σε μορφή κειμένου. Από τον πίνακα οπτικοποίησης στα δεξιά, κάντε κλικ στην επιλογή Guage για τη μέση διάρκεια ανίχνευσης.

  • Και κάπως έτσι θα αλλάξει η οπτικοποίηση.

συμπέρασμα

Τα παραπάνω είναι απλώς για να σας δώσουμε μια ιδέα για το πόσο εύκολο είναι να παρακολουθείτε τον ιστότοπο με το Prometheus Blackbox και το Grafana. Υπάρχουν πολλές επιλογές και θα πρότεινα ανεπιφύλακτα να παίξετε μαζί του για να το ζήσετε. Αν είστε περίεργοι να μάθετε Grafana, τότε ρίξτε μια ματιά στη δική του διαδικτυακό μάθημα.

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;