Интеграция с системами мониторинга

<< Click to Display Table of Contents >>

Интеграция с системами мониторинга

Интеграция с системами мониторинга

В этом разделе

Предоставляется функционал по интеграции с системой сбора метрик Prometheus, с последующей визуализацией получаемых данных в системы визуализации данных, построенные на Grafana.

Prometheus получает метрики от одного или нескольких агентов сбора метрик Node Exporter. Grafana отображает данные, полученные из Prometheus. Эти данные можно отобразить в виде диаграмм и графиков, организованных в дашборды.

Ниже представлен пример организации процесса сбора метрик с использованием Node Exporter с последующей визуализацией данных.

Запуск 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. Подробнее об установке и настройке 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

Примечание: Ознакомится системой визуализации данных Grafana, особенностями ее установки и эксплуатации можно на oфициальном сайте.

Ниже представлен графический интерфейс системы визуализации данных Grafana:

waf_graphana

Для получения и визуализации данных от 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.

В этом разделе: