Playbooks I use for my homelab
1---
2- hosts: remote_logging_clients
3 gather_facts: true
4 become: true
5
6 tasks:
7 - name: Ensure rsyslog is installed
8 ansible.builtin.package:
9 name: rsyslog
10 state: latest
11 when: ansible_system == "Linux"
12
13 - name: Ensure rsyslog is enabled
14 ansible.builtin.systemd_service:
15 name: rsyslog
16 enabled: true
17 state: started
18 when: ansible_service_mgr == "systemd"
19
20 - name: Remove any forwarding file if exists
21 ansible.builtin.file:
22 path: /etc/rsyslog.d/forward.conf
23 state: absent
24 when: ansible_system == "Linux"
25
26 - name: Get remote logging server headnet IP address
27 ansible.builtin.shell: tailscale status | grep "nas-aux" | awk '{print $1}'
28 register: ctrl_headnet_ip_addr
29 changed_when: false
30 failed_when: ctrl_headnet_ip_addr.rc != 0
31
32 - name: Configure log forwarding
33 ansible.builtin.blockinfile:
34 path: /etc/rsyslog.d/forward.conf
35 create: true
36 owner: root
37 group: root
38 mode: 0644
39 block: |
40 # Forward to nas-aux.ayu-matrix.ts.net ({{ctrl_headnet_ip_addr.stdout}})
41 *.* action(type="omfwd" target="{{ctrl_headnet_ip_addr.stdout}}" port="514" protocol="tcp"
42 action.resumeRetryCount="100"
43 queue.type="linkedList" queue.size="10000")
44 when: ansible_system == "Linux"
45
46 - name: Restart rsyslog
47 ansible.builtin.systemd_service:
48 name: rsyslog
49 enabled: true
50 state: restarted
51 when: ansible_service_mgr == "systemd"
52
53 - name: Set syslog flags for remote logging on FreeBSD
54 ansible.builtin.shell: sysrc syslog_flags="-s -v -v"
55 register: set_syslog_flags
56 changed_when: '"syslog_flags: -> YES" in set_syslog_flags.stdout'
57 when: ansible_service_mgr == "bsdinit"
58
59 - name: Set log forwarding on FreeBSD
60 ansible.builtin.lineinfile:
61 path: /etc/syslog.conf
62 regexp: '^\*\.\*'
63 line: "*.* @{{ctrl_headnet_ip_addr.stdout}}"
64 owner: root
65 group: wheel
66 mode: 0644
67 when: ansible_system == "FreeBSD"
68
69 - name: Restart syslogd
70 ansible.builtin.service:
71 name: syslogd
72 state: restarted
73 when: ansible_service_mgr == "bsdinit"