Netdata — это открытая система мониторинга в реальном времени, которая собирает и визуализирует сотни метрик производительности системы, приложений и сервисов прямо «из коробки».
После установки Netdata запускает локальный веб-сервер, через который можно мгновенно увидеть, что происходит с CPU, памятью, дисками, сетью и даже конкретными процессами.
Почему стоит обратить внимание? Потому что она легковесна, почти не требует квалифицированной настройки.
Почему на alt? Классная самостоятельная система с большой репой, хорошее и большое комьюнити. Но, в целом, система тут не сильно большую роль играет.
#Устанока инструментов для сборки
apt-get update && apt-get install git gcc make autoconf autoconf-archive autogen automake pkg-config curl python3 python3-module-yaml python3-module-mysql python3-module-psycopg2 nodejs lm_sensors3 netcat -y
#Скачиваем офф скрипт и запускаем с оциями - бурем стабильную версию и отключает телеметрию
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
systemctl enable --now netdata
Стоит отметить, netdata установлен в chroot, а именно в /opt/netdata Тем самым, конфиг находиться в /opt/netdata/etc/netdata/netdata.conf
В сценарии, когда нужно мониторить только 1 ноду и на ней поднимается netdata - ничего более настраиваться не обязательно.
Но если нужно добавить ещё нод - нужно настроить стриминг.
В netdata нет сбора метрик как в prometheus. Тут настраивается это в обратном направлении - с parent отправляется на child. Где child - нода что мониторим, а parent - основная netdata, через которую смотрим.
Редактируем конфиг, доводим секции к виду:
vim /opt/netdata/etc/netdata/netdata.conf
[web]
enable streaming = yes
Создаем и редактируем конфиг стрима:
vim /opt/netdata/etc/netdata/stream.conf
[API_KEY]
type = api
enabled = yes
allow from = *
[MACHINE_GUID]
type = machine
enabled = no
Всесто API_KEY нужно подставить значение конманды
cat /opt/netdata/var/lib/netdata/netdata.api.key
Далее этот api ключ тоже понадобиться - при добавлении child.
Нужно лишь в файл добавить блок, можно с помощью cat:
cat << EOF1 > /opt/netdata/etc/netdata/stream.conf
[stream]
enabled = yes
destination = $NETDATA_DEST
api key = $NETDATA_API
EOF1
В качестве NETDATA_DEST Нужно вставить <parent_ip>:19999
В качестве NETDATA_API Нужно вставить результат команды с мастера:
cat /opt/netdata/var/lib/netdata/netdata.api.key
Настрйока child завершена. Осталось только перезапустить сервис
systemctl restart netdata
Настройка алертинга просиходит централизованно - на parent ноде
Вариантов куда отправлять много, но остановимся на telegram, самый растространенный.
В /opt/netdata/etc/netdata/health_alarm_notify.conf нужно добавить (Скорее не добавить, а изменить значения с никаких на необходимые)
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="<tg_bot_token>"
TELEGRAM_RETRIES_ON_LIMIT="0"
DEFAULT_RECIPIENT_TELEGRAM="-4955748579"
Редактируем блок [health] в конфиге:
vim /opt/netdata/etc/netdata/netdata.conf
[health]
# silencers file = /opt/netdata/var/lib/netdata/health.silencers.json
enabled = yes
# enable stock health configuration = yes
# use summary for notifications = yes
default repeat warning = on
default repeat critical = on
# in memory max health log entries = 1000
# health log retention = 5d
script to execute on alarm = /opt/netdata/usr/libexec/netdata/plugins.d/alarm-notify.sh
enabled alarms = *
run at least every = 10s
Сами правила алертинга находятся в /opt/netdata/etc/netdata/health.d/.
Но по умолчанию, вероятно, там будет пусто, либо папки даже не будет. Дефолтные конфиги находятся в /opt/netdata/usr/lib/netdata/conf.d/health.d/, но настоятельно рекомендуется их там не редактировать, а копировать в /opt/netdata/etc/netdata/health.d/ и редактировать.
Конфигов алертинга очень много. Но что стоит знать:
to: silent - Это отправка в никуда. То есть в веб алерт висеть будет, но в телеграм не отправиться.
to: sysadmin - Это отправка в сисадмина. То есть алерт будет вистеть как в вебе, так и отправиться в телеграм.
Доступные с коробки конфиги алертов:

Так же, никто не запрещает сделать свои.
Более подробно всегда можно узнать в офф доке, она очень подробная. Хоть и часто отсылает пользоваться cloud решеним. Говоря о cloud решении - удобно, но не безопасно.