plugins.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ---
  2. # tasks/plugins.yml: Deploy available checks/plugins/handlers/filters/mutators
  3. - include_vars: "{{ ansible_distribution }}.yml"
  4. - name: Ensure Sensu plugin directory exists
  5. file:
  6. dest: "{{ sensu_config_path }}/plugins"
  7. state: directory
  8. owner: "{{ sensu_user_name }}"
  9. group: "{{ sensu_group_name }}"
  10. - name: Ensure any remote plugins defined are present
  11. shell: sensu-install -p {{ item }}
  12. with_items: sensu_remote_plugins
  13. changed_when: false
  14. when: sensu_remote_plugins > 0
  15. - name: Register available checks
  16. local_action: command ls {{ static_data_store }}/sensu/checks
  17. register: sensu_available_checks
  18. changed_when: false
  19. become: false
  20. - name: Deploy check plugins
  21. copy:
  22. src: "{{ static_data_store }}/sensu/checks/{{ item }}/"
  23. dest: "{{ sensu_config_path }}/plugins/"
  24. mode: 0755
  25. owner: "{{ sensu_user_name }}"
  26. group: "{{ sensu_group_name }}"
  27. when: "'{{ item }}' in sensu_available_checks.stdout_lines"
  28. with_flattened:
  29. - group_names
  30. notify: restart sensu-client service
  31. - name: Deploy handler plugins
  32. copy:
  33. src: "{{ static_data_store }}/sensu/handlers/"
  34. dest: "{{ sensu_config_path }}/plugins/"
  35. mode: 0755
  36. owner: "{{ sensu_user_name }}"
  37. group: "{{ sensu_group_name }}"
  38. notify: restart sensu-client service
  39. - name: Deploy filter plugins
  40. copy:
  41. src: "{{ static_data_store }}/sensu/filters/"
  42. dest: "{{ sensu_config_path }}/plugins/"
  43. mode: 0755
  44. owner: "{{ sensu_user_name }}"
  45. group: "{{ sensu_group_name }}"
  46. notify: restart sensu-client service
  47. - name: Deploy mutator plugins
  48. copy:
  49. src: "{{ static_data_store }}/sensu/mutators/"
  50. dest: "{{ sensu_config_path }}/plugins/"
  51. mode: 0755
  52. owner: "{{ sensu_user_name }}"
  53. group: "{{ sensu_group_name }}"
  54. notify: restart sensu-client service
  55. - name: Deploy check/handler/filter/mutator definitions to the master
  56. template:
  57. src: "{{ item }}"
  58. dest: "{{ sensu_config_path }}/conf.d/{{ item | basename | regex_replace('.j2', '')}}"
  59. owner: "{{ sensu_user_name }}"
  60. group: "{{ sensu_group_name }}"
  61. when: sensu_master
  62. with_fileglob:
  63. - "{{ static_data_store }}/sensu/definitions/*"
  64. notify:
  65. - restart sensu-server service
  66. - restart sensu-api service