Monitor Ansible Automation Platform with Zabbix

The Ansible Automation Platform (AAP) system consists of numerous moving parts, where a lot can go wrong. The Event-Driven containers sometimes stop, jobs fail and I generally don’t want to access individual systems, like AAP, to check the status. What I want is alerts in Zabbix when a system is unhealthy, which is why I wrote a Zabbix template for monitoring AAP via the API (HTTP).

The template, called Ansible Automation Platform by HTTP, monitors the following:

  • Job status
  • Licenses
  • Controller status
  • EDA status
  • Rulebook activation (container) status

The template requires two macros: the AAP URL and the OAuth token for authentication. A token can be generated with the following command:

curl --request POST \
--header "Content-type: application/json" \
--url https://example.com/api/controller/v2/users/<USER_ID>/personal_tokens/ \
--user \
--data '{"description":"Personal controller CLI token", "application":null, "scope":"write"}' \
| python -m json.tool

While the template does not contain a huge amount of items and data, it has served me well so far. My AAP environment contains a fair mix of both scheduled and event-driven jobs, and it is nice to know that everything is working as expected without having to access the system.

The template can be found here.


Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *