Мониторинг Synology Hyper Backup
-
Активируем на устройстве Synology доступ по ssh - Терминал и SNMP - Терминал - Ставим галочку Включить службу SSH
-
Создаем через web интерфейс пользователя zbxmonuser
- пароль заносим в менеджер паролей
- включаем в группу Администраторов
-
Заходим по SSH
-
Добавляем исключения для запуска определенных команд с sudo:
sudo sh -c "echo 'zbxmonuser ALL = NOPASSWD: /bin/more /var/log/messages, /bin/grep' > /etc/sudoers.d/zbxmonuser"
NOPASSWDбез ограничения аргументов даёт учётной записи мониторинга право запускатьgrep,moreиjournalctlот имени root с любыми параметрами — то есть читать любой файл системы, включая/etc/shadow. Если такой доступ недопустим, ограничьте правило конкретными файлами или оберните нужные команды в отдельный скрипт и разрешите в sudoers только его. По той же причине не стоит без необходимости держатьzbxmonuserв группе администраторов.
-
Заходим на zabbix.example.com
-
Добавляем/изменяем хост
-
указываем имя устройства
-
указываем Template - NAS - Synology Hyper Backup
-
На вкладке Macros добавляем записи:
- {$SSH_USERNAME} учетная запись для SSH
- {$SSH_PASSWORD} пароль для доступа по SSH - ставим тип Secret text
-
-
На вкладке Inventory - Ставим Automatic
Пример заполнения полей



- После этого должен начаться сбор результатов резервного копирования, обнаружение происходит раз в 4 часа
Если не работает мониторинг, т. е. запрос возвращает пустые строки

- Подключитесь к Synology по ssh, и проверьте наличие подобных логов в файле /var/log/messages:
Mar 21 13:01:18 data img_backup[12552]: (12552) [err] backup_progress.cpp:504 Backup task [backup_everyday] completes with result [1]. Time spent: [77 sec].
- Если их нет в /var/log/messages, то необходимо использовать другой шаблон в Zabbix, который будет искать логи в journalctl
NAS - Synology Hyper Backup_Journalctl

- На вкладке Macros добавляем записи:
- {$SSH_USERNAME} учетная запись для SSH
- {$SSH_PASSWORD} пароль для доступа по SSH - ставим тип Secret text
- Заходим по SSH и добавляем исключения для запуска определенных команд с sudo с учётом journalctl:
sudo sh -c "echo 'zbxmonuser ALL = NOPASSWD: /bin/grep, /usr/bin/journalctl' > /etc/sudoers.d/zbxmonuser"
- Проверяем работу мониторинга hyperbackup
