Use datadog_backup to backup your datadog account.
Currently supports
- dashboards
- monitors
Additional features may be built out over time.
v3 is a backwards incompatible change.
- DATADOG_API_KEY and DATADOG_APP_KEY are no longer the environment variables used to authenticate to Datadog. Instead, set the environment variables DD_API_KEY and DD_APP_KEY.
- ruby 2.7 is no longer supported. Please upgrade to ruby 3.0 or higher.
- The options
--sshand--ssshhare no longer supported. Instead, please use--quietto supress logging.--debugremains supported. - The environment variable
DATADOG_HOSTis no longer supported. Instead, please useDD_SITE_URL.
- The legacy dogapi-rb gem is replaced with faraday. The official client library was considered, but was not adopted as I had a hard time grok-ing it.
gem install datadog_backup
DD_API_KEY=example123 DD_APP_KEY=example123 datadog_backup <backup|diffs|restore> [--backup-dir /path/to/backups] [--debug] [--monitors-only] [--dashboards-only] [--diff-format color|html|html_simple] [--no-color] [--json]
gem install datadog_backup
export DD_API_KEY=abc123
export DD_APP_KEY=abc123
# Perform backup to `./backup/` using YAML encoding
datadog_backup backup
# Make some changes
# Just review the changes since last backup
datadog_backup diffs
# Review the changes since last backup and apply local changes to datadog
datadog_backup restore
Supply the following parameters in order to customize datadog_backup:
| parameter | description | default |
|---|---|---|
| --debug | log debug and above | info |
| --quiet | only show errors and above | info |
| --backup-dir PATH | path to the directory to backup to or restore from | ./backup/ |
| --monitors-only | only backup monitors | backup monitors and dashboards |
| --dashboards-only | only backup dashboards | backup monitors and dashboards |
| --json | format backups as JSON instead of YAML. Does not impact diffs nor restore, but do not mix formats in the same backup-dir. |
YAML |
| --no-color | removes colored output from diff format | |
| --diff-format FORMAT | one of color, html_simple, html |
color |
| --force-restore | Force restore to Datadog. Do not ask to validate. Non-interactive. | |
| --disable-array-sort | Do not sort array elements, to preserver order of dashboard widgets. | |
| --h, --help | help |
The following environment variables can be set in order to further customize datadog_backup:
| environment variable | description | default |
|---|---|---|
| DD_SITE_URL | Describe the API endpoint to connect to (https://api.datadoghq.eu for example) | https://api.datadoghq.com |
| DD_API_KEY | The API key for the Datadog account | none |
| DD_API_KEY | The Application key for the Datadog account | none |
See example/ for an example implementation as a repo that backs up your Datadog dashboards hourly.
Releases are cut using semantic-release.
Please write commit messages following Angular commit guidelines
