Proxmox Backup Server
Сервер резервного копирования: тридцатидневный календарь копий по каждой машине, неудавшиеся задачи с их журналами, плановые задания (синхронизация, проверка, очистка по сроку хранения, сборка мусора), хранилища данных, диски и пулы ZFS, ожидающие обновления, службы и версии пакетов самого сервера, а также ленточный уровень, если он есть.
Страница монитора
Заголовок раздела «Страница монитора»
Помимо универсальных графиков, монитор PBS показывает шесть панелей, считываемых из того, что сохранил опрос — открытие страницы никогда не обращается к самому PBS:
- Сбои — каждая задача, завершившаяся ошибкой за последние 30 дней (копирование, синхронизация,
проверка, очистка, GC), сначала новые, с её типом, целью, временем
начала и собственным сообщением об ошибке PBS. Show log по требованию запрашивает у PBS последние строки
журнала задачи (
/nodes/localhost/tasks/{upid}/log). - Календарь копий — одна строка на каждую машину с копиями (хранилище данных, пространство имён,
type/idи имя гостя, если PVE записал его в заметки снимка), одна точка на день: бирюзовая, если в этот день копирование удалось (задача завершиласьOKили снимок существует — у синхронизированных групп локальной задачи нет), красная, если задача копирования завершилась ошибкой и ни одна не удалась, янтарная, если копия есть, но её проверка не удалась, синяя, пока идёт копирование, серая, если ничего не происходило. Подсказка каждой точки показывает время, размер, длительность и фрагмент ошибки; строка сообщает, когда были последний успех и последний сбой, число снимков, размер последнего снимка и срок хранения применяемого задания очистки. Машина, все копии которой неудачны, не имеет ни одного снимка, но всё равно отображается — по её задачам. - Задания — каждое задание синхронизации, проверки и очистки и GC каждого хранилища данных, с расписанием, последним запуском, результатом, следующим запуском; последний неудачный запуск получает красную плашку и текст ошибки, сбои сортируются первыми.
- Лента — только когда у сервера есть ленточный уровень. Задания ленточного копирования с их пулом, накопителем, меткой ожидаемой следующей ленты, последним запуском и его ошибкой; пулы носителей с политиками выделения и хранения, числом лент в них, числом истёкших и признаком шифрования; накопители и чейнджеры; и сами ленты с их состоянием, набором носителей, расположением и объёмом записанных байтов.
- Хранилища данных и диски — полоса заполнения, собственный прогноз заполнения PBS,
коэффициент дедупликации, последний GC; пулы ZFS с их состоянием; физические диски
с вердиктом SMART и износом SSD и полная таблица SMART по требованию
(
/nodes/localhost/disks/smart). Для каждого хранилища данных также показываются плашка обслуживания или «Not mounted», плашка «Busy: n writes, n reads», рост, измеренный в день, и за сколько дней истории, сколько машин каждого типа в нём хранится, сколько длился последний GC, и предупреждающая строка, если этот GC нашёл нечитаемые чанки. - Сервер — юниты systemd, причём те, без которых сервер не может обойтись, выделены; версии пакетов Proxmox (установлена, доступна, запущена), с плашкой «Restart pending», если демон отстаёт от своего пакета; сертификат и срок его действия; и правила управления трафиком с их ограничениями и тем, что через них проходит.
Календарь разделяет дни по локальной полночи браузера. Его история берётся
из списка задач: первый опрос после запуска читает последние 30 дней
(/nodes/localhost/tasks?since=…&limit=5000), последующие опросы — только окно задач,
а сервер хранит объединение в SQLite (pbs_task_history, 35 дней,
не более 10 000 задач на монитор), чтобы календарь переживал перезапуски.
За чем он следит
Заголовок раздела «За чем он следит»Все метрики имеют префикс dumbmonit_pbs_.
| Семейство | Метрики | Метки |
|---|---|---|
| Узел | node_cpu_percent, node_cpu_count, node_iowait_percent (время CPU в ожидании ввода-вывода — на сервере резервного копирования именно оно говорит о насыщении дисков), node_load1/5/15, node_memory_used/total/free_bytes, node_memory_used_percent, node_swap_used/total_bytes, node_rootfs_used/total/avail_bytes, node_rootfs_percent, node_uptime_seconds, node_kernel_info, version_info | |
| Хранилища данных | datastore_available, datastore_bytes_used/total/avail, datastore_used_percent, datastore_estimated_full_seconds (собственная оценка PBS; отсутствует, пока не хватает данных или использование уменьшается), datastore_dedup_factor, datastore_removable_unmounted (1, когда съёмное хранилище имеет статус notmounted — это не ошибка, оно просто не подключено; метка mount_status), datastore_backend_info (метка backend, filesystem или s3), datastore_maintenance (1, когда хранилище переведено на обслуживание; метка mode, offline, read-only…), datastore_groups и datastore_snapshots (метка type, vm/ct/host/other), datastore_active_reads, datastore_active_writes (что удерживает хранилище прямо сейчас — это объясняет сборку мусора, которая не завершается), datastore_growth_percent_per_day, datastore_growth_bytes_per_day, datastore_history_days | datastore |
| Сборка мусора | gc_last_removed_bytes, gc_last_pending_bytes, gc_last_run_ok (PBS 3.3+), gc_last_success_age_seconds, gc_last_duration_seconds, gc_disk_chunks, gc_last_pending_chunks, gc_last_removed_chunks, gc_bad_chunks (чанки, которые GC нашёл нечитаемыми и оставил на месте — это повреждение, а не место для освобождения: копию, которая на них ссылается, больше нельзя восстановить), verify_last_success_age_seconds, sync_last_success_age_seconds | datastore |
| Группы копий | backup_count, backup_last_timestamp_seconds, backup_last_age_seconds, backup_last_size_bytes, backup_last_verified (1 проверено, 0 неудача, отсутствует, если никогда не проверялось) | datastore, namespace, backup_type, group |
| Пространства имён | namespace_groups, namespace_snapshots (корневое пространство имён — namespace="") | datastore, namespace |
| Задачи в окне | tasks_running, tasks_ok, tasks_failed | worktype (backup, verificationjob, garbage_collection, prune, syncjob…) |
| Задания | job_enabled, job_last_ok (1 для OK или WARNINGS: n, иначе 0, отсутствует, если задание никогда не запускалось), job_never_run (1, когда задание включено, имеет расписание и ни разу не запускалось — у него нет ни сбоя, ни успеха, поэтому в других местах оно не видно), job_last_run_age_seconds, job_next_run_seconds (отрицательное при просрочке), sync_jobs_total, verify_jobs_total, prune_jobs_total; псевдоним sync_job_last_ok для правила | job, datastore, kind (sync, verify, prune); remote (remote:remote-store или local) у заданий синхронизации — псевдоним несёт job, datastore, remote |
Лента (параметр tape, по умолчанию выкл., пять вызовов) | tape_backup_job_last_ok, tape_backup_job_never_run, tape_backup_job_last_run_age_seconds, tape_backup_job_next_run_seconds, tape_backup_jobs_total; tape_drive_info (серия присутствия), tape_drives_total, tape_changers_total, tape_media_pools_total; tape_media_total, tape_media_writable, tape_media_expired, tape_media_bytes_used | job, datastore, pool, drive у заданий; drive, vendor, model, changer у tape_drive_info; pool у счётчиков носителей |
| Диски (те же имена, что в Proxmox VE) | node_disk_size_bytes, node_disk_smart_failed (0 passed, 1 failed; отсутствует, если SMART не дал вердикта), node_disk_health_info (серия присутствия; метки health, serial, used), node_disk_wearout_percent (использованный ресурс, только SSD, как его показывает PBS: 100 − wearout) | disk (/dev/sda), model, type |
| Пулы ZFS (те же имена, что в Proxmox VE) | node_zfs_pool_degraded (0 ONLINE, иначе 1), node_zfs_pool_health_info (метка health), node_zfs_pool_size_bytes, node_zfs_pool_alloc_bytes, node_zfs_pool_free_bytes, node_zfs_pool_used_percent, node_zfs_pool_fragmentation_percent | pool |
| Обновления | node_updates_pending (число пакетов, для которых доступно обновление) | |
Версии (параметр updates, из /nodes/localhost/apt/versions) | node_package_upgradable (1/0), node_package_info (серия присутствия; метки installed, available, running), node_running_version_stale (1, когда установленный пакет proxmox-backup-server больше не соответствует запущенному демону — пакет обновили, а службы не перезапустили) | package, ограничено proxmox-backup, proxmox-backup-server, proxmox-backup-client, proxmox-kernel-helper |
Службы (параметр services, один вызов) | node_service_active (1 работает, 0 нет), node_service_enabled (отсутствует для юнита static, который подтягивается другим юнитом и поэтому не включён и не выключен), node_services_total | service, expected ("1" для proxmox-backup, proxmox-backup-proxy и proxmox-backup-banner — юнитов, без которых сервер не может обойтись; у каждого другого юнита серия всё равно есть, с expected="0", и тревоги он никогда не вызывает) |
Сертификат (параметр certificates, по умолчанию выкл.) | node_certificate_expires_seconds, отрицательное после истечения | certificate (имя файла), issuer |
Управление трафиком (параметр traffic_control) | traffic_rate_in_bytes, traffic_rate_out_bytes (измеряется в момент опроса), traffic_limit_in_bytes, traffic_limit_out_bytes (настроенный предел, разобранный из десятичных строк PBS вроде 100 MB; отсутствует, когда в этом направлении предела нет, вместо нуля, который читался бы как «всё заблокировано»), traffic_rules_total | rule |
| Лимиты и сбор | backup_groups_total, backup_groups_dropped, up, scrape_errors, scrape_duration_seconds |
Задача, завершившаяся WARNINGS: n, считается успешной. Вызовы по каждому хранилищу данных
ограничены четырьмя параллельными: перечисление снимков читает индексы хранилища,
и всплеск замедлил бы выполняющееся копирование.
Списки заданий не ограничены окном задач: задание синхронизации, которое
падает три недели, по-прежнему отображается как падающее. У задания, которое ни разу не запускалось,
нет серии job_last_ok, но есть job_never_run, и правило «PBS job
never ran» срабатывает именно в этом случае.
Сборка мусора читается одним вызовом /admin/gc, охватывающим сразу все
хранилища данных, тогда как раньше требовался один вызов /admin/datastore/{store}/gc на
хранилище; этот вызов по хранилищу остаётся запасным вариантом, когда
/admin/gc недоступен — старый PBS или нехватка прав — и не
считается ошибкой. /admin/gc также содержит длительность запуска и счётчики
чанков, которых нет в вызове по хранилищу. gc_last_run_ok берётся из
last-run-state в PBS 3.3 и новее; в более старых версиях используется
самая недавняя задача сборки мусора в окне. Счётчики по типам берутся
из /admin/datastore/{store}/status?verbose=1: без verbose PBS
возвращает только размеры, которые уже дал /status/datastore-usage.
/admin/datastore/{store}/namespace возвращает всё дерево пространств имён, поэтому
во вложенных пространствах ничего не теряется — pve/site-a/rack1 считается так же, как
корневое. Диски и пулы берутся из /nodes/localhost/disks/list и
/nodes/localhost/disks/zfs (параметр disks; 403 допускается, как и
400, которым отвечает сервер без ZFS: нет серий пулов, нет ошибки сбора).
datastore_growth_percent_per_day — аппроксимация методом наименьших квадратов по истории использования,
которую сам PBS возвращает через /status/datastore-usage: доля использования
от 0 до 1, одна точка каждые тридцать минут за последний месяц, с
пропусками null, которые пропускаются, а не заполняются — сервер, который был выключен,
не рос, пока был выключен. Это те же числа, что стоят за собственным прогнозом PBS «full
in N days». Нужно не менее восьми измеренных точек, прежде чем что-либо
будет опубликовано, а datastore_history_days показывает, какую историю
охватывает наклон. Отрицательное значение — не неисправность: очистка освобождает больше, чем
добавляют копии.
Для ленты не публикуется ничего, когда у сервера нет ни накопителя, ни чейнджера, ни пула, ни ленточного задания — установка без ленты не должна обзаводиться десятком нулевых серий, которые выглядят как ленточный уровень в беде. Лента, не входящая ни в один пул, чистый носитель или носитель, выведенный из пула, не входит ни в один счётчик пулов.
Устройства
Заголовок раздела «Устройства»Каждая машина с копиями — хост, ВМ или контейнер — также публикуется в
общем семействе, которое используют все интеграции DumbMonit, отслеживающие защищаемые
устройства, — dumbmonit_client_device_*, с префиксом без pbs, полностью описанном в разделе
Client devices. У PBS не запрашивается ничего нового:
это та же дата последнего снимка, что стоит за
backup_last_timestamp_seconds, повторно опубликованная в общем семействе, чтобы
одно правило и одна таблица обслуживали PBS наравне со всеми другими интеграциями, которые
защищают устройство.
| Метрика | Что | Метки |
|---|---|---|
last_backup_timestamp_seconds | Тот же момент, что и backup_last_timestamp_seconds для этой группы | device, type, os, user, kind |
stale_seconds | Положительное, когда группа превысила device_stale_days (по умолчанию 3) без нового снимка; управляет правилом Client device stale | device, type, os, user, kind, signal (всегда backup) |
Ограничение, о котором стоит знать: PBS не записывает отдельное «подключение» для
машины с копиями, только копии — last_seen_timestamp_seconds и сигнал
connection здесь никогда не публикуются; в таблице на странице монитора last_connection
отображается как «—». Устройство, названное в тревоге, — это имя гостя
из заметок снимка, если его записал PVE, иначе type/id, как и в
календаре копий.
Применяемые встроенные правила: Monitor unreachable, PBS datastore almost full, PBS datastore filling up, PBS backup too old (по группе копий: нет нового снимка два дня — измените порог правила для более длинного окна), PBS backup verification failed, PBS task failed, PBS garbage collection too old, PBS garbage collection failed, PBS corrupt chunks found, PBS sync job failed, PBS prune job failed, PBS verification job failed, PBS job never ran, PBS datastore not mounted, PBS service down, PBS restart pending after upgrade, PBS certificate expiring, PBS tape backup failed, PBS disk SMART failure, PBS SSD worn out, PBS ZFS pool degraded, PBS updates pending, Client device stale. Уведомления называют соответствующее задание, хранилище данных или группу копий.
Что подготовить в PBS
Заголовок раздела «Что подготовить в PBS»Приведённые ниже шаги совпадают с теми, что показывает примечание рядом с формой. Принцип: пользователь, выделенный для мониторинга, токен с ролью только для чтения — никогда не учётная запись, под которой вы входите.
-
Откройте оболочку на сервере резервного копирования (в веб-интерфейсе: Administration → Shell; или SSH) и создайте пользователя, выделенного для мониторинга. Пароль ему не нужен: входит токен.
proxmox-backup-manager user create dumbmonit@pbs --comment "DumbMonit monitoring" -
Создайте API-токен пользователя. Команда выводит идентификатор токена и его секрет: скопируйте оба сейчас, PBS больше никогда не покажет секрет.
proxmox-backup-manager user generate-token dumbmonit@pbs monitor -
Выдайте минимум для чтения, по каждому пути — токену и пользователю, которому он принадлежит. Эффективные привилегии токена — это пересечение его собственного ACL и ACL его пользователя: выданные одному токену, они не дают ровно ничего, и PBS нигде об этом не сообщает. Поэтому каждая строка записывается дважды.
DatastoreAuditна/datastore(Datastore.Audit) читает хранилища данных, снимки, задания проверки и очистки и GC;Auditна/system(Sys.Audit) читает состояние узла, список задач и журналы задач, службы, правила управления трафиком, диски и пулы ZFS.proxmox-backup-manager acl update /datastore DatastoreAudit --auth-id 'dumbmonit@pbs'proxmox-backup-manager acl update /datastore DatastoreAudit --auth-id 'dumbmonit@pbs!monitor'proxmox-backup-manager acl update /system Audit --auth-id 'dumbmonit@pbs'proxmox-backup-manager acl update /system Audit --auth-id 'dumbmonit@pbs!monitor'Необязательно, и тоже дважды.
RemoteAuditна/remote(Remote.Audit) показывает задания синхронизации, которые забирают данные с удалённого узла: встроенная рольAuditохватывает толькоSys.AuditиDatastore.Audit, и безRemote.Auditтакое задание не отклоняется, оно просто отсутствует в списке заданий.TapeAuditна/tape(Tape.Audit) читает ленточный уровень.Auditна/(Sys.Auditна верхнем уровне) перечисляет ожидающие обновления пакетов, а также охватывает/datastoreи/system, если вы предпочитаете меньше строк. Без них эти элементы молча пропускаются, остальное не меняется. Здесь ничего не может записывать: сборщик выполняет толькоGET.proxmox-backup-manager acl update /remote RemoteAudit --auth-id 'dumbmonit@pbs'proxmox-backup-manager acl update /remote RemoteAudit --auth-id 'dumbmonit@pbs!monitor'proxmox-backup-manager acl update /tape TapeAudit --auth-id 'dumbmonit@pbs'proxmox-backup-manager acl update /tape TapeAudit --auth-id 'dumbmonit@pbs!monitor'proxmox-backup-manager acl update / Audit --auth-id 'dumbmonit@pbs'proxmox-backup-manager acl update / Audit --auth-id 'dumbmonit@pbs!monitor' -
Прежде чем покинуть оболочку, проверьте, что токен действительно может читать. Команда выводит его эффективные привилегии по путям; пустой результат означает, что у пользователя нет ACL, который есть у токена, — случай, когда монитор выглядит совершенно живым и ничего не сообщает.
proxmox-backup-manager user permissions 'dumbmonit@pbs!monitor' -
Скопируйте идентификатор токена в поле Token ID DumbMonit, а секрет — в поле Secret.
dumbmonit@pbs!monitor -
Предпочитаете веб-интерфейс? Configuration → Access Control: Users → Add, затем API Tokens → Add, затем Permissions → Add. Добавляйте каждое разрешение дважды: один раз как User Permission для
dumbmonit@pbsи один раз как API Token Permission дляdumbmonit@pbs!monitor: с путём/datastoreи рольюDatastoreAudit, затем снова с путём/systemи рольюAudit. Разрешение одного токена само по себе ничего не даёт. -
В DumbMonit введите адрес сервера, например “pbs.lan” или “pbs.lan:8007”.
Документация производителя: PBS API tokens.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| API-токен (рекомендуется) | Token ID: пользователь, realm и имя токена так, как их показывает PBS, dumbmonit@pbs!monitor. Secret: UUID, показанный один раз при создании токена. DumbMonit отправляет их в заголовке PBSAPIToken=user@pbs!name:secret, которого ожидает PBS. |
| Имя пользователя / пароль | user@pbs (или @pam) и пароль. Тикет получается, кэшируется и обновляется за десять минут до истечения его двухчасового срока. |
API принимает токен в двух частях (token_id + secret) или, как в более старых
версиях, одной строкой token = user@pbs!name=secret; оба варианта хранятся
одинаково. Целый токен, вставленный в Token ID, разделяется формой.
Права — только чтение, и выдаются дважды: эффективные привилегии токена — это
пересечение его собственного ACL и ACL его пользователя, поэтому каждую роль ниже нужно выдать
dumbmonit@pbs, а также dumbmonit@pbs!monitor. Проще всего: встроенная
роль Audit на /, плюс RemoteAudit на /remote для заданий синхронизации
и TapeAudit на /tape для ленточного уровня — Audit охватывает только Sys.Audit и
Datastore.Audit, и эти две роли существуют именно потому, что это не так. По конечным точкам:
| Конечная точка | Требуется |
|---|---|
GET /version | любой аутентифицированный пользователь |
GET /nodes/localhost/status, GET /nodes/localhost/tasks, GET /nodes/localhost/tasks/{upid}/log | Sys.Audit на /system (Audit на /system) |
GET /nodes/localhost/disks/list, …/disks/smart, …/disks/zfs | Sys.Audit на /system (Audit на /system); 403 допускается: нет серий дисков, нет ошибки сбора. …/disks/zfs отвечает 400 на сервере без ZFS, это допускается так же |
GET /nodes/localhost/services, GET /admin/traffic-control | Sys.Audit на /system (Audit на /system); 403 допускается: нет серий, нет ошибки сбора |
GET /nodes/localhost/certificates/info | Sys.Modify на /system — привилегия на запись, поэтому параметр certificates по умолчанию выключен и поэтому токен мониторинга не должен её иметь |
GET /status/datastore-usage, GET /admin/gc, GET /config/datastore, GET /admin/datastore/{store}/gc, …/status, …/active-operations, …/namespace, …/snapshots | Datastore.Audit на /datastore/{store} (DatastoreAudit на /datastore) |
GET /admin/verify, GET /admin/prune | перечисляются для хранилищ данных, где у токена есть Datastore.Audit; остальные задания молча опускаются |
GET /admin/sync | Datastore.Audit на хранилище данных и Remote.Audit на /remote/{remote} (RemoteAudit на /remote); остальные задания молча опускаются |
GET /nodes/localhost/apt/update, …/apt/versions | Sys.Audit на / (Audit на /); 403 допускается: нет серий обновлений или версий, нет ошибки сбора |
GET /tape/backup, /tape/drive, /tape/changer, /config/media-pool, /tape/media/list | Tape.Audit на /tape (TapeAudit на /tape); допускается любой сбой, в том числе PBS без поддержки ленты: нет серий ленты, нет ошибки сбора |
Обратите внимание, что одного Audit на /system недостаточно для списка обновлений, который PBS
проверяет по корневому пути. 403 на списках заданий или списке обновлений трактуется
как необязательная привилегия: ничего не производится и ничего не учитывается в
scrape_errors. А отсутствие роли у пользователя хуже, чем 403: вызов
успешен и возвращает пустой список, поэтому ничего не производится и ничто
не сигнализирует.
Адрес: 10.0.0.20, pbs.lan, pbs.lan:8007, [fd00::2] или полный URL.
Схема https и порт 8007 добавляются, если отсутствуют.
Параметры
Заголовок раздела «Параметры»| Ключ | Название | По умолчанию | Справка |
|---|---|---|---|
port | Порт API | 8007 | Используется, если адрес не содержит порта. |
insecure_tls | Принимать непроверяемый сертификат | false | Proxmox Backup Server по умолчанию поставляется с самоподписанным сертификатом: включите это, если соединение отклоняется по этой причине. |
request_timeout_seconds | Тайм-аут на запрос (секунды) | 15 | Время, отводимое на каждый вызов API, от 1 до 120. Перечисление снимков большого хранилища данных может занять несколько секунд. |
task_lookback_hours | Окно задач (часы) | 24 | Более старые задачи не учитываются среди сбоев, от 1 до 8760. |
datastores | Отслеживаемые хранилища данных | (пусто) | Имена хранилищ данных для мониторинга, через запятую. Пусто: все хранилища данных. |
max_groups | Лимит групп копий | 500 | Максимальное число машин с копиями, создающих серии; сверх него самые старые игнорируются. От 1 до 100000. |
jobs | Следить за плановыми заданиями | true | Перечисляет задания синхронизации, проверки и очистки и их последний запуск (/admin/sync, /admin/verify, /admin/prune). |
updates | Следить за ожидающими обновлениями | true | Считает пакеты, для которых доступно обновление (/nodes/localhost/apt/update). |
disks | Следить за дисками и пулами ZFS | true | Читает физические диски (вердикт SMART, износ SSD) и пулы ZFS (/nodes/localhost/disks). |
services | Следить за службами сервера | true | Читает юниты systemd и сообщает, работают ли те, без которых сервер не может обойтись. Требует Sys.Audit на /system; иначе молча пропускается. |
datastore_details | Читать подробности хранилища данных | true | Ещё два вызова на хранилище данных: сколько машин и снимков в нём хранится, что читает или пишет его прямо сейчас и переведено ли оно на обслуживание. |
traffic_control | Следить за ограничениями трафика | true | Читает ограничения скорости и то, что через них проходит прямо сейчас. Требует Sys.Audit; иначе молча пропускается. |
certificates | Следить за сроком сертификата | false | Выключено по умолчанию: PBS защищает этот вызов привилегией Sys.Modify, привилегией на запись, которую не следует выдавать токену мониторинга. |
tape | Следить за ленточным копированием | false | Читает ленточный уровень. Выключено по умолчанию, так как у большинства установок нет ленточного оборудования. Требует Tape.Audit на /tape. |
device_stale_days | Устаревание устройства (дни) | 3 | Машина с копиями, не имеющая нового снимка дольше этого срока, считается устаревшей. От 1 до 90. |
Частые ошибки
Заголовок раздела «Частые ошибки»| Симптом | Вероятная причина |
|---|---|
| Ошибка сертификата | Самоподписанный сертификат: установите доверенный (ACME встроен в PBS) или включите insecure_tls. |
| Ошибка аутентификации | Секрет вставлен в Token ID (или наоборот), либо у токена нет разрешения Audit — чаще всего потому, что роль выдана токену, но не пользователю, которому он принадлежит, что не вызывает ошибки: вызовы успешны и возвращают пустые списки. Только сбой GET /version ставит крест на всём опросе; сбой любого другого вызова учитывается в scrape_errors. |
| Всё пусто, но монитор работает | У пользователя нет ACL, который есть у токена, а PBS пересекает их: proxmox-backup-manager user permissions 'dumbmonit@pbs!monitor' ничего не выводит. Выдайте каждую роль и dumbmonit@pbs. |
Нет серии node_updates_pending | У токена нет Sys.Audit на /: выдайте ему роль Audit на / или установите updates в false, чтобы перестать запрашивать. |
| Отсутствует задание синхронизации | У токена нет Remote.Audit на удалённом узле задания: добавьте роль RemoteAudit на /remote. Задание не отклоняется, оно просто отсутствует в списке. |
| Нет срока действия сертификата | Параметр certificates выключен, это значение по умолчанию: PBS требует Sys.Modify для этого вызова, привилегию на запись. |
| Панель ленты никогда не появляется | Параметр tape выключен, это значение по умолчанию, либо у сервера нет накопителя, чейнджера, пула или ленточного задания. Когда ничего нет, ничего не публикуется. |
| Нет показателя роста у хранилища данных | В истории использования PBS меньше восьми измеренных точек; она заполняется в первые дни. |
| «PBS datastore filling up» никогда не срабатывает | datastore_estimated_full_seconds вычисляется PBS по месяцу измерений и до тех пор отсутствует. |
| Отсутствуют группы | Больше max_groups машин с копиями: backup_groups_dropped показывает, сколько оставлено без внимания. |
| Календарь пуст или короток | Он заполняется из списка задач при первом опросе после запуска (последние 30 дней); у PBS с очищенным архивом задач показывается только то, что осталось. У машины, которая никогда не копировалась на этот сервер и ни разу не имела задачи, строки нет. |
Машина отображается как vm/104 без имени | PVE записывает имя гостя в заметки снимка только при шаблоне заметок по умолчанию ({{guestname}}); пользовательский шаблон или более старый PVE оставляет заметки пустыми. |
| «Show log» не работает | У токена нет Sys.Audit на /system для журнала задачи, либо PBS уже ротировал журнал старой задачи. |