1--- 2- hosts: alma_servers,debian_servers,freebsd_servers 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 "dietpi" | 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 desktop.hs.ms.dev ({{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 line: "*.* @{{ctrl_headnet_ip_addr.stdout}}" 63 owner: root 64 group: wheel 65 mode: 0644 66 when: ansible_system == "FreeBSD" 67 68 - name: Restart syslogd 69 ansible.builtin.service: 70 name: syslogd 71 state: restarted 72 when: ansible_service_mgr == "bsdinit"