Add rsyslog role
This commit is contained in:
42
roles/rsyslog/tasks/archival.yaml
Normal file
42
roles/rsyslog/tasks/archival.yaml
Normal 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') }}"
|
44
roles/rsyslog/tasks/main.yaml
Normal file
44
roles/rsyslog/tasks/main.yaml
Normal 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 }}"
|
Reference in New Issue
Block a user