Skip to main content
Backup

NAKIVO Backup & Replication

Use the NAKIVO Backup & Replication check to monitor jobs, failing objects, and repositories directly from the NAKIVO Director's database.

The NAKIVO Backup & Replication check reads the PostgreSQL database of the NAKIVO Director read-only. Per job it reports the result of the last run, the age of the last successful run, long and skipped runs, failing objects (VMs), and the state and free space of the backup repositories. The check runs every 60 minutes on the octoja agent on Windows, Linux, and macOS (each as an x64 and an Arm64 build). It connects to PostgreSQL over the network, so it can run on any agent device that can reach the database.

Prerequisites

  • The octoja agent can reach the NAKIVO Director's PostgreSQL database on its host and port. When the check runs on the Director itself, use 127.0.0.1.
  • A dedicated database role with read access to the NAKIVO database. The check reads the tables jobs, jobexecutions, jobexecutionsummary, jobexecutionsteps, backuprepositories, backuprepositorystateinfo, backuprepositorystats and savepoints.
  • The Monitoring Check Management permission to add the check.

Steps

Add the check on the device that can reach the database — usually the Director itself.

  1. Open the device under Devices.
  2. Select Checks → Add Check → NAKIVO Backup & Replication.

For several Directors, you can assign it with config packages.

Settings

FieldTypeRequiredDefaultDescription
HostTextYes127.0.0.1Hostname or IP of the NAKIVO Director's PostgreSQL database
PortIntegerNo5432Database port. Values outside 1–65535 are replaced with 5432
DatabaseTextNonakivoDatabase name. An empty field is treated as nakivo
UsernameTextYes—Database role. Use a dedicated read-only role
PasswordPasswordNo—Password of the database role
Jobs to monitorListNo—Job names as shown in NAKIVO. Leave empty to monitor all jobs. Letter case and surrounding spaces are ignored
Backup age warning (hours)IntegerNo26Warning when a job's last successful run is at least this old. 0 turns the check off
Backup age critical (hours)IntegerNo36Critical when a job's last successful run is at least this old. 0 turns the check off
Check backup repositoriesBooleanNoOnReport detached, inconsistent or nearly full repositories
Repository free space warning (%)IntegerNo15Warning when a repository's free space is at or below this share. Only visible when Check backup repositories is on
Repository free space critical (%)IntegerNo5Critical when free space is at or below this share. Only visible when Check backup repositories is on

The following fields appear only after you turn on Show advanced options:

FieldTypeRequiredDefaultDescription
SSL modeSelectNoPreferEncryption of the database connection: Prefer, Require or Disable
Query timeout (seconds)IntegerNo30Time limit for the connection and queries. The value used is limited to 5–300
Evaluation window (days)IntegerNo30History depth for run statistics, failing objects and schedule-gap detection. The value used is limited to 1–365
Long-run threshold (hours)IntegerNo12A job currently running longer than this warns immediately. Values below 1 are treated as 1
Check individual objects (VMs)BooleanNoOnReads per-object results for the failing-objects list and the detection of objects without data transfer
Read recovery point ageBooleanNoOnShows the age of each job's newest recovery point. Does not affect the result
Detect schedule gapsBooleanNoOnWarn when a job has not run for far longer than its own median interval
Schedule gap factorNumberNo2Multiple of the median run interval before a missing run is reported. Values below 1.5 are treated as 1.5
Alert on past runs with object errorsBooleanNoOffWarning while a run with failed or stopped objects lies within the evaluation window
Alert on past unexplained skipped runsBooleanNoOffWarning for skipped runs in the evaluation window that are not explained by a previous run still running
Alert on past long runsBooleanNoOffWarning for finished runs in the evaluation window that took longer than the long-run threshold
Alert on objects without data transferBooleanNoOffWarning for objects whose successful runs transferred no data. Powered-off VMs, templates and unchanged sources legitimately transfer nothing
Alert on jobs that never ranBooleanNoOffWarning for jobs without any run. Recovery jobs are typically never executed
Alert on disabled jobsBooleanNoOffWarning for disabled jobs

If the warning and critical thresholds are entered the wrong way round, the check swaps them before evaluating.

Results

Each monitored job and each repository is evaluated on its own. The worst individual result becomes the check status.

ConditionSeverity
A job has never had a successful runCritical
A job's last successful run has reached the critical age thresholdCritical
A job's last successful run has reached the warning age thresholdWarning
A job's last run failed, was stopped, or contains failed or stopped objectsCritical
A job's last run was skipped without a previous run still runningCritical
A job's last run was skipped because a previous run was still runningWarning
A job is currently running longer than the Long-run threshold (hours)Warning
A job's last run reports an unknown stateWarning
A job has not run for far longer than its median interval (Detect schedule gaps)Warning
A repository is detachedCritical
A repository is inconsistentWarning
A repository's free space is at or below the critical or warning thresholdCritical / Warning
A name under Jobs to monitor does not exist in NAKIVO, or no job matchesWarning
One of the sub-queries for runs, objects, repositories or recovery points cannot be read; the rest is still evaluatedWarning
One of the additional alert options appliesWarning
Host or Username is emptyWarning
The database cannot be reached, the login fails, the server returns an error, or the time limit is exceededCritical
The database session is not read-only, or an unexpected error occursError

The age thresholds apply at "at least this old": with the defaults, a run exactly 26 hours ago already raises the warning.

Collected metrics

  • Per job: name, state of the last run, whether the job is disabled, age of the last successful run, age of the newest recovery point, and the number of planned, successful, failed and stopped objects in the last run
  • Per repository: name, whether it is attached and consistent, capacity, and free space in GB and percent
  • Up to 20 objects with the most failed or stopped runs in the evaluation window
  • The number of disabled and never-run jobs, and of past runs with object errors, unexplained skips, long runs and objects without data transfer

Notes

  • The check opens a read-only session and verifies that the server honours it before reading anything. Otherwise it aborts without accessing data.
  • A disabled or never-run job is reported only when the matching alert option is on. The other checks are skipped for these jobs.
  • Schedule-gap detection needs at least four runs in the evaluation window and applies only when the job has no age alert already. For fleets with mixed daily and weekly schedules, set both age thresholds to 0 and rely on schedule-gap detection.

See also: Set up alerts for a check