A CheckMK MKP plugin for monitoring Synology Hyper Backup and Active Backup for Business via the Synology DSM API.
- In CheckMK: Setup → Maintenance → Extension packages
- Click Upload package
- Select the file
synology_backup-1.0.7.mkp - Activate the package using the plug icon
- Activate changes
# As site user
OMD[mysite]:~$ mkp add /tmp/synology_backup-1.0.7.mkp
OMD[mysite]:~$ mkp enable synology_backup
# Restart CheckMK
OMD[mysite]:~$ omd restartCreate a user in DSM with the following permissions:
- DSM → Control Panel → User & Group → Create
- Username: e.g.,
checkmk_monitor - Normal user group (users)
- Delegated Permissions:
- Hyper Backup: "Manage Hyper Backup"
- Active Backup: "Manage Active Backup for Business" (optional)
Note: If you encounter Error 402 (Permission denied), the user may need to be added to the administrators group, or you need to ensure DSM application access is set to "Allow" for this user.
-
Setup → Agents → Other integrations → Synology Backup Status
-
Create a new rule:
- Username: DSM username
- Password: DSM password
- Port: 5001 (HTTPS) or 5000 (HTTP)
- Use HTTPS: Enable (recommended) or disable for HTTP
- Verify SSL: Disable for self-signed certificates
- Monitor Hyper Backup: Enable
- Monitor Active Backup: Enable
- Backup Interval: Default interval in hours (used for threshold calculation)
-
Set host conditions (e.g., folder or specific hosts)
-
Activate changes
- Navigate to the host
- Run Service Discovery
- Activate new services "Hyper Backup ..." and "Active Backup ..."
- Activate changes
The default thresholds for backup age can be customized:
- Setup → Services → Service monitoring rules
- Search for "Synology Hyper Backup" or "Synology Active Backup"
- Create a new rule with custom thresholds
| Parameter | Default | Description |
|---|---|---|
| Warning Age | 24h | Time since last backup for WARNING |
| Critical Age | 36h | Time since last backup for CRITICAL |
| Service | Description |
|---|---|
| Status | Current task status (none, backup, waiting, etc.) |
| Last Result | Result of the last backup (done, error, etc.) |
| Backup Age | Time since the last successful backup |
| Progress | Progress of running backup |
| Service | Description |
|---|---|
| Status | Device/task status |
| Last Backup | Status of the last backup |
| Backup Age | Time since the last backup |
| Transfer Size | Amount of transferred data |
| API Status | CheckMK Status |
|---|---|
| none, backup, detect, waiting, backingup | OK |
| version_deleting, preparing_version_delete, suspended | WARN |
| error, failed | CRIT |
| API Result | CheckMK Status |
|---|---|
| done, backingup, resuming | OK |
| none | WARN |
| error, failed, cancelled | CRIT |
OMD[mysite]:~$ ./local/share/check_mk/agents/special/agent_synology_backup \
--host 192.168.1.100 \
--username monitoring \
--password secret \
--port 5000 \
--no-https \
--debugLogin failed (Error 400):
- Check username/password
- Verify user permissions
- Is 2FA disabled?
Permission denied (Error 402):
- User needs admin rights or delegated permissions
- Enable DSM application access for the user
- Try adding user to administrators group
SSL errors:
- Enable
--no-verify-ssloption - Check port (5001 for HTTPS, 5000 for HTTP)
No tasks found:
- Is Hyper Backup / Active Backup installed?
- Does the user have access rights?
API not found:
- Check DSM version (6.x/7.x)
- Check firewall rules
Password Store issues:
- The plugin supports CheckMK's password store
- Passwords are automatically resolved by CheckMK
- CheckMK 2.3.0 or newer
- Synology DSM 6.x or 7.x
- Hyper Backup and/or Active Backup for Business installed
- Network access from CheckMK server to NAS (port 5000/5001)
synology_backup-1.0.7.mkp
├── info # Manifest (Python Dict)
├── info.json # Manifest (JSON)
├── agents.tar
│ └── special/agent_synology_backup # Special Agent Script
└── cmk_addons_plugins.tar
└── synology_backup/
├── agent_based/
│ ├── synology_hyper_backup.py # Check Plugin Hyper Backup
│ └── synology_active_backup.py # Check Plugin Active Backup
├── rulesets/
│ ├── check_parameters.py # WATO Threshold Rules
│ └── special_agent.py # WATO Datasource Rule
├── server_side_calls/
│ └── special_agent.py # Agent Command Builder
└── checkman/
├── synology_hyper_backup # Manual Page
└── synology_active_backup # Manual Page
GNU General Public License v2
- fixed progress status
- remove warning while backup rotation
- fixed warning if backup was not running in the configured backup window
- Initial public release
- WATO Integration
- Configurable Thresholds