ansible-role-syslog/tasks/main.yml

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