Как такого готово модуля под ELK либо Splunk у Veeam Backup and Replication нету и вроде не предвидится. А когда такое происходит приходится что-то придумывать самому, обычно на помощь приходят скрипты. И эта статья не исключение.
Сразу оговорюсь что в этой статье я не буду использовать стандартный функционал Veeam Backup and Replication с оповещениями по email и т.д. Я считаю если есть система мониторинга, то нужно всё добавлять туда и смотреть всё в одном месте, хоть это иногда и сложно.
Veeam.Backup.PowerShell
Для того, чтобы работать с Veeam Backup and Replicationнам понадобится модуль Veeam.Backup.PowerShell, который ставится по умолчанию вместе с самим Veeam Backup and Replication.
Для того чтобы начать работу открываем консоль Veeam Backup and Replication, далее в меню выбираем Console > Powershell
.
Чтобы точно удостоверится что мы всё сделали правильно и у нас всё готово для начала работы можно выполнить команду, которая найдёт нам модуль и выведет по нему информацию.
Get-Module -Name Veeam.Backup.PowerShell
oduleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0 Veeam.Backup.PowerShell {Add-CTFile, Add-HP3Snapshot, Add-HP3Storage
Также можно вывести список команд, которые мы можем использовать благодаря этому модуля используя команду Get-Help
либо Get-VBRCommand
. Обратите внимание так как мы используем для мониторинга, то соответственно мы будем использовать только команды Get
.
Get-Help Veeam.Backup.PowerShell
Get-VBRHvServerVolume Cmdlet Veeam.Backup.PowerShell Returns volume-specific settings for Microso
Get-VBRInstalledLicense Cmdlet Veeam.Backup.PowerShell Returns details about licenses installed on
Get-VBRInstanceLicenseSummary Cmdlet Veeam.Backup.PowerShell Returns details on the per-instance license
Get-VBRSecurityOptions Cmdlet Veeam.Backup.PowerShell
Get-VBRCommand -Verb Get
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-HP3InfrastructureVolume 1.0 Veeam.Backup.PowerShell
Cmdlet Get-HP3Snapshot 1.0 Veeam.Backup.PowerShell
Cmdlet Get-HP3Storage 1.0 Veeam.Backup.PowerShell
Cmdlet Get-HP3Volume 1.0 Veeam.Backup.PowerShell
Документация
Вы всегда можете найти документацию по той или иной команде на сайте, либо же выполнить команду Get-Help
.
Get-Help Connect-VBRServer
SYNOPSIS
Connects to Veeam backup server.
SYNTAX
Connect-VBRServer [-Server <String>] [-Port <Int32>] [-Timeout <Int32>] [<CommonParameters>]
Создание пользователя
Конечно правильным тоном в мониторинге считается что вы всегда создаёте отдельного пользователя с ограниченными правами, если это возможно конечно. Вот в случае с Veeam Backup and Replication так как раз и не получится потому что чтобы использовать модуль Veeam.Backup.PowerShell вам необходимо быть в группе Veeam Backup Administrator, жаль конечно.
Для начала нужно создать этого самого пользователя в самой ОС Windows, как это делать я опущу так как считаю, что с этим должен справится даже самый юный сисадмин.
После того как пользователь был добавлен надо добавить его в группу Veeam Backup Administrator в самой консоли Veeam Backup and Replication. Для этого в левом верхнем меню выбираем Users and Roles
.
Проверка подключения
Теперь, когда у нас есть пользователь остаётся проверить подключение к Veeam Backup and Replication. Для этого используем команду Connect-VBRServer
, если получаете ошибку о уже существующей сессии выполните Disconnect-VBRServer
.
Disconnect-VBRServer
Connect-VBRServer -Server 127.0.0.1 -U VeeamReader
Если сделали всё правильно, то должны получить пустой ответ, главное без ошибок. Ну а для того чтобы проверить что всё работает можно еще выполнить любую команду и получить от неё ответ.
Get-VBRLocalhost
Description : Backup server
IsUnavailable : False
Type : Local
ApiVersion : Unknown
Проверка лицензии
Конечно никто не хочет проморгать момент, когда у вас закончится лицензия, тем более иногда нужно узнать об этом заранее чтобы заложить бюджет (привет госаппарату).
Для проверки лицензии используется команда Get-VBRInstalledLicense
, или вот вам готовый скрипт.
Get-VBRInstalledLicense
SupportExpirationDate : 3/15/2023 12:00:00 AM
AutoUpdateEnabled : False
FreeAgentInstanceConsumptionEnabled : True
CloudConnect : Disabled
Проверка бэкапов
Естественно вам необходимо также мониторить и сами бэкапы, а точнее их состояние, когда выполнялись и т.д. Для этого используется команда Get-VBRBackup
, или вот вам готовый скрипт.
Get-VBRBackup
Backup Job 1 VMware Backup 12/3/2021 10:02:5... 1
Проверка подключенных хостов
Используя Veeam Backup and Replicationвы можете бэкапить как виртуальные так и физические сервера, но для начала вам нужно добавить эти в сервера в сам Veeam Backup and Replication. И вот чтобы мониторить какие именно вы добавили сервера используется команда Get-VBRServer
, или вот вам готовый скрипт.
Get-VBRServer
Info : 192.168.0.2 (VMware ESXi server)
Name : 192.168.0.2
Reference : host-2
IsUnavailable : False
Type : ESXi
Info : 192.168.0.3 (Microsoft Windows server)
Name : 192.168.0.3
IsUnavailable : False
Type : Windows
Тут, например, можно сделать alert в системе мониторинга если один из серверов со статусом IsUnavailable = True
.
Список Job
Для того чтобы получить список всех задач в Veeam Backup and Replication используется команда Get-VBRJob
, или вот вам готовый скрипт.
Get-VBRJob
Job Name Type State Last Result Description
-------- ---- ----- ----------- -----------
Backup Job 1 VMware Backup Stopped None Created by asd\Administrator at 12/4/2021 11:57 PM.
Backup Job 3 VMware Backup Stopped None Created by asd\Administrator at 12/4/2021 12:25 AM
Информация о сервере
Ну и уже знакомая нам команда Get-VBRLocalhost
, или вот вам готовый скрипт.
Get-VBRLocalhost
```json
Description : Backup server
IsUnavailable : False
Type : Local
ApiVersion : Unknown
Заключение
Я лишь показал каким образом вы можете получить данные для мониторинга, а то как уже доставить эти данные в систему мониторинга уже придётся решать вам самим, так как у каждого своя система мониторинга.
Могу лишь описать схему как это у меня уже работает со Splunk
:
- Я добавил все эти скрипты в приложение (Splunk Deployment)
- Добавил input
- Создал dashboard и alerts
Если у вас агент не может запускаться от имени определённого пользователя, то вам в скриптах придётся еще добавлять подключение используя команду Connect-VBRServer
. Но так как Veeam Backup and Replication ставится только на Windows то значит агент скорее всего работает как сервис, а как запустить сервис от определённого пользователя в Windows легко узнать с помощью google.
Также вы можете запускать скрипты через Execbeat и отправлять вывод в Elasticsearch. Подробнее про execbeat по ссылке.
Ну и как мне кажется самый правильный вариант — это выводить содержимое скрипта в текстовый файл и уже с него отправлять данные в систему мониторинга. Что я вскоре планирую реализовать, а может быть уже реализовал.
Комментарии