Простой мониторинг Synology NAS с Grafana и Prometheus

в 12:15, , рубрики: DSM, Grafana, NAS, prometheus, self-hosted, snmp, synology nas, домашний сервер, мониторинг сервера

Всем привет! Храню 7 терабайт фото и видео у себя дома на Synology DS224+ с DSM 7.3+

Это сетевое хранилище поддерживает Docker. Я дополнительно установил плашку памяти и теперь у меня 18 ГБ ОЗУ.

Но суть в том, что ночами я слышу «булькание» и «шуршание» дисков, кстати диски красные, прямо созданные под сетевые хранилища: WD120EFBX-68B0EN0 две штуки по 12 ТБ с зеркалированием.

И у меня возник такой страх, а что если мои файлы что-то форматирует, а я просто лежу и не знаю об этом. И я начал поиски репозиториев на GitHub, посмотрел как делают другие, мне как обычно ничего не подошло и я решил создать свой проект, который полностью меня устраивает.

Выложил проект в репозиторий

Поднимается все за пару минут. Нужно только поставить галочку на доступ для 3000 порта Grafana и включить SNMP.

Мне не были нужны алерты, так как достаточно встроенных, по электронной почте от Synology.
И мне не нужно кучу дашбодов, сервисов, сложной логики.

Перед собой цели ставил простые:

  1. Увидеть на графике что читает/пишет на диск и когда это происходит

  2. Что нагружает CPU и когда это происходит

  3. Что нагружает RAM и когда это происходит

Дашборд NAS Applications

Дашборд NAS Applications

На картинке вы видите слева желтый всплеск, это база данных PostgreSQL читает диск, она установлена вместе с Immich (лучший для меня бесплатный аналог Яндекс Диска и подобных)

Загрузка файлов с телефона

Загрузка файлов с телефона

Справа красный график synology/web - это загрузка файлов с телефона из приложения Synology Photos. В моем репозитории процессы объединены в понятные "шаблоны". Вы можете адаптировать свои процессы ваших приложений под себя.

Таким образом дашборд NAS Applications показывает какие приложения и что делают в определенное время.

Но есть ещё один самый популярный дашборд который я добавил: Synology NAS Details

Движуха на дисках

Движуха на дисках

С помощью него можно тоже видеть активность на дисках, но только общую.

Общий вид

Общий вид

Здесь видно, что мой процессор загружен, а то и перегружен! Потому что immich сейчас делает ML обработку моих почти 7 ТБ фото и видео на CPU.

Здесь и температура, SMART дисков, все стандартно и ничего лишнего.

Техническая часть

У Synology уже есть много данных в SNMP. Поэтому я добавил snmp-exporter и он запускается в контейнере, то есть получился такой путь Grafana > Prometheus > snmp-exporter > Synology NAS.
Кстати говоря, можно мониторить NAS на любом другом устройстве/сервере, удаленно, просто указав IP NAS (в репозитории написано как включить SNMP).

Далее контейнер process-exporter уже должен быть запущен физически на NAS хосте, так как он собирает процессы из /proc самого хоста Synology, группирует (например database/postgres или synology/photos) и отправляет по такой схеме Grafana > Prometheus > process-exporter > Synology NAS.

В итоге получился вот такой очень маленький мониторинговый стек состоящий из:

- snmp-exporter

- process-exporter

- prometheus

- grafana

Все запускается на NAS хосте и сразу отдает 2 дашборда с графиками. Мониторинг закрывает мои потребности в простейшем понимании, что происходит внутри этой коробки с дисками.

Автор: agatyev

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js