matcher: always-matches
comment Это сопоставление всегда срабатывает
mode all
target mail-to-root
match-calendar использует специальный синтаксис для определения временных интервалов, в которые уведомления должны быть активны.
match-calendar 8-12 — каждый день с 8 до 12 часов;
match-calendar 8:00-15:30 — каждый день с 8 часов до 15:30;
match-calendar mon..fri 9:00-17:00 — каждый будний день с 9 до 17 часов;
match-calendar sun,tue..wed,fri 9-17 — в воскресенье вторник, среду и пятницу с 9 до 17 часов.
match-field используется для фильтрации уведомлений на основе определённых полей в сообщениях о событиях.
exact, в качестве разделителя можно использовать запятую. Правило сопоставления срабатывает, если поле метаданных имеет любое из указанных значений.
match-field exact:type=gc — только уведомления для заданий по сбору мусора;
match-field exact:type=prune,verify — уведомления о заданиях prune и проверках;
match-field regex:datastore=^backup-.*$ — уведомления для любого хранилища данных, имя которого начинается с backup.
match-field regex:datastore=.* будет соответствовать любому уведомлению, имеющему поле метаданных datastore, но не будет соответствовать, если поле не существует.
match-severity используется для фильтрации уведомлений на основе уровня серьёзности (severity) события. Поддерживаются следующие уровни серьезности: info, notification, warning, error, unknown.
match-severity error — только ошибки;
match-severity warning,error — предупреждения и ошибки.
Таблица 57.2. Список событий уведомлений
|
Событие
|
Тип
|
Серьезность
|
Поля метаданных (в дополнение к типу)
|
|---|---|---|---|
|
Обновление сертификата ACME не удалось
|
acme
|
error
|
hostname
|
|
Сбой сбора мусора
|
gc
|
error
|
datastore, hostname
|
|
Успешный сбор мусора
|
gc
|
info
|
datastore, hostname
|
|
Доступны обновления пакетов
|
package-updates
|
info
|
hostname
|
|
Ошибка задания Prune
|
prune
|
error
|
datastore, hostname, job-id
|
|
Успешное выполнение задания Prune
|
prune
|
info
|
datastore, hostname, job-id
|
|
Ошибка удаленной синхронизации
|
sync
|
error
|
datastore, hostname, job-id
|
|
Удаленная синхронизация выполнена успешно
|
sync
|
info
|
datastore, hostname, job-id
|
|
Почта для root
|
system-mail
|
unknown
|
hostname
|
|
Ошибка задания резервного копирования на ленту
|
tape-backup
|
error
|
datastore, hostname, media-pool, job-id
|
|
Успешное выполнение задания резервного копирования на ленту
|
tape-backup
|
info
|
datastore, hostname, media-pool, job-id
|
|
Запрос на загрузку ленты
|
tape-load
|
notice
|
hostname
|
|
Ошибка задания проверки
|
verify
|
error
|
datastore, hostname, job-id
|
|
Успешное выполнение задания проверки
|
verify
|
info
|
datastore, hostname, job-id
|
Таблица 57.3. Описание полей метаданных
|
Поле метаданных
|
Описание
|
|---|---|
|
datastore
|
Имя хранилища данных
|
|
hostname
|
Имя хоста сервера резервного копирования
|
|
job-id
|
Идентификатор задания
|
|
media-pool
|
Имя пула ленточных носителей
|
|
type
|
Тип события уведомления
|
/etc/proxmox-backup/notifications.cfg):
matcher: workday
match-calendar mon..fri 9-17
target admin
comment Notify admins during working hours
matcher: night-and-weekend
match-calendar mon..fri 9-17
invert-match true
target on-call-admins
comment Separate target for non-working hours
matcher: zfs-error
match-calendar mon..fri 8-17
match-field exact:datastore=zfs
match-severity error
mode all
target smtp



# proxmox-backup-manager notification matcher create workday \
--mode all --match-calendar "mon..fri 8-17" --match-severity "error" \
--match-field "exact:datastore=zfs" --target sendmails-admin