plugins.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 local directories exist
  11. local_action: file state=directory dest="{{ static_data_store }}/sensu/{{ item }}"
  12. become: no
  13. with_items:
  14. - checks
  15. - filters
  16. - handlers
  17. - mutators
  18. - name: Ensure any remote plugins defined are present
  19. shell: sensu-install -p {{ item }}
  20. with_items: "{{ sensu_remote_plugins }}"
  21. changed_when: false
  22. when: sensu_remote_plugins > 0
  23. - name: Register available checks
  24. local_action: command ls {{ static_data_store }}/sensu/checks
  25. register: sensu_available_checks
  26. changed_when: false
  27. become: false
  28. - name: Deploy check plugins
  29. copy:
  30. src: "{{ static_data_store }}/sensu/checks/{{ item }}/"
  31. dest: "{{ sensu_config_path }}/plugins/"
  32. mode: 0755
  33. owner: "{{ sensu_user_name }}"
  34. group: "{{ sensu_group_name }}"
  35. when: "sensu_available_checks is defined and item in sensu_available_checks.stdout_lines"
  36. with_flattened:
  37. - "{{ group_names }}"
  38. notify: restart sensu-client service
  39. - name: Deploy handler plugins
  40. copy:
  41. src: "{{ static_data_store }}/sensu/handlers/"
  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 filter plugins
  48. copy:
  49. src: "{{ static_data_store }}/sensu/filters/"
  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 mutator plugins
  56. copy:
  57. src: "{{ static_data_store }}/sensu/mutators/"
  58. dest: "{{ sensu_config_path }}/plugins/"
  59. mode: 0755
  60. owner: "{{ sensu_user_name }}"
  61. group: "{{ sensu_group_name }}"
  62. notify: restart sensu-client service
  63. - name: Deploy check/handler/filter/mutator definitions to the master
  64. template:
  65. src: "{{ item }}"
  66. dest: "{{ sensu_config_path }}/conf.d/{{ item | basename | regex_replace('.j2', '')}}"
  67. owner: "{{ sensu_user_name }}"
  68. group: "{{ sensu_group_name }}"
  69. when: sensu_master
  70. with_fileglob:
  71. - "{{ static_data_store }}/sensu/definitions/*"
  72. notify:
  73. - restart sensu-server service
  74. - restart sensu-api service
  75. - restart sensu-enterprise service