Настало время настроить мониторинг резервного копирования с помощью zabbix. Есть готовое решение.
Попался на глаза шаблон VEEAM Backup & Replication. Решил поставить и потестировать работу. Вся инструкция есть в теле страницы шаблона. Но я все равно повторю её. Мало-ли пригодиться кому-то. ¯\_(ツ)_/¯
Содержание
Подготовка
Подготовка очень простая:
- Установить zabbix agent на windows-сервер;
- Сконфигурировать его на работу в активном режиме;
Установка
Процедура установки:
- Скопировать скрипт PowerShell «zabbix_vbr_job.ps1» в папку «C:\Program Files\Zabbix Agent\scripts» (если папки «scipts» нет — создать);
- В конфигурации Zabbix Agent включить удаленные команды
1EnableRemoteCommands=1 - В конфигурации Zabbix Agent включить пользовательские параметры
1UnsafeUserParameters=1 - Задаём алиасу ключ данных
1Alias=service.discovery.veeam:service.discovery - Добавляем пользовательскую проверку
1UserParameter=vbr[*],powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\Zabbix Agent\scripts\zabbix_vbr_job.ps1" "$1" "$2" "$3" - Заходим в веб-интерфейс Zabbix Server; идём по пути «Администрирование -> Общее -> Регулярные выражения»
- Создаем первое регулярное выражение. Имя «Veeam», тип «TRUE» (или ИСТИНА), выражение «Veeam»;
- Редактируем второе регулярное выражение «Windows service startup states for discovery». Добавляем выражение: Результат FALSE (ЛОЖЬ), выражение «Veeam».
- Импортируем в наш Zabbix Server шаблон TemplateVEEAM-BACKUP-eng.xml
- Заходим в нужный узел сети, переходим в шаблоны, отсоединяем и очищаем всё. Потом можно подключить обратно. Не забываем нажать «Обновить»
- Подключаем шаблон к нужному хосту. Нажимаем обновить.
- Разработчик утверждает, что в течение часа должны придти первые данные. Ожидаем.
Результат
Примерно через пол часа формируется xml файл, который забирается в Zabbix.
Потом прилетают полные данные.
UPD от 26.02.20
Эта связка, скрипт + шаблон, очень выручает. Почти все Warring вылечили, все не выполненные Job’ы поправили. Очень рекомендую настроить. Точно не пожалеете.
UPD от 21.09.20
Крайне рекомендую повысить отказоустойчивость шаблона, как это описано здесь:
UPD от 04.12.2020
Протестировал на Veeam 10 — полёт нормальный.
Добрый день! Есть пару вопросов. Откуда взять этот шаблон Veeam-Backup and Replication. “zabbix_vbr_job.ps1” и этот скрипт тоже не понял откуда взяли. Может исходники скините ?
Добрый день!
Конечно, в начале записи есть ссылка на share.zabbix.com, все исходники и инструкция в оригинале там. Чтобы вам далеко не ходить вот ссылка на github https://github.com/romainsi/zabbix-VEEAM_B-R
Блогадарю. В виде нету инструкция. ?
В виде ВИДЕО инструкция хотел спросит
Я не записываю видео, а подобных инструкций не встречал.
Спасибо большое!
Переделанный скрипт (Русские название job’в отображаются корректно в zabbix, папка для xml перенесена в путь zabbix
https://drive.google.com/file/d/1A87oqEPacVwgWEtQ7CRYzbgE1ZBGuV5CT/view?usp=sharing
Привет!
Ссылка мёртвая)
в конце Export-Clixml добавьте -Encoding UTF8 и будет норм отображаться русские название.
Здравствуйте!
Некоторые Job(s) показываются со статусом «Disabled, First Backup or no history (4)», Тип бэкапа для этих Job(s) не определяется. В самомм Veeam все данные нормальные.
Как можно решить данные проблемы?
С уважением,
Rahul
Я такое видел, когда ещё не были сделаны первые бекапы.
На стороне Veeam бэкапы успешно сделаны, в планировщике стоят даты последнего и последующего бэкапов.
Возможно, некоторые типы бэкапов (Linux Backup, Windows Backup, File Backup) не поддерживаются (только Veeam Backup).
Каким образом можно «подружить» шаблон со всеми типами?
С уважением,
Rahul
TempXmlVeeam обновляется?
Да, обновляется с заданной периодичностью.
Но видит только Veeam Backup.
Сергей, приветствую! Установил на Zabbix 6.0 LTS + Veeam Backup & Replication 12. На zabbix agent версии 2 работать отказалось. С первой версией есть одна проблема: На трех из пяти задачах не отрабатывают элементы данных LastEndTime и LastRunTime. Более глубокий анализ привел меня к тому, что первые две задачи (отрабатывает нормально) — бэкапы виртуальных машин с кластера Hyper-V, оставшиеся три задачи — физические сервера с установленными агентами. Ну и сама ошибка: > powershell.exe -NoProfile -ExecutionPolicy Bypass -File «C:\Program Files\Zabbix Agent\scripts\zabbix_vbr_job.ps1″ LastEndTime 4db0336e-15e9-43f9-a90e-166167c81851 >> Не удается преобразовать значение » » в тип «System.DateTime». Ошибка: «Строка не распознана как действительное значени е… Подробнее »
Добрый день, Юрий!
Данное решение работало на Zabbix версии до 5.4 и Veeam 10.
Возможно, что поменялся синтаксис и скриптам не отработать.
Уже много решений для Zabbix 6, но я пока не обновлял свой боевой.
Я поставил и настроил версию для SQL, все работает нормально. Спасибо!
Поделитесь линком откуда решение брали?
https://github.com/romainsi/zabbix-VB-R-SQL
Юрий, привет!
А не подскажешь как настроил SQL? Пытаюсь сделать, то что написано под скриптом, но в итоге на запрос zabbix_vbr_job.ps1 JobsInfo получаю [] вместо нужной строки. То есть как я понял, я не могу достучаться до БД.
Добрый день, Павел. Глянул свои заметки на эту тему. Вот что нашел
## Траблшут
Пустой список результатов
При выполнение команды
ps1
\zabbix_vbr_job.ps1 JobsInfo
Получаю ответ
ps1
[]
Получилось решить после того, как понял, что на SQL-сервере стоял метод аутентификации только через Windows учётные записи.
https://github.com/romainsi/zabbix-VB-R-SQL/issues/27
Нашел решение проблемы.
В итоге проблема в том, что в SQL по умолчанию (который ставим Veeam) отключена авторизация локальных учетных записей, поэтому скрипт и не мог достучаться.
Спасибо за информацию!