Skip to content

A utility which can be used to watch your DataDog monitor and dashboard configs and save them to a separate repository when they change.

License

Notifications You must be signed in to change notification settings

wyardley/dog-watcher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dog-watcher

This project provides a simple means for capturing your DataDog dashboards and monitors as JSON and storing them in a git repository. It will also create a DataDog event on success or failure. If run regularly it can help provide a change history (minus authors) for DataDog objects.

To use this project:

  1. Create your own config.json file based on config.json.example.
  2. Make sure that you have an SSH key configured to allow git write access.
  3. npm install
  4. node index.js

If you wish to name a different config file you can specify an alternate using --config file.json. It is assumed to be the base directory.

That's all. Dashboards and monitors will be retrieved and committed to the git repo that you specified in the config file.

To run this project with PM2 to ensure it stays up just run:

  • npm start

A few other details.

Scheduling

By default if you run this project you will get a one time backup. However, if you wish to have this backup task continue to run on a regular basis then you can specify a valid cron interval value under backupInterval in your config file. For example, to run every 10 minutes you would add:

  "backupInterval": "*/10 * * * *"

The interpretation of the interval will be logged out (debug level only) for you to validate. In this case it would look like this:

[{"s":[0],"m":[0,10,20,30,40,50]}]

Environment Variables For Debugging

These env vars can be used.

  • DEBUG - if true the temp work directory that is used for cloning and committing to your repo is left behind. The default behavior is to delete the directory on exit.
  • LOG_LEVEL - Log4js logging level (ERROR, WARN, INFO, DEBUG). The default is INFO.

About

A utility which can be used to watch your DataDog monitor and dashboard configs and save them to a separate repository when they change.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%