In Flashduty On-call
You can get the integration Push URL in either of the following two ways.
Use a dedicated integration
- In the Flashduty console, select Channels and open a channel
- Select Settings → Integrations → Dedicated integrations, then click Add an integration
- Select Duplicati and click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, select Integration Center → Alert Events
- Select Duplicati and enter an integration name
- Configure the default route and select a channel; you can add more rules under Routes after the integration is created
- Click Save and copy the generated Push URL
Configure Duplicati
The
--send-http-json-urls option is available in Duplicati 2.0.9.106 and later. This integration was verified with 2.4.0.0.
1
Add an advanced option to the backup job
- Open the Duplicati web UI, edit the backup job you want to monitor, and go to the Options step (step 5 when creating a job)
- Expand Advanced options, click Add advanced option, and select
send-http-json-urls - Enter the complete Flashduty Push URL, including
integration_key
--send-http-json-urls="<Push URL>".2
Keep the default send level
The default value of
--send-http-level is All, so every run sends a report, including successful runs. The success report is the recovery signal. Do not change the level to Warning, Error, or Fatal, or alerts will never recover.3
Verify the lifecycle
- Run a backup manually and confirm the request is accepted (no HTTP error in the Duplicati log). There is no open alert to recover yet, so Flashduty creates no alert; this is expected
- Make a run fail temporarily, for example by renaming a source folder, run the backup again, and confirm a Critical alert appears in Flashduty
- Undo the change, run the backup again, and confirm the alert recovers
Alert Key
Flashduty builds the Alert Key from
Extra.machine-id and Extra.backup-id in the Duplicati report. The Duplicati documentation defines %machine-id% as the unique random identifier assigned to the machine and %backup-id% as the identifier assigned to the backup. We verified on a real Duplicati 2.4.0.0 that both fields stay the same when one backup job fails and then succeeds.
backup-idis a sequence number such asDB-1orDB-2on one machine and repeats across machines, so it is always combined withmachine-id- When Duplicati runs from the command line without the Duplicati server,
machine-idis empty andbackup-idis a hash of the destination, so onlybackup-idtells jobs apart - Changes to the backup name, result, time, or log lines never change the Alert Key
- A request without
backup-idis rejected because later recoveries could not be correlated
backup-id; close any open alert of the old job manually.
Status and severity
An empty or any other value, including
Unknown, is rejected. Duplicati only sends a report when a backup runs: if a job is disabled or stops running, its open alert does not recover and must be closed manually.
Troubleshooting
- Flashduty receives no events: confirm the option is
send-http-json-urlsand the Push URL is complete withintegration_key - Flashduty returns a parameter error: confirm you did not use
--send-http-urlor the form format; the report must be JSON and containExtra.backup-id - The alert does not recover: confirm
--send-http-levelis not set, or that its value includesSuccess - A warning-only run created an alert: a
Warningresult also triggers a Warning alert, for example when some source folders do not exist; after you fix the cause, the next successful run recovers it