clean_zabbix.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ---
  2. - hosts: localhost
  3. gather_facts: no
  4. vars:
  5. g_server: http://localhost:8080/zabbix/api_jsonrpc.php
  6. g_user: ''
  7. g_password: ''
  8. roles:
  9. - lib_zabbix
  10. post_tasks:
  11. - name: CLEAN List template for heartbeat
  12. zbx_template:
  13. zbx_server: "{{ g_server }}"
  14. zbx_user: "{{ g_user }}"
  15. zbx_password: "{{ g_password }}"
  16. state: list
  17. name: 'Template Heartbeat'
  18. register: templ_heartbeat
  19. - name: CLEAN List template app zabbix server
  20. zbx_template:
  21. zbx_server: "{{ g_server }}"
  22. zbx_user: "{{ g_user }}"
  23. zbx_password: "{{ g_password }}"
  24. state: list
  25. name: 'Template App Zabbix Server'
  26. register: templ_zabbix_server
  27. - name: CLEAN List template app zabbix server
  28. zbx_template:
  29. zbx_server: "{{ g_server }}"
  30. zbx_user: "{{ g_user }}"
  31. zbx_password: "{{ g_password }}"
  32. state: list
  33. name: 'Template App Zabbix Agent'
  34. register: templ_zabbix_agent
  35. - name: CLEAN List all templates
  36. zbx_template:
  37. zbx_server: "{{ g_server }}"
  38. zbx_user: "{{ g_user }}"
  39. zbx_password: "{{ g_password }}"
  40. state: list
  41. register: templates
  42. - debug: var=templ_heartbeat.results
  43. - name: Remove templates if heartbeat template is missing
  44. zbx_template:
  45. zbx_server: "{{ g_server }}"
  46. zbx_user: "{{ g_user }}"
  47. zbx_password: "{{ g_password }}"
  48. name: "{{ item }}"
  49. state: absent
  50. with_items: "{{ templates.results | difference(templ_zabbix_agent.results) | difference(templ_zabbix_server.results) | oo_collect('host') }}"
  51. when: templ_heartbeat.results | length == 0