... {toc} h1. Для чего нужен node_exporter [node_exporter|https://github.com/prometheus/node_exporter] - это сервис, для экспорта данных о состоянии сервера в систему мониторинга [Prometheus|https://github.com/prometheus/prometheus]. К Prometheus можно подключить [Grafana|https://github.com/grafana/grafana], чтобы построить наглядные графики и собрать их в удобные дешборды. Вы так же можете настроить оповещения при возникновении критичных событий: с помощью [alertmanager|https://prometheus.io/docs/alerting/latest/alertmanager/] или [самой Grafana|https://grafana.com/docs/grafana/latest/alerting/]. На текущий момент связка node_exporter + Prometheus + Grafana - одно из наиболее популярных решений для мониторинга инфраструктуры. h1. Будет ли node_exporter работать на CentOS 6.10? Мы проверили релиз node_exporter 1.3.1 и он работает исправно. Единственная проблема - ошибка мониторинга conntrack, сервис пишет, что не смог получить все необходимые поля: {panel} 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" {panel} При этом все метрики conntrack передаются корректно. Если для Вас постоянные сообщения в логе не критичны, уберите из файла */etc/sysconfig/node_exporter* строчку "--no-collector.conntrack" и перезапустите сервис. h1. Установка h1. Скачайте и распакуйте дистрибутив
|
... mv node_exporter-1.3.1.linux-amd64 /opt/node_exporter/ chown root:root -R /opt/node_exporter/ {code} h2. Скачайте конфигурационные файлы и настройте скрипты запуска # Скачайте рахив с конфигурационными файлами и скриптами, распакуйте его: {code} 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/ {code} # Переместите файлы в нужные папки и сделайте: {code} 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 {code} # Если Вы не настраивали [хуки|CarbonBilling:Дополнительные настройки. hooks. Хуки. Свои правила в firewall] в base, выполните эту команду: {code} mv node_exporter_configs/node_exporter.hook /app/base/cfg/hooks {code} Если настраивали, то добавьте содержимое файла *node_exporter_configs/node_exporter.hook* к файлу */app/base/cfg/hooks* вручную. \\ \\ # Последний шаг - сделайте скрипты исполняемыми: {code} chmod a+x /etc/init.d/node_exporter chmod a+x /app/base/cfg/hooks {code} h2. Настройте автозапуск сервиса при загрузке системы и запустите его {code}chkconfig node_exporter on --level 235 service node_exporter start{code} h2. Проверьте, что node_exporter отдаёт метрики Метрики отдаются по протоколу http, Достаточно запросить страничку "metrics". Это можно сделать утилитой curl: {code} curl -sS localhost:9100/metrics {code} Вывод будет примерно следующий: {code} [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 {code} h1. Что дальше? Интегрируйте node_exporter с Prometheus и Grafana и настройте дешборды. {info}Prometheus и Grafana нужно устанавливать на стороннем сервере. На сервере с Billing 5 их устанавливать не следует.{info} Можно [взять уже готовые дешборды|https://grafana.com/docs/grafana/latest/dashboards/export-import/#import-dashboard], например [такой|https://grafana.com/grafana/dashboards/1860]. Получится что-то вроде этого: !billing5_grafana.png|border=0,width=1000!
|