Как отслеживать производительность веб-сайта с помощью Blackbox Exporter и Grafana?

Как отслеживать производительность веб-сайта с помощью Blackbox Exporter и Grafana?

Любите Grafana для отслеживания метрик сервера? Вам также понравится Blackbox Exporter для мониторинга веб-сайтов!

В этом руководстве вы узнаете, как установить Blackbox Exporter на CentOS/RHEL и поймете, как использовать его с Prometheus и Grafan для мониторинга производительности и времени безотказной работы веб-сайта.

Что такое экспортер BlackBerry?

Blackbox Exporter от Prometheus используется для проверки конечных точек, таких как HTTPS, HTTP, TCP, DNS и ICMP. После определения конечной точки экспортер Blackbox генерирует сотни метрик, которые можно визуализировать с помощью Grafana. Измерение времени отклика — самая важная функция Blackbox Exporter.

Blackbox Exporter — это собственное решение. Если вы ищете что-то похожее, но как SaaS или облачное, вы можете попробовать Grafana worldPing.

Предпосылки

Prometheus и Grafana должны быть предварительно установлены. Следуйте этой статье, чтобы установить Prometheus и Grafana.

Установка Blackbox Exporter

Позвольте мне сначала показать вам, как установить BlackBerry Exporter.

Шаг 1: Скачайте Blackbox Exporter

Перейдите на официальную страницу, чтобы загрузить последнюю версию экспортного пакета Linux AMD Blackbox. Качаю файл blackbok_ekporter-0.16.0.linuk-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

Здесь важны два файла blackbok_ekporter и blackbok.iml.

  • blackbok_exporter: это исполняемый файл для запуска службы.
  • blackbok.iml: файл IAML со всеми конфигурациями экспортера backbok, определяющими все конечные точки зонда и модули запуска.

Приведенная ниже команда даст вам все флаги, которые вы можете использовать с экспортером черного ящика.

[[email protected] blackbox_exporter-0.16.0.linux-amd64]$ ./blackbox_exporter -h
usage: blackbox_exporter []

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=
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=
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. Создайте пользователя BlackBerry.

Это необязательно.

Вы можете либо создать нового пользователя для запуска 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. Создайте файл blackbok.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 Exporter как службу.

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

Большой!

Экспортер Blackbox успешно запущен. На http://localhost:9115/ вы можете найти рабочий Blackbox Exporter.

Интеграция Blackbox с Prometheus

Давайте интегрируем Blackbox Exporter с Prometheus, чтобы начать собирать метрики.

  • Добавьте задание черного ящика с приведенными ниже конфигурациями в файл prometheus.iml. Я буду следить за работой https://vvv.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, вы обнаружите задание черного ящика, работающее с конечной точкой, которую я определил.
  • Нажмите на график и запустите запрос — probe_http_duration_seconds.

  • Будет создана визуализация данных, отслеживаемых Prometheus.

Теперь пришло время визуализировать бизнес Blackbox на Grafana.

Есть много способов начать работу, но одним из самых быстрых будет начать с готовой панели управления — Prometheus Blackbox Exporter.

  • Перейдите в панель управления Grafana, нажмите знак + и нажмите «Импорт».
  • В разделе «Импорт через grafana.com» укажите идентификатор панели управления 7587 и нажмите «Загрузить».
  • Затем выберите источник данных Prometheus и нажмите «Импорт».

  • Будет импортирована панель управления Prometheus Blackbox Exporter.
  • Вы сможете визуализировать такие показатели, как продолжительность глобального сканирования, состояние, продолжительность HTTP, средняя продолжительность сканирования, средний поиск DNS, истечение срока действия SSL и многое другое.

  • Все это отдельные панели на приборной панели. Позвольте мне подробно показать панель «Длительность HTTP». На этой панели отображается время, затраченное на подключение, обработку, разрешение, tls и запросы на передачу.

На панели инструментов есть много опций, с которыми вы можете поиграть. Вы можете изменить временной диапазон, для которого вы хотите отображать визуализацию. Вы также можете изменить временной интервал обновления данных; здесь новые данные приходят на приборную панель каждые 5 секунд.

  • Когда вы нажмете стрелку вниз на стрелке «Продолжительность HTTP», вы получите параметры, показанные ниже. Нажмите изменить.

  • Под панелью визуализации находится редактор запросов. В настоящее время визуализируется запрос, показанный на скриншоте ниже — probe_http_duration_seconds.

  • Существуют сотни запросов, которые вы можете легко визуализировать и добавить на панель инструментов по мере необходимости.

  • У вас также есть много вариантов изменения типа визуализации. Средняя продолжительность проверки представлена ​​на дашборде в текстовом формате. На панели визуализации справа щелкните параметр Guage для средней продолжительности проверки.

  • И вот как изменится визуализация.

Заключение

Вышеизложенное просто для того, чтобы дать вам представление о том, как легко отслеживать веб-сайт с помощью Prometheus Blackbox и Grafan. Есть много вариантов, и я настоятельно рекомендую поиграть с ним, чтобы испытать его. Если вы заинтересованы в изучении Grafana, ознакомьтесь с его онлайн-курсом.

Вам понравилось читать статью? Как насчет того, чтобы поделиться этим с миром?

Поделиться в соцсетях