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 control node headnet IP address 27 ansible.builtin.shell: tailscale status | grep "desktop" | awk '{print $1}' 28 register: ctrl_headnet_ip_addr 29 changed_when: false 30 delegate_to: 127.0.0.1 31 failed_when: ctrl_headnet_ip_addr.rc != 0 32 33 - name: Configure log forwarding 34 ansible.builtin.blockinfile: 35 path: /etc/rsyslog.d/forward.conf 36 create: true 37 owner: root 38 group: root 39 mode: 0644 40 block: | 41 # Forward to desktop.hs.ms.dev ({{ctrl_headnet_ip_addr.stdout}}) 42 *.* action(type="omfwd" target="{{ctrl_headnet_ip_addr.stdout}}" port="514" protocol="tcp" 43 action.resumeRetryCount="100" 44 queue.type="linkedList" queue.size="10000") 45 when: ansible_system == "Linux" 46 47 - name: Restart rsyslog 48 ansible.builtin.systemd_service: 49 name: rsyslog 50 enabled: true 51 state: restarted 52 when: ansible_service_mgr == "systemd" 53 54 - name: Set syslog flags for remote logging on FreeBSD 55 ansible.builtin.shell: sysrc syslog_flags="-s -v -v" 56 register: set_syslog_flags 57 changed_when: '"syslog_flags: -> YES" in set_syslog_flags.stdout' 58 when: ansible_service_mgr == "bsdinit" 59 60 - name: Set log forwarding on FreeBSD 61 ansible.builtin.lineinfile: 62 path: /etc/syslog.conf 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"