Add rsyslog role

This commit is contained in:
2019-11-03 11:31:08 -06:00
parent c5d36282db
commit 33e83dd740
9 changed files with 224 additions and 0 deletions

View File

@ -0,0 +1,42 @@
---
- name: disable default rules
set_fact:
rsyslog_default_rules_state: absent
when: rsyslog_archival_format_enabled
- name: check status of /var/log/syslog
stat:
path: /var/log/syslog
register: st
- name: delete files
file:
path: "{{ item }}"
state: "{{ rsyslog_archival_format_enabled | ternary('absent', 'file') }}"
when: rsyslog_archival_format_enabled and st.stat.exists and st.stat.isreg
with_items:
- /var/log/syslog
- name: configure archival format
template:
src: archival.conf.j2
dest: /etc/rsyslog.d/10-archival.conf
owner: root
group: root
mode: 0644
notify: restart rsyslog
when: rsyslog_archival_format_enabled
- name: manage archive rules
file:
path: /etc/rsyslog.d/10-archival.conf
state: "{{ rsyslog_archival_format_enabled | ternary('file', 'absent') }}"
- name: compress log cron job
cron:
name: compress syslog
minute: "0"
hour: "1"
user: root
job: find /var/log/syslog/ -type f ! -name "*$(date +%Y%m%d)*.log" -name "*.log" -exec xz {} \;
state: "{{ rsyslog_archival_format_enabled | ternary('present', 'absent') }}"

View File

@ -0,0 +1,44 @@
- name: gather OS specific variables
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yaml"
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- name: install package
package:
name: "{{ rsyslog_package_name }}"
state: "{{ rsyslog_package_state }}"
- name: configure
template:
src: rsyslog.conf.j2
dest: /etc/rsyslog.conf
owner: root
group: root
mode: 0644
notify: restart rsyslog
- name: configure archival format
include: archival.yaml
- name: configure default rules
template:
src: default.conf.j2
dest: /etc/rsyslog.d/50-default.conf
owner: root
group: root
mode: 0644
notify: restart rsyslog
when: rsyslog_default_rules_state == "file"
- name: manage default rules
file:
path: /etc/rsyslog.d/50-default.conf
state: "{{ rsyslog_default_rules_state }}"
- name: manage service
service:
name: "{{ rsyslog_service_name }}"
state: "{{ rsyslog_service_state }}"
enabled: "{{ rsyslog_service_enabled }}"