|
<< Click to Display Table of Contents >> Интеграция с системами мониторинга |
Интеграция с системами мониторинга
Предоставляется функционал по интеграции с системой сбора метрик Prometheus, с последующей визуализацией получаемых данных в системы визуализации данных, построенные на Grafana.
Prometheus получает метрики от одного или нескольких агентов сбора метрик Node Exporter. Grafana отображает данные, полученные из Prometheus. Эти данные можно отобразить в виде диаграмм и графиков, организованных в дашборды.
Ниже представлен пример организации процесса сбора метрик с использованием Node Exporter с последующей визуализацией данных.
Возможны два варианта запуска Node Exporter на целевом сервере:
•в Docker-контейнере;
•из бинарного пакета.
Запуск Node Exporter в Docker-контейнере
Примечание: Программное обеспечение Docker следует скачать и установить на целевой сервер, следуя инструкции.
Для сбора метрик на целевом сервере необходимо запустить докер-контейнер с командой node-exporter:
docker run -d --name=node-exporter -p 9100:9100 --restart unless-stopped prom/node-exporter
Запуск Node Exporter из бинарного пакета
Ниже представлен сценарий shell, который скачивает бинарный файл, создает системного пользователя и настраивает автозапуск через управление службами операционной системы.
Для его запуска необходимо выполнить следующие шаги на целевом сервере:
1.Создайте файл сценария install_node_exporter.sh и скопировать в него приведенный ниже набор команд:
#!/bin/bash
# https://github.com/prometheus/node_exporter/releases
NODE_EXPORTER_VERSION="1.9.0"
cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v$NODE_EXPORTER_VERSION/node_exporter-$NODE_EXPORTER_VERSION.linux-amd64.tar.gz
tar xvfz node_exporter-$NODE_EXPORTER_VERSION.linux-amd64.tar.gz
cd node_exporter-$NODE_EXPORTER_VERSION.linux-amd64
mv node_exporter /usr/bin/
rm -rf /tmp/node_exporter*
useradd -rs /bin/false node_exporter
chown node_exporter:node_exporter /usr/bin/node_exporter
cat <<EOF> /etc/systemd/system/node_exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
systemctl status node_exporter
node_exporter –version
2.Проверьте актуальную версию Node Exporter и, при необходимости, измените значение версии в параметре NODE_EXPORTER_VERSION (на момент написания примера, использовалась версия 1.9.0).
3.Установите разрешение на запуск файла:
chmod +x ./install_node_exporter.sh
4.Запустите сценарий:
./install_node_exporter.sh
Примечание: Настройка производится на сервере, предназначенном для мониторинга, с уже установленной системой сбора метрик Prometheus. Подробнее об установке и настройке Prometheus можно узнать на официальном сайте.
Для установки соединения с агентом Node Exporter добавьте в файл prometheus.yml на сервере, осуществляющем мониторинг, следующую конфигурацию:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'WAF' # Указывается любое наименование
static_configs:
- targets: ['<IP_HOST>:9100'] # Указывается IP-адрес сервера развернутым Node Exporter
После изменения конфигурации перезапустите Prometheus.
На сервере, с установленными компонентами WAF, по умолчанию открыты порты, необходимые для штатного функционирования Комплекса. Для организации взаимодействия агента Node Exporter с сервером мониторинга необходимо предоставить доступ к порту 9100 (в командах ниже, в качестве примера использован сервер мониторинга с IP-адресом 192.168.0.100):
1.Добавьте правило в iptables, разрешающее подключение к порту 9100/TCP с IP-адреса сервера мониторинга:
iptables -I INPUT -s 192.168.0.100 -p tcp --dport 9100 -j ACCEPT
2.Убедитесь, что правило добавлено, выполнив команду:
iptables -L -n --line-numbers
Представленная команда выводит список всех текущих правил iptables. Сформированное ранее правило должно отображаться на первом месте в представленной цепочке INPUT.
3.Сохраните текущие правила iptables, выполнив команду:
iptables-save > /etc/iptables/rules.v4
Примечание: Ознакомится системой визуализации данных Grafana, особенностями ее установки и эксплуатации можно на oфициальном сайте.
Ниже представлен графический интерфейс системы визуализации данных Grafana:
Для получения и визуализации данных от Prometheus необходимо выполнить следующие действия:
1.Открыть раздел Connection → Add new connection.
2.Выбрать в списке доступных источников данных Prometheus.
3.Нажать Add new data source и заполнить параметры:
•Name – указать имя (произвольное, по умолчанию Prometheus).
•Prometheus server URL – http://<IP_server>:9090, где <IP_server> – IP адрес сервера с Prometheus.
4.Нажать Save & Test, дождаться сообщения об успешном подключении.
5.Для импорта дашборда необходимо открыть раздел Dashboards → New → Import.
6.В поле Grafana.com dashboard URL or ID ввести ID шаблона, например, 1860 для Node Exporter и нажать Load. Другие шаблоны дашбордов можно найти на официaльном сайте.
7.В настройках импорта в графе Prometheus выбрать созданный ранее источник данных (в полях Name и Folder можно оставить значения по умолчанию) и нажать Import.