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