Skip to content

pgstef/check_pgbackrest

Repository files navigation

NAME

check_pgbackrest - pgBackRest backup check plugin for Nagios

SYNOPSIS

check_pgbackrest [-s|--service SERVICE] [-S|--stanza NAME]
check_pgbackrest [-l|--list]
check_pgbackrest [--help]

DESCRIPTION

check_pgbackrest is designed to monitor pgBackRest (2.33 and above) backups from Nagios.

-s, --service SERVICE

The Nagios service to run. See section SERVICES for a description of available services or use --list for a short service and description list.

-S, --stanza NAME

Name of the stanza to check.

--repo REPOSITORY

Repository index to operate on. If no --repo argument is provided, the service will operate on all repositories defined, checking for inconsistencies across multiple repositories. When using multiple repositories, it is recommended to also define checks using the --repo argument to verify the sanity of each repository separately.

-O, --output OUTPUT_FORMAT

The output format. Supported outputs are: human, json, nagios (default), nagios_strict and prtg.

The nagios_strict output format will filter out unsupported types of values from the performance data.

-C, --command FILE

pgBackRest executable file (default: "pgbackrest").

-c, --config CONFIGURATION_FILE

pgBackRest configuration file.

-P, --prefix COMMAND

Some prefix command to execute the pgBackRest info command (eg: "sudo -iu postgres").

-l, --list

List available services.

--debug

Print some debug messages.

-V, --version

Print version and exit.

-?, --help

Show this help page.

SERVICES

Descriptions and parameters of available services.

retention

Fail when the number of full backups is less than the --retention-full argument.

Fail when the number of differential backups is less than the --retention-diff argument.

Fail when the number of incremental backups is less than the --retention-incr argument.

Fail when the newest backup is older than the --retention-age argument.

Fail when the newest full backup is older than the --retention-age-to-full argument.

Fail when the oldest backup is newer than the --retention-age-to-oldest argument.

The following units are accepted (not case sensitive): s (second), m (minute), h (hour), d (day). You can use more than one unit per given value.

Arguments are not mandatory to only show some information.

archives

Check if all archived WALs exist between the oldest and the latest WAL needed for the recovery.

Use the --wal-segsize argument to set the WAL segment size.

The following units are accepted (not case sensitive): b (Byte), k (KB), m (MB), g (GB), t (TB), p (PB), e (EB) or Z (ZB). Only integers are accepted. Eg. 1.5MB will be refused, use 1500kB.

The factor between units is 1024 bytes. Eg. 1g = 1G = 1024*1024*1024.

Use the --ignore-archived-before argument to ignore the archived WALs generated before the provided interval. Used to only check the latest archives.

Use the --ignore-archived-after argument to ignore the archived WALs generated after the provided interval.

The --latest-archive-age-alert argument defines the max age of the latest archived WAL as an interval before raising a critical alert.

The following units are accepted as interval (not case sensitive): s (second), m (minute), h (hour), d (day). You can use more than one unit per given value. If not set, the last unit is in seconds. Eg. "1h 55m 6" = "1h55m6s".

All the missing archives are only shown in the --debug mode.

Use --list-archives in addition with --debug to print the list of all the archived WAL segments.

Use --list-boundaries in addition with --debug to print the list of all the boundary WAL segments fetched from the history files.

By default, all the archives older than the oldest backup start archive or newer than the max_wal returned by the pgBackRest info command are ignored.

Use the --extended-check argument to force a full check of the found archives and raise warnings in case of inconsistencies.

When WAL archives on different timelines are found, .history files are parsed to find the switch point and define the boundary WAL.

Use the --max-archives-check-number to prevent infinite WAL archives check when boundary WAL can't be defined properly.

In case of pgBackRest db history change (after a successful stanza-upgrade), only the latest db system/version will be checked.

check_pgb_version

Check if this script is running a given version.

You must provide the expected version using --target-version.

CONTRIBUTING

check_pgbackrest is an open project. Any contribution to improve it is welcome.

VERSION

check_pgbackrest version 2.3, released on Tue May 31 2022.

LICENSING

This program is open source, licensed under the PostgreSQL license. For license terms, see the LICENSE file.

AUTHORS

Author: Stefan Fercot.

Logo: Damien Cazeils (www.damiencazeils.com).

Copyright: (c) 2018-2020, Dalibo / 2020-2022, Stefan Fercot.