Veeam Backup & Replication
Сервер Veeam Backup & Replication через его REST API: задания, последний запуск которых завершился сбоем или предупреждением, неудачные сессии за последние 24 часа, заполняющиеся репозитории, лицензия и — по каждому защищаемому компьютеру или ВМ — его последняя успешная резервная копия.
DumbMonit входит под учётной записью Windows, имеющей только роль Veeam Backup
Viewer (OAuth2 password grant на /api/oauth2/token, порт 9419), и хранит токен в
течение его пятнадцатиминутного срока жизни. Каждый вызов несёт обязательный
заголовок x-api-version, по умолчанию 1.1-rev0: ревизия, появившаяся вместе с
версией 12.0.
Состояния заданий (/api/v1/jobs/states) — единственное обязательное чтение.
Остальное — /api/v1/serverInfo, /api/v1/sessions (созданные за последние 24
часа), /api/v1/backupInfrastructure/repositories/states, /api/v1/license и
/api/v1/restorePoints (точки восстановления всех защищаемых объектов по всему
серверу, сначала новейшие) — читается, если роль это позволяет. Veeam оставляет
некоторые маршруты для роли Backup Administrator, в том числе лицензию в текущих
версиях: отказ там показывается как «не читается», а не как ошибка. Сервер,
слишком старый, чтобы знать /api/v1/restorePoints (маршрут появился после 12.0),
обрабатывается так же: нет устройств, нет ошибки.
За чем он следит
Заголовок раздела «За чем он следит»Все метрики имеют префикс dumbmonit_veeam_.
| Метрика | Метки | Значение |
|---|---|---|
version_info | version | Значение 1: сборка, 12.3.1.1139. |
job_enabled, job_running | job, type | По каждому заданию. |
job_failed, job_warning | job, type | 1, когда последний запуск включённого задания завершился сбоем или предупреждением. Отключённое задание сохраняет свой последний результат, который уже ни о чём не говорит: оно не считается ни тем, ни другим. |
job_result_info | job, type, result | Значение 1: success, warning, failed, none. |
job_last_run_age_seconds | job, type | Время с последнего запуска; отсутствует для задания, которое ни разу не запускалось. |
job_progress_percent | job, type | Пока задание выполняется. |
jobs, jobs_failed, jobs_warning, jobs_running, jobs_disabled | Счётчики; по одному описывается не более 200 заданий. | |
sessions_24h, sessions_failed_24h, sessions_warning_24h | Сессии, созданные за последние 24 часа, по результату. | |
repository_capacity_bytes, repository_free_bytes, repository_used_bytes, repository_used_percent | repository, type | По каждому репозиторию. У репозитория объектного хранилища нет ёмкости: публикуется только занятое место. |
license_valid | 1, когда статус лицензии Valid. | |
license_info | status, type, edition | Значение 1. |
license_expiry_seconds, support_expiry_seconds | До истечения лицензии и договора поддержки; отсутствует для бессрочной лицензии. | |
license_instances_licensed, license_instances_used | Использование лицензии на экземпляры. | |
section_readable | section: sessions, repositories, license, restore_points | 1, когда учётная запись может это читать, 0, когда Veeam отказал. |
Применяемые встроенные правила:
- Veeam job failed: последний запуск включённого задания завершился сбоем (Warning, напоминание ежедневно).
- Veeam job ended with a warning (Advisory, напоминание ежедневно).
- Veeam repository nearly full: более 90 % в течение тридцати минут (Advisory).
- Veeam license expiring: осталось менее 30 дней (Advisory, напоминание ежедневно). Только когда учётная запись может читать лицензию.
- Client device stale: защищаемый компьютер или ВМ превысил
device_stale_daysбез успешной резервной копии (Advisory, напоминание ежедневно); см. Устройства ниже.
Устройства
Заголовок раздела «Устройства»Каждый объект хотя бы с одной точкой восстановления — ВМ, физический или
виртуальный компьютер, защищаемый агентом, файловый ресурс — публикуется в общем
семействе, которое используют все интеграции DumbMonit, отслеживающие защищаемые
устройства, — dumbmonit_client_device_*, с префиксом без veeam, полностью
описанном в разделе Client devices:
| Метрика | Что | Метки |
|---|---|---|
last_backup_timestamp_seconds | Самая свежая точка восстановления объекта | device, type, os, user, kind |
stale_seconds | Положительна, когда объект превысил device_stale_days (по умолчанию 3) без новой точки восстановления; запускает правило Client device stale | device, type, os, user, kind, signal (всегда backup) |
Ограничения, о которых стоит знать: задание защищает свои объекты как группу
(jobs/states даёт только число, objectsCount); дата по каждому объекту берётся
вместо этого из /api/v1/restorePoints, читаемого для всего сервера одним
вызовом. Veeam создаёт точку восстановления, только когда резервная копия хотя бы
частично удалась, так что самая свежая для каждого объекта уже является
«последней успешной резервной копией» — здесь по результату ничего не
фильтруется. Veeam не предоставляет «последнее подключение» отдельно от самой
резервной копии, поэтому last_seen_timestamp_seconds и сигнал connection
никогда не публикуются; в таблице на странице монитора last_connection
показывается как «—». type устройства — это собственное название платформы
Veeam (VSphere, WindowsPhysical, HyperV…), показываемое как есть.
Страница монитора
Заголовок раздела «Страница монитора»Панель Backups одним предложением говорит, что не так, показывает неудавшиеся задания, неудачные сессии за последние 24 часа, выполняющиеся задания и лицензию, затем перечисляет включённые задания — сначала сбои — с их типом и последним запуском, и репозитории с их заполнением и свободным местом. Затем следует таблица защищаемых устройств (имя, платформа, последняя резервная копия, статус) из общего семейства выше.
Выдайте DumbMonit учётную запись Veeam Backup Viewer
Заголовок раздела «Выдайте DumbMonit учётную запись Veeam Backup Viewer»-
На сервере резервного копирования создайте для DumbMonit локальную учётную запись Windows с длинным случайным паролем и без других прав на машине (доменная учётная запись тоже подойдёт).
net user dumbmonit * /add -
В консоли Veeam откройте главное меню > Users and Roles > Security, нажмите Add, введите учётную запись (например VBR01\dumbmonit) и назначьте ей только роль Veeam Backup Viewer.
-
В DumbMonit введите адрес сервера резервного копирования, например «vbr.lan», и учётную запись в виде HOST\dumbmonit или DOMAIN\dumbmonit с её паролем. REST API слушает порт 9419 с самоподписанным сертификатом: отметьте «Accept an unverifiable certificate», если вы не установили собственный.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| Имя пользователя и пароль | Учётная запись с ролью Veeam Backup Viewer в виде HOST\dumbmonit или DOMAIN\dumbmonit. |
Адрес: имя хоста или IP сервера резервного копирования, host:port или URL.
Параметры:
- Протокол (
https) и Порт (9419): службы REST API. - Версия API (
1.1-rev0): отправляется какx-api-version. Меняйте её, только если сервер её отклоняет; сервер v13 документирует1.3-rev1. - Accept an unverifiable certificate: собственный сертификат REST API самоподписан.
- Тайм-аут на запрос (15 с).
- Устаревание устройства (
device_stale_days, по умолчанию 3 дня): см. Устройства выше.
Устранение неполадок
Заголовок раздела «Устранение неполадок»«Veeam refused the login»: имени пользователя нужны хост или домен
(VBR01\dumbmonit), либо у учётной записи нет роли Veeam.
«Veeam refused to list the jobs (403)»: у учётной записи роль, не позволяющая читать задания; назначьте ей Veeam Backup Viewer.
«Veeam refused the API version»: задайте в параметре версии API ту, что сервер
перечисляет на https://<server>:9419/swagger.
Лицензия показывает «Not readable»: ожидаемо для роли Viewer в текущих версиях; DumbMonit не запрашивает большего.
Нет устройств или панель Devices пуста: restore_points читается как «Not
readable», вероятно, потому что сервер старше этого маршрута (всё до более поздних
ревизий 12.0), а не из-за проблемы с ролью — точки восстановления являются
обычным инвентарём, а не страницей только для администратора.