Check infomaniak-swiss-backup-devices¶
Overview¶
Checks each backup device (slot) across all Infomaniak Swiss Backup products via the Infomaniak API. Alerts when storage usage exceeds the configured thresholds or when a device reports an error state. Devices can be filtered by customer, name, tag, or user.
Important Notes:
Works with the Infomaniak Swiss Backup API v1
The check may take 10 seconds or more. Increasing the runtime timeout to 30 seconds is recommended.
You may retrieve usage values while Infomaniak’s API is still compiling the usage statistic. This can cause a temporary drop in reported usage that returns to normal on the next check run.
Links:
Swiss Backup: https://www.infomaniak.com/en/swiss-backup
API Documentation: https://developer.infomaniak.com/docs/api/get/1/swiss_backups
API Tokens: https://manager.infomaniak.com/v3/$ACCOUNT_ID/ng/accounts/token
Data Collection:
Queries the Infomaniak API for all Swiss Backup products and their device slots
Requires a Bearer Token with scope „swiss-backup“ from Infomaniak
Output table is sorted by the „Tags“ column
Fact Sheet¶
Fact |
Value |
|---|---|
Check Plugin Download |
|
Nagios/Icinga Check Name |
|
Check Interval Recommendation |
Every hour |
Can be called without parameters |
No ( |
Runs on |
Cross-platform |
Compiled for Windows |
No |
Help¶
usage: infomaniak-swiss-backup-devices [-h] [-V] --account-id ACCOUNT_ID
[--always-ok] [-c CRIT] [--insecure]
[--no-proxy]
[--ignore-customer IGNORE_CUSTOMER]
[--ignore-name IGNORE_NAME]
[--ignore-tag IGNORE_TAG]
[--ignore-user IGNORE_USER]
[--severity {warn,crit}]
[--timeout TIMEOUT] --token TOKEN
[--test TEST] [-w WARN]
Checks each backup device (slot) across all Infomaniak Swiss Backup products
via the Infomaniak API. Alerts when storage usage exceeds the configured
thresholds or when a device reports an error state. Devices can be filtered by
customer, name, tag, or user.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
--account-id ACCOUNT_ID
Infomaniak account ID.
--always-ok Always returns OK.
-c, --critical CRIT CRIT threshold in percent. Default: >= 95
--insecure This option explicitly allows insecure SSL
connections.
--no-proxy Do not use a proxy.
--ignore-customer IGNORE_CUSTOMER
Any device whose product customer name matches this
Python regex will be ignored. Can be specified
multiple times. Example: `--ignore-customer
"(?i)test"`.
--ignore-name IGNORE_NAME
Any device whose name matches this Python regex will
be ignored. Can be specified multiple times. Example:
`--ignore-name "(?i)old-backup"`.
--ignore-tag IGNORE_TAG
Any device whose product tag matches this Python regex
will be ignored. Can be specified multiple times.
Example: `--ignore-tag "(?i)deprecated"`.
--ignore-user IGNORE_USER
Any device whose username matches this Python regex
will be ignored. Can be specified multiple times.
Example: `--ignore-user "(?i)testuser"`.
--severity {warn,crit}
Severity for alerting on locked devices. Default: warn
--timeout TIMEOUT Network timeout in seconds. Default: 8 (seconds)
--token TOKEN Infomaniak API token.
--test TEST For unit tests. Needs "path-to-stdout-file,path-to-
stderr-file,expected-retc".
-w, --warning WARN WARN threshold in percent. Default: >= 90
Usage Examples¶
./infomaniak-swiss-backup-devices --token=TOKEN --account-id=200999 --warning=80 --severity=crit
Output:
There are critical errors.
ID ! Customer ! Tag ! User ! Name ! Type ! Locked ! Usage Upd. ! Used ! Used %
------+--------------+-------+--------------+--------+-------+--------+------------+------------------------+--------------------
99924 ! BK-200999-2 ! tag03 ! SBI-AB123456 ! prod ! swift ! False ! 2h 18m ago ! 13.2GiB / 139.7GiB ! 9.4%
99925 ! BK-200999-2 ! tag03 ! SBI-AB123456 ! test ! swift ! False ! 2h 18m ago ! 3.3GiB / 46.6GiB ! 7.1%
99946 ! BK-200999-9 ! tag90 ! SBI-AB123456 ! bucket ! swift ! False ! 2h 18m ago ! 856.6GiB / 931.3GiB ! 92.0% [WARNING]
States¶
OK if all devices are within their usage thresholds, are not locked, and have data stored.
WARN if a device’s storage usage is >=
--warning(default: 90%).WARN if a device has 0 bytes stored (no backups made).
WARN if
--severity=warn(default) and a device is locked.CRIT if a device’s storage usage is >=
--critical(default: 95%).CRIT if
--severity=critand a device is locked.UNKNOWN on invalid command-line arguments.
--always-oksuppresses all alerts and always returns OK.
Perfdata / Metrics¶
Name |
Type |
Description |
|---|---|---|
<ID>-locked |
Number |
0 = unlocked, 1 = locked. |
<ID>-percent |
Percentage |
Storage usage in percent. |
<ID>-total |
Bytes |
Total device size. |
<ID>-usage |
Bytes |
Storage usage in bytes. |
Credits, License¶
Authors: Linuxfabrik GmbH, Zurich
License: The Unlicense, see LICENSE file.