# Install and configure rsyslog --- - name: set OS dependent variables tags: - rsyslog - prereq include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution }}_{{ ansible_distribution_major_version }}.yml" - "{{ ansible_distribution }}.yml" - "{{ ansible_os_family }}_{{ ansible_distribution_major_version }}.yml" - "{{ ansible_os_family }}.yml" - default.yml - name: Include Tasks for RHEL include_tasks: main_rh.yml when: > ansible_os_family == 'RedHat' or ansible_os_family == 'Rocky' - name: Include Tasks for Debian/Ubuntu include_tasks: main_deb.yml when: ansible_os_family == 'Debian' - name: Include Tasks for Archlinux include_tasks: main_arch.yml when: ansible_os_family == 'Archlinux' - name: setup main configuration tags: - rsyslog - files template: > src={{ rsyslog_custom_config | default('rsyslog.conf.j2') }} dest={{ rsyslog_main_config }} owner={{ rsyslog_file_owner }} group={{ rsyslog_file_group }} mode={{ rsyslog_file_mode }} notify: - restart rsyslog when: rsyslog_os_supported - name: remove existing (custom/additional) configurations tags: - rsyslog - files file: state: absent path: "{{ rsyslog_include_path }}/" when: rsyslog_purge_config - name: create additional configuration directory tags: - rsyslog - files file: > path="{{ rsyslog_include_path }}" owner={{ rsyslog_file_owner }} group={{ rsyslog_file_group }} mode={{ rsyslog_file_mode }} state=directory when: rsyslog_os_supported - name: setup default additional configuration tags: - rsyslog - files template: > src=rsyslog.snippet.conf.j2 dest={{ rsyslog_include_path }}/{{ item.name }}.conf owner={{ rsyslog_file_owner }} group={{ rsyslog_file_group }} mode={{ rsyslog_file_mode }} with_items: - name: "50-default" lines: - '*.info;mail.none;authpriv.none;cron.none /var/log/messages' - 'kern.* -/var/log/kern.log' - 'auth.*;authpriv.* /var/log/auth.log' - 'daemon.* /var/log/daemon.log' - 'cron.* -/var/log/cron.log' - 'mail.* -/var/log/mail.log' - 'uucp,news.* /var/log/spooler' - '*.emerg *' - 'local7.* /var/log/boot.log' - '*.* /var/log/uncategorized.log' notify: - restart rsyslog when: > rsyslog_default_config and rsyslog_os_supported - name: setup additional configurations tags: - rsyslog - files template: > src=rsyslog.snippet.conf.j2 dest={{ rsyslog_include_path }}/{{ item.name }}.conf owner={{ rsyslog_file_owner }} group={{ rsyslog_file_group }} mode={{ rsyslog_file_mode }} with_items: - "{{ rsyslog_items }}" notify: - restart rsyslog when: rsyslog_os_supported - name: Reload systemd systemd: daemon_reload: yes - name: enable service tags: - rsyslog - configuration service: name={{ rsyslog_service_name }} enabled=yes state=started when: rsyslog_os_supported