clean_zabbix.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. - hosts: localhost
  3. gather_facts: no
  4. vars:
  5. # Use this for local ZAIO
  6. g_zserver: http://localhost/zabbix/api_jsonrpc.php
  7. g_zuser: Admin
  8. g_zpassword: zabbix
  9. roles:
  10. - ../roles/os_zabbix
  11. post_tasks:
  12. - zbxapi:
  13. server: "{{ g_zserver }}"
  14. user: "{{ g_zuser }}"
  15. password: "{{ g_zpassword }}"
  16. zbx_class: Template
  17. state: list
  18. params:
  19. output: extend
  20. search:
  21. host: 'Template Heartbeat'
  22. register: templ_heartbeat
  23. - zbxapi:
  24. server: "{{ g_zserver }}"
  25. user: "{{ g_zuser }}"
  26. password: "{{ g_zpassword }}"
  27. zbx_class: Template
  28. state: list
  29. params:
  30. output: extend
  31. search:
  32. host: 'Template App Zabbix Server'
  33. register: templ_zabbix_server
  34. - zbxapi:
  35. server: "{{ g_zserver }}"
  36. user: "{{ g_zuser }}"
  37. password: "{{ g_zpassword }}"
  38. zbx_class: Template
  39. state: list
  40. params:
  41. output: extend
  42. search:
  43. host: 'Template App Zabbix Agent'
  44. register: templ_zabbix_agent
  45. - zbxapi:
  46. server: "{{ g_zserver }}"
  47. user: "{{ g_zuser }}"
  48. password: "{{ g_zpassword }}"
  49. zbx_class: Template
  50. state: list
  51. register: templates
  52. - debug: var=templ_heartbeat.results
  53. - zbxapi:
  54. server: "{{ g_zserver }}"
  55. user: "{{ g_zuser }}"
  56. password: "{{ g_zpassword }}"
  57. zbx_class: Template
  58. state: absent
  59. params: "{{templates.results | difference(templ_zabbix_agent.results) | difference(templ_zabbix_server.results) | oo_collect('templateid') }}"
  60. register: template_results
  61. when: templ_heartbeat.results | length == 0