Files
zabbix-urbackup/README.md
T
2026-09-25 10:03:10 +00:00

69 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Мониторинг UrBackup для Zabbix 7.x 🚀
Данный репозиторий содержит скрипт и готовый шаблон для интеграции системы резервного копирования **UrBackup** с системой мониторинга **Zabbix**. Решение поддерживает автоматическое обнаружение (LLD) клиентов, отслеживание возраста и размеров бэкапов (включая файлы образов `.vhd`, `.vhdz`, `.raw`), а также контроль свободного места в хранилище.
---
## 📋 Возможности мониторинга
* **Автообнаружение (LLD):** Автоматический поиск активных клиентов в директории UrBackup.
* **Контроль актуальности:** Отслеживание времени (в секундах и unixtime) с момента последнего файлового бэкапа и бэкапа образа.
* **Статистика:** Подсчет количества успешных копий для каждого клиента.
* **Управление емкостью:** Мониторинг размера последнего созданного образа диска и процента свободного места на самом сервере бэкапов.
---
## 🛠 Инструкция по установке и настройке
Выполните следующие шаги на сервере, где установлен **UrBackup Server** и **Zabbix Agent / Agent2**.
### Шаг 1. Размещение скрипта
Переместите исполняемый скрипт в директорию бинарных файлов и убедитесь, что он имеет права на выполнение:
```bash
mv urbackup_zabbix.sh /usr/local/bin/urbackup_zabbix.sh
chmod +x /usr/local/bin/urbackup_zabbix.sh
```
### Шаг 2. Настройка прав доступа (Важно!)
Папки бэкапов UrBackup по умолчанию закрыты для сторонних пользователей. Чтобы Zabbix-агент мог считывать метаданные и размеры файлов бэкапов, добавьте пользователя `zabbix` в группу `urbackup`:
```bash
usermod -aG urbackup zabbix
```
*Примечание: Если папки образов внутри хранилища имеют маску прав `700`, выполните команду `chmod -R g+rX /data/urbackup/` для предоставления доступа группе.*
### Шаг 3. Конфигурация Zabbix-агента
Добавьте пользовательские параметры (**UserParameter**) в конфигурационный файл вашего агента (обычно `/etc/zabbix/zabbix_agentd.conf` или отдельный файл в `/etc/zabbix/zabbix_agentd.d/`):
```ini
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"
```
После сохранения настроек перезапустите службу агента:
```bash
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)