Netdata – система моніторингу в режимі реального часу з відкритим вихідним кодом. За допомогою цього інструменту можна відстежувати величезну кількість показників починаючи з зі статистики споживанні пам’яті і закінчуючи відстеження службами Apache, MySQL та інші …
Установка
Для роботи Netdata перш необхідно встановити всі необхідні залежності:
sudo apt-get install git zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
sudo apt-get install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
Після чого клонуємо офіційний репозиторій Netdata:
git clone https://github.com/firehol/netdata.git --depth = 1 ~/netdata
Переходимо в папку установки Netdata:
cd ~/netdata
І запускаємо скрипт установки Netdata:
sudo ./netdate-installer.sh
По завершенню установки інструмент готовий до роботи.
Як запевняють творці Netdata: для кращої продуктивності рекомендується об’єднати однакові сторінки пам’яті між різними процесами для сумісного використання.
Для цього в файл /etc/rc.local потрібно додати рядки:
echo 1> /sys/kernel/mm/ksm/run echo 1000> /sys/kernel/mm/ksm/sleep_millisecs
Після чого перезапустіть сервер щоб настройки вступили в силу.
Налаштування
Інструмент Netdata володіє своїм конфігураційним файлом, де записуються всі настройки, його шлях /etc/netdata/netdata.conf
Наприклад, в секції [global] у параметрі history можна задати значення зберігання метрик. Зверніть увагу що від цього терміну залежить і споживання пам’яті: протягом 7200 секунд (2-х годин) – 30 МБ оперативної пам’яті і т.д.
У секції [web] Ви можете змінити порт, з якого буде доступна метрика.
За замовчуванням Netdata доступна за адресою сервера на порту 19999:
http://123.123.123.123:19999
Сповіщення
Варто зазначити що Netdata має функцію сповіщень. Наприклад, оповіщення про зупинку з спостережуваних додатків, про помилки та інше …
Сповіщення можна побачити як і в веб-інтерфейсі, так і налаштувати на відправку в інші сервіси: Mail, Telegram, Slack …
Налаштування повідомлень зберігаються в файлі /usr/libexec/netdata/plugins.d/alarm-notify.sh
Щоб налаштувати Netdata на відправку повідомлень в Telegarm, відкрий файл настройки, знайдіть відповідну область
# telegram sender
Пропишіть значення токена свого бота і id чату Teleram:
send_telegram () {bottoken = "43534523: 98y43tpy-q3p9ta-ergewthw2-werf432_Egnoerg" chatids = "987 302 419" ....
Далі знайдіть рядок
#check telegram [-z "$ {TELEGRAM_BOT_TOKEN}"] && SEND_TELEGRAM = "NO"
І замініть “NO” на “YES”
# Check telegram [-z "$ {TELEGRAM_BOT_TOKEN}"] && SEND_TELEGRAM = "YES"
Знайдіть рядок
[ "$ {R}"! = "Disable"] && filter_recipient_by_criticality telegram "$ {r}" && arr_telegram [$ {r / | * /}] = "1"
І замініть його на:
[ "$ {R}"! = "Enable"] && filter_recipient_by_criticality telegram "$ {r}" && arr_telegram [$ {r / | * /}] = "1"
Після чого збережіть файл і перезапустіть Netdata:
systemctl restart netdata
Як і у всіх безкоштовних інструментів є свої плюси і мінуси. Netdata не можна використовувати для спостереження за декількома сервера – її потрібно встановлювати на кожен сервер окремо. Але, для невеликого VPS-сервера Netdata буде корисним і незамінним інструментом для моніторингу.