Use syslog-ng

Changed files
+39 -26
+39 -26
remote-logging-setup.yml
···
-
---
- hosts: remote_logging_clients
gather_facts: true
become: true
-
tasks:
-
- name: Ensure rsyslog is installed
+
- name: Ensure syslog-ng is installed
ansible.builtin.package:
-
name: rsyslog
+
name: syslog-ng
state: latest
when: ansible_system == "Linux"
-
-
- name: Ensure rsyslog is enabled
+
- name: Ensure syslog-ng is enabled
ansible.builtin.systemd_service:
-
name: rsyslog
+
name: syslog-ng
enabled: true
state: started
when: ansible_service_mgr == "systemd"
-
- name: Remove any forwarding file if exists
ansible.builtin.file:
-
path: /etc/rsyslog.d/forward.conf
+
path: /etc/syslog-ng/conf.d/forward.conf
state: absent
when: ansible_system == "Linux"
-
-
- name: Get remote logging server headnet IP address
+
- name: Get remote logging server tailnet IP address
ansible.builtin.shell: tailscale status | grep "nas-aux" | awk '{print $1}'
-
register: ctrl_headnet_ip_addr
+
register: ctrl_tailnet_ip_addr
changed_when: false
-
failed_when: ctrl_headnet_ip_addr.rc != 0
+
failed_when: ctrl_tailnet_ip_addr.rc != 0
+
- name: Configure log forwarding (Debian)
+
ansible.builtin.blockinfile:
+
path: /etc/syslog-ng/conf.d/forward.conf
+
create: true
+
owner: root
+
group: root
+
mode: 0644
+
block: |
+
# Forward to nas-aux ({{ctrl_tailnet_ip_addr.stdout}})
+
destination d_ewmm {
+
syslog-ng(server("{{ctrl_tailnet_ip_addr.stdout}}"));
+
};
-
- name: Configure log forwarding
+
log {
+
source(s_src);
+
destination(d_ewmm);
+
};
+
when: ansible_os_family == "Debian"
+
- name: Configure log forwarding (Red Hat)
ansible.builtin.blockinfile:
-
path: /etc/rsyslog.d/forward.conf
+
path: /etc/syslog-ng/conf.d/forward.conf
create: true
owner: root
group: root
mode: 0644
block: |
-
# Forward to nas-aux.ayu-matrix.ts.net ({{ctrl_headnet_ip_addr.stdout}})
-
*.* action(type="omfwd" target="{{ctrl_headnet_ip_addr.stdout}}" port="514" protocol="tcp"
-
action.resumeRetryCount="100"
-
queue.type="linkedList" queue.size="10000")
-
when: ansible_system == "Linux"
+
# Forward to nas-aux ({{ctrl_tailnet_ip_addr.stdout}})
+
destination d_ewmm {
+
syslog-ng(server("{{ctrl_tailnet_ip_addr.stdout}}"));
+
};
-
- name: Restart rsyslog
+
log {
+
source(s_sys);
+
destination(d_ewmm);
+
};
+
when: ansible_os_family == "RedHat"
+
- name: Restart syslog-ng
ansible.builtin.systemd_service:
-
name: rsyslog
+
name: syslog-ng
enabled: true
state: restarted
when: ansible_service_mgr == "systemd"
-
- name: Set syslog flags for remote logging on FreeBSD
ansible.builtin.shell: sysrc syslog_flags="-s -v -v"
register: set_syslog_flags
changed_when: '"syslog_flags: -> YES" in set_syslog_flags.stdout'
when: ansible_service_mgr == "bsdinit"
-
- name: Set log forwarding on FreeBSD
ansible.builtin.lineinfile:
path: /etc/syslog.conf
regexp: '^\*\.\*'
-
line: "*.* @{{ctrl_headnet_ip_addr.stdout}}"
+
line: "*.* @{{ctrl_tailnet_ip_addr.stdout}}"
owner: root
group: wheel
mode: 0644
when: ansible_system == "FreeBSD"
-
- name: Restart syslogd
ansible.builtin.service:
name: syslogd