Все проекты

Smart Monitor

Мониторинг HDD, SSD и NVMe для Linux-серверов: SMART-проверки, самотесты по расписанию и уведомления о проблемах.

О проекте

Smart Monitor следит за состоянием накопителей на самосборном Linux-сервере примерно так же, как это делают готовые NAS-системы. Проверяет SMART-показатели и температуру, запускает короткие и длительные тесты и сообщает, если с диском что-то не так.

Стек
Python · smartmontools · systemd
Направление
Мониторинг
Год
2026

Задача

На обычном Linux-сервере контроль дисков обычно приходится собирать вручную: отдельно настраивать smartctl, расписание проверок, запуск самотестов и уведомления.

Хотелось сделать единый монитор, который сам следит за накопителями, выполняет проверки по расписанию и не требует постоянного ручного контроля.

Реализация

Smart Monitor написан на Python и использует smartmontools для работы со SMART. Поддерживаются HDD, SATA SSD, NVMe и накопители, подключённые через USB/SATA-мосты.

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

Проверки запускаются через systemd timers. Для уведомлений поддерживаются Telegram, Matrix и MAX. Также можно настроить резервную отправку SMS через модем Huawei.

Конфигурация вынесена отдельно от кода: можно задать нужные диски, пороги температуры и износа, расписание и каналы уведомлений.

Результат

Получился самостоятельный монитор накопителей для обычного Linux-сервера без привязки к Synology, QNAP или другой готовой NAS-платформе.

На моём сервере он контролирует внутренний HDD, внешний HDD через USB и системный NVMe SSD. Проверки выполняются автоматически, а о проблемах приходят уведомления.

Проект опубликован на GitHub под лицензией MIT.