Установка node_exporter для мониторинга с Prometheus

Skip to end of metadata
Go to start of metadata

Для чего нужен node_exporter

node_exporter - это сервис, для экспорта данных о состоянии сервера в систему мониторинга Prometheus.

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

Вы так же можете настроить оповещения при возникновении критичных событий: с помощью alertmanager или самой Grafana.

На текущий момент связка node_exporter + Prometheus + Grafana - одно из наиболее популярных решений для мониторинга инфраструктуры.

Будет ли node_exporter работать на CentOS 6.10?

Мы проверили релиз node_exporter 1.3.1 и он работает исправно.

Единственная проблема - ошибка мониторинга conntrack, сервис пишет, что не смог получить все необходимые поля:

ts=2022-05-23T14:52:51.311Z caller=collector.go:169 level=error msg="collector failed" name=conntrack duration_seconds=8.9431e-05 err="failed to retrieve conntrack stats: failed to read conntrack stats from \"/proc/net/stat/nf_conntrack\": invalid conntrackstat entry, missing fields"

При этом все метрики conntrack передаются корректно.

Если для Вас постоянные сообщения в логе не критичны, уберите из файла /etc/sysconfig/node_exporter строчку "--no-collector.conntrack" и перезапустите сервис.

Установка

Скачайте и распакуйте дистрибутив

cd /tmp
wget https://docs.carbonsoft.ru/download/attachments/186747102/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvzf node_exporter-1.3.1.linux-amd64.tar.gz 
mkdir -p /opt/node_exporter/
mv node_exporter-1.3.1.linux-amd64 /opt/node_exporter/
chown root:root -R /opt/node_exporter/

Скачайте конфигурационные файлы и настройте скрипты запуска

  1. Скачайте рахив с конфигурационными файлами и скриптами, распакуйте его:
    cd /tmp
    wget  --no-check-certificate https://docs.carbonsoft.ru/download/attachments/186747102/node_exporter_configs.tar.gz
    tar xvzf node_exporter_configs.tar.gz
    chown root:root -R node_exporter_configs/
    
  2. Переместите файлы в нужные папки и сделайте:
    mv node_exporter_configs/node_exporter.init /etc/init.d/node_exporter
    mv node_exporter_configs/node_exporter.sysconfig /etc/sysconfig/node_exporter
    mv node_exporter_configs/os-release /etc/os-release
    
  3. Если Вы не настраивали хуки в base, выполните эту команду:
    mv node_exporter_configs/node_exporter.hook /app/base/cfg/hooks
    

    Если настраивали, то добавьте содержимое файла node_exporter_configs/node_exporter.hook к файлу /app/base/cfg/hooks вручную.

  4. Последний шаг - сделайте скрипты исполняемыми:
    chmod a+x /etc/init.d/node_exporter
    chmod a+x /app/base/cfg/hooks
    

Настройте автозапуск сервиса при загрузке системы и запустите его

chkconfig node_exporter on --level 235
service node_exporter start

Проверьте, что node_exporter отдаёт метрики

Метрики отдаются по протоколу http, Достаточно запросить страничку "metrics". Это можно сделать утилитой curl:

curl -sS localhost:9100/metrics

Вывод будет примерно следующий:

[root@cb5sr185-127 tmp]# curl -sS localhost:9100/metrics | grep node_cpu
# HELP node_cpu_guest_seconds_total Seconds the CPUs spent in guests (VMs) for each mode.
# TYPE node_cpu_guest_seconds_total counter
node_cpu_guest_seconds_total{cpu="0",mode="nice"} 0
node_cpu_guest_seconds_total{cpu="0",mode="user"} 0
node_cpu_guest_seconds_total{cpu="1",mode="nice"} 0
node_cpu_guest_seconds_total{cpu="1",mode="user"} 0
# HELP node_cpu_seconds_total Seconds the CPUs spent in each mode.
# TYPE node_cpu_seconds_total counter
node_cpu_seconds_total{cpu="0",mode="idle"} 147329.18
node_cpu_seconds_total{cpu="0",mode="iowait"} 4354.51
node_cpu_seconds_total{cpu="0",mode="irq"} 27.21
node_cpu_seconds_total{cpu="0",mode="nice"} 149.38
node_cpu_seconds_total{cpu="0",mode="softirq"} 1764.22
node_cpu_seconds_total{cpu="0",mode="steal"} 54.95
node_cpu_seconds_total{cpu="0",mode="system"} 27773.5
node_cpu_seconds_total{cpu="0",mode="user"} 175396.76
node_cpu_seconds_total{cpu="1",mode="idle"} 147674.88
node_cpu_seconds_total{cpu="1",mode="iowait"} 1637.77
node_cpu_seconds_total{cpu="1",mode="irq"} 0
node_cpu_seconds_total{cpu="1",mode="nice"} 152.2
node_cpu_seconds_total{cpu="1",mode="softirq"} 1721.42
node_cpu_seconds_total{cpu="1",mode="steal"} 52.67
node_cpu_seconds_total{cpu="1",mode="system"} 28116.68
node_cpu_seconds_total{cpu="1",mode="user"} 177633.25

Что дальше?

Интегрируйте node_exporter с Prometheus и Grafana и настройте дешборды.

Prometheus и Grafana нужно устанавливать на стороннем сервере. На сервере с Billing 5 их устанавливать не следует.

Можно взять уже готовые дешборды, например такой. Получится что-то вроде этого:

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.