Files
2026-09-25 10:03:10 +00:00

5.4 KiB
Raw Permalink Blame History

Мониторинг UrBackup для Zabbix 7.x 🚀

Данный репозиторий содержит скрипт и готовый шаблон для интеграции системы резервного копирования UrBackup с системой мониторинга Zabbix. Решение поддерживает автоматическое обнаружение (LLD) клиентов, отслеживание возраста и размеров бэкапов (включая файлы образов .vhd, .vhdz, .raw), а также контроль свободного места в хранилище.


📋 Возможности мониторинга

  • Автообнаружение (LLD): Автоматический поиск активных клиентов в директории UrBackup.
  • Контроль актуальности: Отслеживание времени (в секундах и unixtime) с момента последнего файлового бэкапа и бэкапа образа.
  • Статистика: Подсчет количества успешных копий для каждого клиента.
  • Управление емкостью: Мониторинг размера последнего созданного образа диска и процента свободного места на самом сервере бэкапов.

🛠 Инструкция по установке и настройке

Выполните следующие шаги на сервере, где установлен UrBackup Server и Zabbix Agent / Agent2.

Шаг 1. Размещение скрипта

Переместите исполняемый скрипт в директорию бинарных файлов и убедитесь, что он имеет права на выполнение:

mv urbackup_zabbix.sh /usr/local/bin/urbackup_zabbix.sh
chmod +x /usr/local/bin/urbackup_zabbix.sh

Шаг 2. Настройка прав доступа (Важно!)

Папки бэкапов UrBackup по умолчанию закрыты для сторонних пользователей. Чтобы Zabbix-агент мог считывать метаданные и размеры файлов бэкапов, добавьте пользователя zabbix в группу urbackup:

usermod -aG urbackup zabbix

Примечание: Если папки образов внутри хранилища имеют маску прав 700, выполните команду chmod -R g+rX /data/urbackup/ для предоставления доступа группе.

Шаг 3. Конфигурация Zabbix-агента

Добавьте пользовательские параметры (UserParameter) в конфигурационный файл вашего агента (обычно /etc/zabbix/zabbix_agentd.conf или отдельный файл в /etc/zabbix/zabbix_agentd.d/):

UserParameter=urbackup.discovery[*],/usr/local/bin/urbackup_zabbix.sh discovery "$1"
UserParameter=urbackup.last_age[*],/usr/local/bin/urbackup_zabbix.sh last_age "$1" "$2" "$3"
UserParameter=urbackup.last_ts[*],/usr/local/bin/urbackup_zabbix.sh last_ts "$1" "$2" "$3"
UserParameter=urbackup.count[*],/usr/local/bin/urbackup_zabbix.sh count "$1" "$2" "$3"
UserParameter=urbackup.image_size[*],/usr/local/bin/urbackup_zabbix.sh image_size "$1" "$2"
UserParameter=urbackup.disk_free_pct[*],/usr/local/bin/urbackup_zabbix.sh disk_free_pct "$1"

После сохранения настроек перезапустите службу агента:

systemctl restart zabbix-agent2
# или для старой версии агента:
systemctl restart zabbix-agent

Шаг 4. Настройка веб-интерфейса Zabbix

  1. Перейдите в раздел Сбор данных -> Шаблоны (Data collection -> Templates).
  2. Нажмите Импорт (Import) в правом верхнем углу и выберите файл шаблона из данного репозитория: zbx_export_templates.json.
  3. Перейдите в свойства Узла сети (Host) вашего UrBackup-сервера.
  4. Назначьте импортированный шаблон UrBackup данному узлу сети.

⚙️ Макросы шаблона

После привязки шаблона вы можете скорректировать макросы на уровне узла сети под ваши требования:

  • {$URBACKUP.PATH} — Путь к корневой директории бэкапов (по умолчанию: /data/urbackup).
  • {$URBACKUP.FILE.WARN} / {$URBACKUP.FILE.HIGH} — Пороги предупреждения и критического алерта для возраста файлового бэкапа в секундах.
  • {$URBACKUP.IMAGE.WARN} / {$URBACKUP.IMAGE.HIGH} — Пороги предупреждения и критического алерта для возраста бэкапа образов в секундах.
  • {$URBACKUP.DISK.WARN} / {$URBACKUP.DISK.HIGH} — Лимиты свободного места на диске хранилища в процентах.

Версия шаблона: 7.0+ (совместимо с Zabbix 7.x)