Radoslav Panev

SysAdmin and DevOps

Watch your Ansible deployments in Grafana!

14 Feb 2020 » linux, monitoring, ansible

Description

От интерес търсих начин как да мониторирам използването на ansible, и попаднах на това поразрових се и намерих страхотно поне за мен решемние.

Създаваме директория с име “callback_plugins” за предпочитане в самата директория на ansible скриптовете

 cd <your_playbook_dir>
 mkdir callback_plugins

И изтегляме този плъгин.

cd /callback_plugins
wget https://raw.githubusercontent.com/ansible-collections/grafana/master/plugins/callback/grafana_annotations.py

разрешаваме на ansible да изпозлва този плъгин чрез ansible.cfg.

[...]
callback_whitelist = grafana_annotations

След като конфигурацията е готова ще трябва да зададем няколко параметъра за връзка

$ export GRAFANA_SERVER=<your_grafana_server_address>
$ export GRAFANA_PORT=<your_grafana_server_port>
$ export GRAFANA_SECURE=0                           # 0 for HTTP, 1 for HTTPS
$ export GRAFANA_API_TOKEN=<your_grafana_api_token>

За да си генерираме тоукън трябва да изпълним няколко стъпки:

curl -XPOST <your_grafana_server_address>:<your_grafana_server_port>/api/auth/keys --user "admin:admin --data '{"name": "ansible-callback", "role": "Editor"}' -H "Content-Type: application/json"

Може да заложите конфигурацията директно в ansible.cfg файла:

grafana_url = "<your_grafana_server_address>:<your_grafana_server_port>/api/annotations"
validate_grafana_certs = 1
http_agent = 'Ansible (grafana_annotations callback)'
grafana_user = <grafana user>
grafana_password = <paasword>

Създаваме си нов панел в графан (Create a dashboard), от настройките избираме подменюто “annotations”

Watch your Ansible deployments in Grafana!

Аз лично съм си направим таг за всеки ansible-playbook в разлизен цвят за да си ги следя по-лесно визуално