Jeltz
c65b3f090b
Some checks failed
continuous-integration/drone/push Build is failing
Logrotate is not used because I didn't found an easy way to configure it to handle the compression/deletion of log files already rotated by rsyslog (it is probably possible, but I found the script to be easier).
57 lines
1.2 KiB
YAML
57 lines
1.2 KiB
YAML
---
|
|
- name: Install rsyslog-relp if needed
|
|
become: true
|
|
apt:
|
|
name: rsyslog-relp
|
|
state: latest
|
|
when: "rsyslog_inputs | selectattr('proto', 'eq', 'relp') | list"
|
|
|
|
- name: Ensure log storage directory exists
|
|
become: true
|
|
file:
|
|
path: "{{ rsyslog_collector_base_dir }}"
|
|
state: directory
|
|
owner: root
|
|
group: adm
|
|
mode: u=rwx,g=rwx,o=
|
|
|
|
- name: Deploy rsyslog input configuration file
|
|
become: true
|
|
template:
|
|
src: 20-collector.conf.j2
|
|
dest: /etc/rsyslog.d/20-collector.conf
|
|
owner: root
|
|
group: root
|
|
mode: u=rw,g=r,o=r
|
|
notify: Restart rsyslog
|
|
|
|
- name: Install rotate script
|
|
become: true
|
|
copy:
|
|
src: rotate
|
|
dest: "{{ rsyslog_collector_rotate_path }}"
|
|
owner: root
|
|
group: root
|
|
mode: u=rwx,g=rx,o=
|
|
|
|
- name: Install timer and service for rotate script
|
|
become: true
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "/etc/systemd/system/{{ item }}"
|
|
owner: root
|
|
group: root
|
|
mode: u=rw,g=r,o=
|
|
loop:
|
|
- rotate-remote-logs.timer
|
|
- rotate-remote-logs.service
|
|
notify:
|
|
- Run systemd daemon-reload
|
|
|
|
- name: Enable timer for log rotation
|
|
become: true
|
|
systemd:
|
|
name: rotate-remote-logs.timer
|
|
enabled: true
|
|
state: started
|
|
...
|