plugins.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. - name: Deploy check plugins
  20. copy:
  21. src: "{{ static_data_store }}/sensu/checks/{{ item }}/"
  22. dest: "{{ sensu_config_path }}/plugins/"
  23. mode: 0755
  24. owner: "{{ sensu_user_name }}"
  25. group: "{{ sensu_group_name }}"
  26. when: sensu_available_checks.stdout.find('{{ item }}') != -1
  27. with_flattened:
  28. - group_names
  29. notify: restart sensu-client service
  30. - name: Deploy handler plugins
  31. copy:
  32. src: "{{ static_data_store }}/sensu/handlers/"
  33. dest: "{{ sensu_config_path }}/plugins/"
  34. mode: 0755
  35. owner: "{{ sensu_user_name }}"
  36. group: "{{ sensu_group_name }}"
  37. notify: restart sensu-client service
  38. - name: Deploy filter plugins
  39. copy:
  40. src: "{{ static_data_store }}/sensu/filters/"
  41. dest: "{{ sensu_config_path }}/plugins/"
  42. mode: 0755
  43. owner: "{{ sensu_user_name }}"
  44. group: "{{ sensu_group_name }}"
  45. notify: restart sensu-client service
  46. - name: Deploy mutator plugins
  47. copy:
  48. src: "{{ static_data_store }}/sensu/mutators/"
  49. dest: "{{ sensu_config_path }}/plugins/"
  50. mode: 0755
  51. owner: "{{ sensu_user_name }}"
  52. group: "{{ sensu_group_name }}"
  53. notify: restart sensu-client service
  54. - name: Deploy check/handler/filter/mutator definitions to the master
  55. template:
  56. src: "{{ static_data_store }}/sensu/definitions/{{ item }}.j2"
  57. dest: "{{ sensu_config_path }}/conf.d/{{ item }}"
  58. owner: "{{ sensu_user_name }}"
  59. group: "{{ sensu_group_name }}"
  60. when: sensu_master
  61. with_lines:
  62. - ls {{ static_data_store }}/sensu/definitions | sed 's/\.j2//'
  63. notify: restart sensu-server service