Харесвате ли 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 или облачно базирано, тогава можете да опитате Grafana worldPing.
Съдържание
Предпоставки
Prometheus и Grafana трябва да са предварително инсталирани. Следвайте тази статия, за да инсталирате Prometheus и Grafana.
Инсталиране на Blackbox Exporter
Нека първо ви покажа как да инсталирате Blackbox exporter.
Стъпка 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 експортера, които дефинирате всички крайни точки за сондиране и модули за изпълнение.
Командата по-долу ще ви даде всички флагове, които можете да използвате с експортера на 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 pctechbg.net.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service. Jun 13 17:28:40 pctechbg.net.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 pctechbg.net.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 pctechbg.net.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 pctechbg.net.linuxvmimages.com blackbox_exporter[30
Страхотен!
Износителят на Blackbox стартира успешно. На http://localhost:9115/ можете да намерите работещ Blackbox Exporter.
Интегриране на Blackbox с Prometheus
Нека интегрираме Blackbox Exporter с Prometheus, за да започнем да събираме показателите.
- Добавете задание за черна кутия с конфигурации по-долу във файла 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 отново, ще откриете, че черна кутия се изпълнява с дефинираната от мен крайна точка.
- Кликнете върху графиката и изпълнете заявката – probe_http_duration_seconds.
- Ще бъде създадена визуализация върху данните, наблюдавани от Prometheus.
Сега е време да визуализираме работата на Blackbox на Grafana.
Има много начини да започнете, но един от най-бързите би бил да започнете с готово табло за управление – Prometheus Blackbox Exporter.
- Отидете на таблото за управление на Grafana, щракнете върху знак + и щракнете върху Импортиране.
- В Импортиране чрез grafana.com поставете идентификатора на таблото за управление 7587 и щракнете върху Зареждане.
- След това изберете източника на данни на Prometheus и щракнете върху Импортиране.
- Таблото за управление на Prometheus Blackbox Exporter ще бъде импортирано.
- Ще можете да визуализирате показатели като продължителност на глобалната проверка, състояние, продължителност на HTTP, средна продължителност на проверка, средно търсене в DNS, изтичане на SSL и много други.
- Всички те са отделни панели на таблото. Позволете ми да покажа панела HTTP Duration в детайли. Този панел показва визуализацията на времето, необходимо за свързване, обработка, разрешаване, tls и заявки за прехвърляне.
Има много опции на таблото, с които можете да играете. Можете да промените времевия диапазон, за който искате да се показва визуализацията. Можете също така да промените интервала от време при опресняване на данни; тук новите данни идват в таблото на всеки 5 секунди.
- Когато щракнете върху стрелката надолу върху HTTP Duration, ще получите опциите, показани по-долу. Кликнете върху редактиране.
- Под панела за визуализация ще получите редактор на заявки. В момента заявката, показана на моментната снимка по-долу, се визуализира – probe_http_duration_seconds.
- Има стотици заявки, които можете лесно да визуализирате и да ги добавите към таблото си според изискванията.
- Имате и много опции за промяна на типа визуализация. Средната продължителност на сондата присъства на таблото в текстов формат. От панела за визуализация вдясно щракнете върху опцията Guage за средна продължителност на сондата.
- И така ще се промени визуализацията.
Заключение
Горното е само за да ви даде представа колко лесно е да наблюдавате уебсайта с Prometheus Blackbox и Grafana. Има много опции и силно препоръчвам да си поиграете с него, за да го изпитате. Ако сте любопитни да научите Графана, вижте неговия онлайн курс.
Приятно ви е да прочетете статията? Какво ще кажете за споделяне със света?