N/A
N/A
To monitor the activity of Ansible per deployment made in one day for example.
Time of the deploy, parallel deployments made, execution time per playbook, task changed, erors, fails, success, health, version.
https://www.datadoghq.com/blog/ansible-datadog-monitor-your-automation-automate-your-monitoring/
I think will help a lot, usually this activity you cannot monitor with other tools.
Maybe a Feature Request is the best category to put this kindly request.
The datadog integration here adds an ansible callback, we could probably create something similar that outputs line protocol and sends it to the socket_listener or http_listener input. This would be a nice integration, though not something that would directly go into Telegraf.
@pmyjavec What do you think, do you know if this is the best way to go about integrating with ansible?
Sounds good.
But I think will be better to split the things and to have a separate input for Ansible in order to track all activity and metrics produced by the server.
It will be great to be able based on the metrics extracted with telegraf "to have a Grafana Dashboard per Ansible activity" deployments, health, parallel executions, execution time, some statuses per succes/ fail/ error, playbook executed or commands with ansible, this will be easy and more intuitive and In my opinion this aspect will bring value added to all DevOps people trying to track their activity based on automation with Ansible.
I don't know if socket_listener will cover all this metrics/ aspects or http_listener and also will be intuitive for people using telegraf.
What do you think, do you find feasible this?
Kind Regards,
@fchiorascu It depends on how this is implemented, but if we do it like datadog did then there is no Telegraf code involved, just an ansible plugin in python. In that case I don't think it would be worth having an ansible specific plugin in Telegraf because it would just be the socket_listener with less options.
@danielnelson I understand this aspect and it make sense but one little remark regarding this kindly request.
The DataDog example (it was only something founded by me and put here to get your attention on the topic that on internet there is not so much monitoring on this aspect from other tools) found by me on internet is not exactly what I was thinking in order to cover the monitoring activity and KPIs of Ansible deployments.
You have the opportunity to make something really good and very appreciated inside telegraf as [[inputs.ansible]] with some metrics like: parallel ansible command/ playbooks execution, deployments per day or interval, ansible version, ansible server status/ health, success/ fail rate or status, integration status with jenkins or terraform or other tools, execution time per playbook or command, some other aspects regarding ansible roles/ inventory statistics.
If this is not feasible then I propose if you feel comfortable to implement a great plugin for Ansible in order to send directly the top statistics from "Ansible" to => "InfluxDB".
Have a great night.
Kind Regards,
Hello @fchiorascu,
I think integrating with InfluxDB through writing a monitoring module for Ansible is the way to go; So basically, Ansible would ship metrics to the InfluxDB API Directly, is that what you were thinking @fchiorascu ?
I can take a look into this in the short term and see what it might look like. I'm not exactly sure how one would monitor an ephemeral process like Ansible with Telegraf. Have you ever used Ansible Tower? That would be more suitable for monitoring with Telegraf as it's a long running process with a REST API that could be polled.
Hi @pmyjavec,
Thank you for your description.
1. Sound great the first option to have metrics collected from ansible and shipped directly to InfluxDB.
2. Yes Ansible Tower has all the statistics in place but unfortunately I think I cannot use in a large environment as open source if I remember well.
Kind Regards,
Yes, similar to Jenkins plugin for influx, it鈥檚 ok to not go thru telegraf.. would be a great plugin for Ansible tower
Most helpful comment
The datadog integration here adds an ansible callback, we could probably create something similar that outputs line protocol and sends it to the socket_listener or http_listener input. This would be a nice integration, though not something that would directly go into Telegraf.
@pmyjavec What do you think, do you know if this is the best way to go about integrating with ansible?