Bagaimana Memantau Kinerja Situs Web dengan Blackbox Exporter dan Grafana?

Suka Grafana untuk pemantauan metrik server? Anda juga akan menyukai Blackbox Exporter untuk pemantauan situs web!

Dalam tutorial ini, Anda akan belajar menginstal Blackbox Exporter di CentOS/RHEL dan memahami cara menggunakannya dengan Prometheus dan Grafana untuk memantau kinerja dan waktu aktif situs web.

Apa itu Eksportir Blackbox?

Eksportir Kotak Hitam oleh Prometheus digunakan untuk menyelidiki titik akhir seperti HTTPS, HTTP, TCP, DNS, dan ICMP. Setelah Anda menentukan titik akhir, pengekspor Blackbox menghasilkan ratusan metrik yang dapat divisualisasikan menggunakan Grafana. Mengukur waktu respons adalah fitur paling penting dari pengekspor Blackbox.

Blackbox Exporter adalah solusi yang dihosting sendiri. Jika Anda mencari sesuatu yang serupa, tetapi sebagai SaaS atau berbasis cloud, maka Anda dapat mencoba Grafana worldPing.

Prasyarat

Prometheus dan Grafana harus diinstal sebelumnya. Ikuti artikel ini untuk menginstal Prometheus dan Grafana.

Instalasi Eksportir Blackbox

Izinkan saya menunjukkan kepada Anda cara menginstal eksportir Blackbox terlebih dahulu.

Langkah 1: Unduh Blackbox Exporter

Pergi ke Halaman resmi untuk mengunduh paket eksportir Linux AMD Blackbox terbaru. Saya mengunduh file blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Transfer file yang diunduh ke server
  • Ekstrak file dari paket.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Periksa semua file di dalam eksportir 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

Dua file blackbox_exporter dan blackbox.yml penting di sini.

  • blackbox_exporter: Ini adalah file yang dapat dieksekusi untuk menjalankan layanan.
  • blackbox.yml: File YAML dengan semua konfigurasi pengekspor backbox yang Anda tentukan semua titik akhir untuk diselidiki dan modul untuk dijalankan.
  8 Alat Wake-On-LAN untuk Menghidupkan PC dari Jarak Jauh

Perintah di bawah ini akan memberi Anda semua bendera yang dapat Anda gunakan dengan eksportir 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.

Langkah 2: Buat Pengguna untuk Blackbox

Ini opsional.

Anda dapat membuat pengguna baru untuk menjalankan Blackbox atau menggunakan pengguna Prometheus yang sudah ada untuk menjalankannya.

Berikan izin dan tetapkan kepemilikan semua file-nya kepada pengguna baru.

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

Langkah 3: Konfigurasi Layanan Blackbox

Saatnya mengkonfigurasi Blackbox Exporter sebagai layanan di dalam systemd. Buat file blackbox.service dan letakkan baris yang disebutkan di bawah dalam file dan simpan.

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

Jangan lupa untuk mengubah jalur ke tempat sebenarnya di mana Anda telah mengekstraknya.

  Cara Menambahkan Situs Web ke Layar Utama iPhone atau iPad Anda

Langkah 4: Mulai Blackbox Exporter

Jalankan perintah di bawah ini untuk memulai pengekspor Blackbox sebagai layanan.

[[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 techking.id.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 techking.id.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 techking.id.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 techking.id.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 techking.id.linuxvmimages.com blackbox_exporter[30

Besar!

Pengekspor Blackbox telah berhasil dimulai. Di http://localhost:9115/ Anda dapat menemukan Blackbox Exporter berjalan.

Mengintegrasikan Blackbox dengan Prometheus

Mari integrasikan Blackbox Exporter dengan Prometheus untuk mulai mengorek metrik.

  • Tambahkan pekerjaan blackbox dengan konfigurasi di bawah di dalam file prometheus.yml. Saya akan memantau kinerja 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
  • Saat Anda memeriksa target di http://localhost:9090/targets lagi, Anda akan menemukan pekerjaan kotak hitam berjalan dengan titik akhir yang saya tentukan.

  • Klik Grafik dan jalankan kueri – probe_http_duration_seconds.

  • Visualisasi akan dibuat pada data yang dipantau oleh Prometheus.

Sekarang saatnya memvisualisasikan pekerjaan Blackbox di Grafana.

Ada banyak cara untuk memulainya, tetapi salah satu yang tercepat adalah memulai dengan dasbor yang sudah jadi – Eksportir Blackbox Prometheus.

  • Buka dasbor Grafana, klik tanda + dan klik Impor.
  • Di Import via grafana.com, masukkan dashboard id 7587 dan klik Load.
  • Kemudian pilih sumber data Prometheus dan klik Impor.
  Ekspor Dokumen Dari Google Drive Ke MS Word Di iPhone Anda

  • Dasbor Prometheus Blackbox Exporter akan diimpor.
  • Anda akan dapat memvisualisasikan metrik seperti Durasi Probe Global, Status, Durasi HTTP, Durasi Probe Rata-Rata, Pencarian DNS Rata-Rata, Kedaluwarsa SSL, dan banyak lagi.

  • Ini semua adalah panel terpisah di dasbor. Izinkan saya menunjukkan panel Durasi HTTP secara mendetail. Panel ini menampilkan visualisasi durasi waktu yang diperlukan untuk menghubungkan, memproses, menyelesaikan, tls, dan permintaan transfer.

Ada banyak sekali opsi di dasbor yang bisa Anda mainkan. Anda dapat mengubah rentang waktu yang diinginkan untuk menampilkan visualisasi. Anda juga dapat mengubah interval waktu dalam penyegaran data; di sini, data baru masuk ke dasbor setiap 5 detik.

  • Ketika Anda mengklik panah bawah Durasi HTTP, Anda akan mendapatkan opsi yang ditunjukkan di bawah ini. Klik edit.

  • Di bawah panel visualisasi, Anda akan mendapatkan editor kueri. Saat ini, kueri yang ditampilkan dalam snapshot di bawah ini sedang divisualisasikan – probe_http_duration_seconds.

  • Ada ratusan kueri yang dapat Anda visualisasikan dengan mudah dan ditambahkan ke dasbor sesuai kebutuhan.

  • Anda memiliki banyak opsi untuk mengubah jenis visualisasi juga. Durasi pemeriksaan rata-rata ditampilkan di dasbor dalam format teks. Dari panel visualisasi di sebelah kanan, klik opsi Guage untuk durasi pemeriksaan rata-rata.

  • Dan inilah bagaimana visualisasi akan berubah.

Kesimpulan

Di atas hanya untuk memberi Anda gambaran tentang betapa mudahnya memantau situs web dengan Prometheus Blackbox dan Grafana. Ada banyak pilihan, dan saya sangat menyarankan untuk bermain-main dengannya untuk mengalaminya. Jika Anda penasaran mempelajari Grafana, maka lihatlah dia kursus online.

Senang membaca artikelnya? Bagaimana kalau berbagi dengan dunia?