Již delší dobu jsem si sem nic nepoznamenal. Ale přišla příležitost si vyzkouset Zabbix a integraci s Event-Driven Ansible webhook v podobě Media Type. Inspirací a podnětem pro mě byl článek na blogu Zabbix.
Nejprve jsem se zaměřil na zprovoznění a seznámení se s EDA serverem, který jsem si zprovoznil pomocí docker compose.
https://github.com/smejdil/zabbix-eda/tree/main/tools/docker
EDA je pěkné klikátko, které má smysl použít jen s AWX nebo RedHat AAP protože neumí použít inventory :-( Tento poznatek byl zklamáním.
Narazil jsem na tuto chybu :-(
Rulebook fails with "Playbook has an action run_playbook which needs inventory to be defined"
https://access.redhat.com/solutions/7024714
Root Cause You can only use the run_playbook with ansible-rulebook cli while also specifying inventory. If you want to use the integrated AAP / EDA interactions, you probably are looking for run_job_template which is defined on your AAP controller and created under the correct organization.
No a ještě potvrzení ... ohledně akce run_playbook
run_playbook (only supported with ansible-rulebook CLI)
A tak jsem se tedy vydal cestou ansible-rulebook a vytvořil si Docker kontainer pro vytvoření webhooku na portu 5001, který reaguje na událost akci v podobě ansible playbooku.
- name: Zabbix test rulebook
hosts: all
sources:
- ansible.eda.webhook:
host: "::"
port: 5001
- ansible.eda.webhook:
host: "0.0.0.0"
port: 5001
rules:
- name: Run playbook for Apache2
condition: >-
event.payload.host_groups is select("==","Private/LM.NET/Office") and
event.payload.event_tags.target is select("==","apache")
action:
run_playbook:
name: playbooks/check-apache.yaml
...
Webhooků s ansible-rulebook si můžu rozjet více v kontainerech pro jednotlivé pojekty a ze Zabbixu to můžu posílat na jednotlivé porty dle akce ktára reaguje třeba jen na tag target:eda, takže je to událostní kolečko snadno realizovatelné.
Je pracné nadefinovat pravidla v rulebooku a napsat opravné playbooky, ale přijde mi to rozumný ucelený rešeni postavené na Ansible, pro fixnutí nějakých služeb, které maji nějaké podivné vlastnosti (třeba i ve Windows) a je nutné je za jistych zjištených okolností fixnout 😊 restartem nebo jiným opatřením.
Pravý Zabbixák mi odpoví nemusíš mít přeci Událostní udělátko, stačí Zabbix Script a Akce co reaguje na Trigger 😊
za me to jisté řešení je
Konec hlášení ...