64 lines
1.4 KiB
YAML
64 lines
1.4 KiB
YAML
---
|
|
- name: install syslog-ng package (alpine)
|
|
apk:
|
|
name:
|
|
- syslog-ng
|
|
- logrotate
|
|
state: present
|
|
update_cache: yes
|
|
when: ansible_distribution == 'Alpine'
|
|
|
|
- name: remove rsyslog package (debian)
|
|
apt:
|
|
name:
|
|
- rsyslog
|
|
state: absent
|
|
when: ansible_distribution == 'Debian'
|
|
|
|
- name: install syslog-ng package (debian)
|
|
apt:
|
|
name:
|
|
- syslog-ng
|
|
- logrotate
|
|
state: present
|
|
update_cache: yes
|
|
when: ansible_distribution == 'Debian'
|
|
|
|
- name: Copy syslog configuration
|
|
template:
|
|
src: syslog-ng.conf.j2
|
|
dest: /etc/syslog-ng/syslog-ng.conf
|
|
mode: u+rw,g+r,o+r
|
|
notify:
|
|
- reload syslog
|
|
|
|
- name: configure logrotate
|
|
lineinfile:
|
|
path: /etc/logrotate.conf
|
|
regexp: "{{ item.regexp }}"
|
|
line: "{{ item.line }}"
|
|
with_items:
|
|
- { regexp: "^#?/var/log/messages {}", line: "#/var/log/messages {}" }
|
|
- { regexp: "^(daily|weekly|monthly|yearly)", line: "weekly" }
|
|
- { regexp: "^(size|maxsize).*", line: "maxsize 512M" }
|
|
|
|
- name: ensure syslog is disabled
|
|
service:
|
|
name: syslog
|
|
enabled: no
|
|
state: stopped
|
|
when: ansible_distribution == 'Alpine'
|
|
|
|
- name: "ensure destination directory exists on {{ item }}"
|
|
file:
|
|
path: "/var/log/{{ inventory_hostname }}"
|
|
state: directory
|
|
delegate_to: "{{ item }}"
|
|
with_items: "{{ log_hosts }}"
|
|
|
|
- name: ensure syslog-ng is enabled
|
|
service:
|
|
name: syslog-ng
|
|
enabled: yes
|
|
state: started
|