configure_alerting.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ---
  15. - name: Install mailx and postfix
  16. package:
  17. name: "{{ mail_packages }}"
  18. state: present
  19. - name: Start postfix service
  20. systemd:
  21. name: postfix
  22. state: started
  23. enabled: yes
  24. - block:
  25. - name: Install python3
  26. package:
  27. name: python3
  28. state: present
  29. - name: Update pip version
  30. command: pip3 install --upgrade pip
  31. changed_when: true
  32. - name: Install ansible
  33. pip:
  34. name: ansible
  35. state: present
  36. executable: pip3
  37. when: os_leap in ansible_distribution | lower
  38. - block:
  39. - name: Install ansible
  40. package:
  41. name: ansible
  42. state: present
  43. when: os_leap not in ansible_distribution | lower
  44. - name: Install community.general collection
  45. command: ansible-galaxy collection install {{ community_general_collection }}
  46. changed_when: true
  47. - name: Copy auth_failure_check.yml to login_node
  48. copy:
  49. src: "{{ role_path }}/files/auth_failure_check.yml"
  50. dest: "{{ alerting_file_path }}"
  51. mode: "{{ hosts_file_mode }}"
  52. - name: Fetch ansible-playbook path
  53. command: whereis ansible-playbook
  54. changed_when: false
  55. register: ansible_playbook_path
  56. - name: Start cron service in leap
  57. systemd:
  58. name: cron
  59. state: started
  60. enabled: yes
  61. when: os_leap in ansible_distribution | lower
  62. - name: Start crond service in rocky
  63. systemd:
  64. name: crond
  65. state: started
  66. enabled: yes
  67. when: os_leap not in ansible_distribution | lower
  68. - name: Schedule cron job for alerting
  69. cron:
  70. name: Auth failure alerting
  71. special_time: hourly
  72. job: "{{ ansible_playbook_path.stdout.split(' ')[1] }} {{ alerting_file_path }} -e 'alert_email_address={{ hostvars['127.0.0.1']['alert_email_address'] }}'"