Olá Pessoal,
Nesta dica eu vou mostrar como eu resolvi um problema para silenciar um host no datadog usando Ansible Playbook, isso nao é bem um problema, é mas um forma de automatizar esse processo ao invés de ir na interface web.

Antes de você colocar essa task no seu ansible playbook, é necessario saber ou registrar como variável no Ansible Controller.

Nome do Host:
API KEY:
APPLICATION KEY:

Após, Ter acesso a essa informação , você deve colocar essa task abaixo, como a primeira task, para poder silenciar o host.

-uri
url:”https://api.datadoghq.com/api/v1/host/{{ Nome do Host }}/mute”
method: POST
body_format: json
headers:
DD-API-KEY: {{ API KEY }}
DD-APPLICATION-KEY: {{ APPLICATION KEY }}
delegate_to: localhost

Se o comando rodar de forma satisfatória, será gerado um retorno com a confirmação, se receber um retorno com erro, você pode estar usando algum dos parâmetros errado ou o host já esta silenciado.

Agora, para remover o silenciar dos host, você pode usar essa task abaixo.
Lembre-se, de coloque essa task, tem que ser a ultima task to seu ansible playbook

-uri
url:”https://api.datadoghq.com/api/v1/host/{{ Nome do Host }}/unmute”
method: POST
body_format: json
headers:
DD-API-KEY: {{ API KEY }}
DD-APPLICATION-KEY: {{ APPLICATION KEY }}
delegate_to: localhost

Note, a diferença entre silenciar e remove o silenciar esta no file da linha url: mute: silenciar e unmute: remover o silenciar.
Nos estamos usando a opção : delegate_to: localhost, para rodar este comando no ansible controller, para evitar problemas ao rodar este comando em uma host sem os requisitos necessários para isso.

Abraços,

Vejo vocês no próximo artigo, até breve pessoal 🙂

Deixe uma resposta