arbor / dd_monitor

Datadog monitor cli written in Elixir.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DdMonitor.Cli

This would be a cli to manage Datadog monitors. Main purpose is to use this as part of deploy pipeline where you could set monitor downtime to prevent false alarms.

Status

This is still a work in progress.

Requirement

  1. Erlang VM

Installation

If available in Hex, the package can be installed by adding dd_monitor_cli to your list of dependencies in mix.exs:

def deps do
  [
    {:dd_monitor_cli, "~> 0.1.0"}
  ]
end

Download executable:

$ curl -L -O https://github.com/arbor/dd_monitor/releases/download/v0.1.0/dd-monitor && chmod +x dd-monitor

Usage

$ ./dd-monitor --action list-all    
$ ./dd-monitor --action get-monitor --tags <query_param>
$ ./dd-monitor --action get-monitor --tags localhost
$ ./dd-monitor --action get-monitor-id --tags "test tag:env:test status:alert"
$ ./dd-monitor --action get-monitor --tags "tag:env:staging tag:roles:myrole localhost"
$ d="$((`date +%s`+3600))"    
$ ./dd-monitor --action set-monitor-downtime --tags "env:staging owner:me" --scope "roles:myrole process:sshd" --end $d
$ ./dd-monitor --action set-monitor-downtime --tags "env:staging owner:me" --scope "roles:myrole process:sshd" --end $d --mesage "make release"
$ ./dd-monitor --action cancel-monitor-downtime --scope "roles:myrole process:sshd" 
$ ./dd-monitor --action delete-monitor --id "123" 

TBD:

  1. Add tests
  2. DRY

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/dd_monitor_cli.

About

Datadog monitor cli written in Elixir.

License:MIT License


Languages

Language:Elixir 91.7%Language:Makefile 8.3%