526 Log server and clients (ansible_init)
Use case
Use the iocage template ansible_init created in 524 iocage template ansible_init (hostname). Configure the repo
ansible-conf-init to pull the jails’ configuration from the repos ansible-conf-syslogng-server
and ansible-conf-syslogng-client. Create jails from the template. Use class=log-server and
class=log-client to select the configuration. Run ansible-pull asynchronously.
Tree
shell > tree .
.
├── ansible.cfg
├── group_vars
│ └── all
│ ├── hosts.yml
│ └── project.yml
├── hosts
│ └── 05_iocage.yml
├── iocage.ini
├── pb-logclient-test.yml
└── pb-logserver-test.yml
Synopsis
At a managed node:
In the playbook vbotka.freebsd.pb_iocage_project_create_from_templates.yml create jails from the template.
ansible_init.Wait for
ansible-pullto configure the jails and display the logs.
Requirements
template
ansible_initcreated in 524 iocage template ansible_init (hostname)playbook vbotka.freebsd.pb_iocage_project_create_from_templates.yml
Note
See the option
firstboot_sentinelin man rc.confSee the example 523 iocage template ansible_repos
See also
GitHub repositories:
ansible.cfg
[defaults]
callback_result_format = yaml
deprecation_warnings = false
display_skipped_hosts = false
gathering = explicit
interpreter_python = auto_silent
log_path = /var/log/ansible.log
[connection]
pipelining = true
Inventory iocage.ini
iocage_05
[iocage]
iocage_05
[iocage:vars]
ansible_user=admin
ansible_become=true
ansible_python_interpreter=auto_silent
hosts
plugin: vbotka.freebsd.iocage
host: iocage_05
user: admin
sudo: true
get_properties: true
compose:
iocage_tags: dict(iocage_properties.notes | regex_findall('(\w+)=([\w\-]+)'))
iocage_classes: iocage_properties.notes | regex_findall('(?<=class=)[\w\-]+|(?<=,)[\w\-]+')
# connection plugin vbotka.freebsd.jailexec
ansible_connection: "'vbotka.freebsd.jailexec'"
ansible_jail_host: dict(iocage_properties.notes | regex_findall('(\w+)=([\w\-]+)')).vmm | d('none')
ansible_jail_name: iocage_jid
ansible_jail_privilege_escalation: "'sudo'"
# ansible options
ansible_python_interpreter: "'auto_silent'"
groups:
log_server: iocage_classes is contains('log-server')
log_client: iocage_classes is contains('log-client')
pull_repos: iocage_classes is contains('repos')
keyed_groups:
- prefix: state
key: iocage_state
- prefix: vmm
key: iocage_tags.vmm
group_vars
project:
log-server:
class: [log-server]
template: ansible_init
custom_facts: class.fact.j2
vmm: iocage_05
properties:
vnet: 1
defaultrouter: "{{ project_hosts.defaultrouter }}"
ip4_addr: 'vnet0|{{ project_hosts.log_server }}/24'
boot: 1
www-01:
class: [log-client]
template: ansible_init
custom_facts: class.fact.j2
vmm: iocage_05
www-02:
class: [log-client]
template: ansible_init
custom_facts: class.fact.j2
vmm: iocage_05
properties:
bpf: 1
dhcp: 1
vnet: 1
boot: 1
vmm_groups: "{{ dict(project | dict2items | groupby('value.vmm')) }}"
vmm: "{{ dict(vmm_groups.keys() | zip(vmm_groups.values() | map('items2dict'))) }}"
Playbook output - Create project jails from iocage templates
(env) > ansible-playbook vbotka.freebsd.pb_iocage_project_create_from_templates.yml -i iocage.ini -i hosts
PLAY [Create and start project jails from iocage templates.] *******************
TASK [Setup: Get activated pool.] **********************************************
ok: [iocage_05]
TASK [Create jails.] ***********************************************************
ok: [iocage_05] => (item=www-02)
ok: [iocage_05] => (item=www-01)
ok: [iocage_05] => (item=log-server)
TASK [Create custom facts dirs.] ***********************************************
changed: [iocage_05] => (item={'key': 'log-server', 'value': {'class': ['log-server'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05', 'properties': {'vnet': 1, 'defaultrouter': '172.16.99.1', 'ip4_addr': 'vnet0|172.16.99.10/24', 'boot': 1}}})
changed: [iocage_05] => (item={'key': 'www-01', 'value': {'class': ['log-client'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05'}})
changed: [iocage_05] => (item={'key': 'www-02', 'value': {'class': ['log-client'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05'}})
TASK [Create custom facts files.] **********************************************
changed: [iocage_05] => (item={'key': 'log-server', 'value': {'class': ['log-server'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05', 'properties': {'vnet': 1, 'defaultrouter': '172.16.99.1', 'ip4_addr': 'vnet0|172.16.99.10/24', 'boot': 1}}})
changed: [iocage_05] => (item={'key': 'www-01', 'value': {'class': ['log-client'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05'}})
changed: [iocage_05] => (item={'key': 'www-02', 'value': {'class': ['log-client'], 'template': 'ansible_init', 'custom_facts': 'class.fact.j2', 'vmm': 'iocage_05'}})
TASK [Set properties.] *********************************************************
ok: [iocage_05] => (item=log-server)
ok: [iocage_05] => (item=www-01)
ok: [iocage_05] => (item=www-02)
TASK [Start jails.] ************************************************************
ok: [iocage_05]
PLAY RECAP *********************************************************************
iocage_05 : ok=6 changed=2 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0
List jails
shell > ssh admin@iocage_05 sudo iocage list -l
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+=====+=============+======+=======+======+==============+=======================+=====+===============+==========+
| 17 | bar | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.103 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 18 | baz | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.107 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 16 | foo | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.102 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 20 | log-server | on | up | jail | 15.0-RELEASE | vnet0|172.16.99.10/24 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 19 | qux | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.104 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 12 | repos | on | up | jail | 15.0-RELEASE | vnet0|172.16.99.21/24 | - | ansible_repos | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 13 | repos-devel | on | up | jail | 15.0-RELEASE | vnet0|172.16.99.22/24 | - | ansible_repos | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 21 | www-01 | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.105 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
| 22 | www-02 | on | up | jail | 15.0-RELEASE | epair0b|172.16.99.106 | - | ansible_init | no |
+-----+-------------+------+-------+------+--------------+-----------------------+-----+---------------+----------+
Playbook pb-logserver-test.yml
---
- name: Test Log Server.
hosts: log_server
tasks:
- name: Run commands.
register: out
ansible.builtin.shell: "{{ item }}"
loop:
- rm -rf /var/log/remote/localhost/*
- service syslog-ng status
- loggen -i -S -n 1 localhost 514
- sleep 2; find /var/log/remote/localhost/ -name *.log | xargs cat
- name: Debug.
when: debug | d(false) | bool
ansible.builtin.debug:
msg: |
{% for i in out.results %}
shell> {{ i.item }}
{% if i.stdout | length > 0 %}
{{ i.stdout }}
{% endif %}
{% if i.stderr | length > 0 %}
{{ i.stderr }}
{% endif %}
{% endfor %}
Playbook output - Test Log Server
(env) > ansible-playbook pb-logserver-test.yml -i hosts -e debug=true
PLAY [Test Log Server.] ********************************************************
TASK [Run commands.] ***********************************************************
changed: [log-server] => (item=rm -rf /var/log/remote/localhost/*)
changed: [log-server] => (item=service syslog-ng status)
changed: [log-server] => (item=loggen -i -S -n 1 localhost 514)
changed: [log-server] => (item=sleep 2; find /var/log/remote/localhost/ -name *.log | xargs cat)
TASK [Debug.] ******************************************************************
ok: [log-server] =>
msg: |-
shell> rm -rf /var/log/remote/localhost/*
shell> service syslog-ng status
syslog_ng is running as pid 51350.
shell> loggen -i -S -n 1 localhost 514
count=1, rate = 27777.78 msg/sec
average rate = 2.00 msg/sec, count=1, time=0.500261, (average) msg size=256, bandwidth=0.50 kB/sec
shell> sleep 2; find /var/log/remote/localhost/ -name *.log | xargs cat
Jun 18 08:06:06 localhost prg00000[1234]: seq: 0000000000, thread: 0000, runid: 1781762766, stamp: 2026-06-18T08:06:06 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD
PLAY RECAP *********************************************************************
log-server : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Playbook pb-logclient-test.yml
---
- name: Test Log Clients.
hosts: log_client
vars:
log_server: "{{ hostvars['log-server']['iocage_ip4'] }}"
tasks:
- name: Run loggen
register: out
ansible.builtin.command: "loggen -i -S -n 1 {{ log_server }} 514"
- name: Debug.
ansible.builtin.debug:
var: out.stderr
- name: Display the logs.
hosts: log_server
tasks:
- name: Get log files paths.
register: out
ansible.builtin.find:
paths: /var/log/remote
recurse: true
patterns: '*.log'
- name: Get log files.
register: out
ansible.builtin.command: "cat {{ item }}"
loop: "{{ out.files | map(attribute='path') }}"
- name: Display log files.
ansible.builtin.debug:
msg: |
{{ item.stdout }}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
loop: "{{ out.results }}"
loop_control:
label: "{{ item.cmd }}"
Playbook output - Test Log Clients
(env) > ansible-playbook pb-logclient-test.yml -i hosts
PLAY [Test Log Clients.] *******************************************************
TASK [Run loggen] **************************************************************
changed: [www-01]
changed: [www-02]
TASK [Debug.] ******************************************************************
ok: [www-01] =>
out.stderr: |-
count=1, rate = 27027.03 msg/sec
average rate = 2.00 msg/sec, count=1, time=0.500354, (average) msg size=256, bandwidth=0.50 kB/sec
ok: [www-02] =>
out.stderr: |-
count=1, rate = 27027.03 msg/sec
average rate = 2.00 msg/sec, count=1, time=0.500516, (average) msg size=256, bandwidth=0.50 kB/sec
PLAY [Display the logs.] *******************************************************
TASK [Get log files paths.] ****************************************************
ok: [log-server]
TASK [Get log files.] **********************************************************
changed: [log-server] => (item=/var/log/remote/localhost/2026_06_18.log)
changed: [log-server] => (item=/var/log/remote/172.16.99.106/2026_06_18.log)
changed: [log-server] => (item=/var/log/remote/172.16.99.105/2026_06_18.log)
TASK [Display log files.] ******************************************************
ok: [log-server] => (item=['cat', '/var/log/remote/localhost/2026_06_18.log']) =>
msg: |-
Jun 18 08:06:06 localhost prg00000[1234]: seq: 0000000000, thread: 0000, runid: 1781762766, stamp: 2026-06-18T08:06:06 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ok: [log-server] => (item=['cat', '/var/log/remote/172.16.99.106/2026_06_18.log']) =>
msg: |-
Jun 18 07:25:05 172.16.99.106 syslog-ng[50267]: syslog-ng starting up; version='4.11.0'
Jun 18 07:25:05 172.16.99.106 syslog-ng[50267]: Syslog connection failed; fd='19', server='AF_INET(172.16.99.10:514)', error='Connection refused (61)', time_reopen='60'
Jun 18 07:25:06 172.16.99.106 1 2026-06-18T07:25:06.239636+02:00 www-02 ansible-vbotka.freebsd.service 50293 - - Invoked with script=syslog-ng command=reload list_enabled=False synopsis=False wait=0.5 env=None jail=None
Jun 18 07:25:06 172.16.99.106 syslog-ng[50267]: Loading the new configuration;
Jun 18 07:25:06 172.16.99.106 syslog-ng[50267]: Configuration reload finished;
Jun 18 07:25:06 172.16.99.106 syslog-ng[50267]: Syslog connection failed; fd='19', server='AF_INET(172.16.99.10:514)', error='Connection refused (61)', time_reopen='60'
Jun 18 07:25:07 172.16.99.106 1 2026-06-18T07:25:07.116326+02:00 www-02 ansible-vbotka.freebsd.service 50401 - - Invoked with script=syslogd command=stop list_enabled=False synopsis=False wait=0.5 env=None jail=None
Jun 18 07:22:12 172.16.99.106 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-02
Jun 18 07:22:12 172.16.99.106 ansible: n=ansible INFO| PLAY [ansible-init] ************************************************************
Jun 18 07:22:13 172.16.99.106 ansible: n=ansible INFO| TASK [Get hostname.] ***********************************************************
Jun 18 07:22:13 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| TASK [Get custom facts.] *******************************************************
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| TASK [Display vars.] ***********************************************************
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain] =>
Jun 18 07:25:07 172.16.99.106 ansible: |-
Jun 18 07:25:07 172.16.99.106 ansible: true
Jun 18 07:25:07 172.16.99.106 ansible: www-02
Jun 18 07:25:07 172.16.99.106 ansible: ['log-client']
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| TASK [Set ai_cmd] **************************************************************
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| TASK [Execute ai_cmd] **********************************************************
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| included: /root/ansible-conf-init/tasks/execute-cmd.yml for localhost.my.domain
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| TASK [Display vars.] ***********************************************************
Jun 18 07:22:14 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain] =>
Jun 18 07:25:07 172.16.99.106 ansible: |-
Jun 18 07:25:07 172.16.99.106 ansible:
Jun 18 07:25:07 172.16.99.106 ansible: True
Jun 18 07:25:07 172.16.99.106 ansible: ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-client -d /root/ansible-conf-syslogng-client -e "ansible_pull_mode=true" pb-logclient.yml && echo '[INFO] ansible-pull finished.'
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| TASK [Execute command async=3600 poll=0] ***************************************
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| PLAY RECAP *********************************************************************
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| localhost.my.domain : ok=7 changed=1 unreachable=0 failed=0 skipped=3 rescued=0 ignored=0
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| Starting Ansible Pull at 2026-06-18 07:22:15
Jun 18 07:22:15 172.16.99.106 ansible: n=ansible INFO| /usr/local/bin/ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-client -d /root/ansible-conf-syslogng-client -e ansible_pull_mode=true pb-logclient.yml
Jun 18 07:22:16 172.16.99.106 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-02
Jun 18 07:22:18 172.16.99.106 ansible: n=ansible INFO| localhost.my.domain | CHANGED => {
Jun 18 07:25:07 172.16.99.106 ansible: "83c70d38783b19780c67d2c1fa40a365bbf59018",
Jun 18 07:25:07 172.16.99.106 ansible: {
Jun 18 07:25:07 172.16.99.106 ansible: "/usr/local/bin/python3.11"
Jun 18 07:25:07 172.16.99.106 ansible:
Jun 18 07:25:07 172.16.99.106 ansible: null,
Jun 18 07:25:07 172.16.99.106 ansible: true
Jun 18 07:25:07 172.16.99.106 ansible:
Jun 18 07:22:19 172.16.99.106 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-02
Jun 18 07:22:20 172.16.99.106 ansible: n=ansible INFO| PLAY [Configure Log Client.] ***************************************************
Jun 18 07:25:02 172.16.99.106 ansible: n=ansible INFO| TASK [Install packages.] *******************************************************
Jun 18 07:25:02 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:25:03 172.16.99.106 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslogd_enable in /etc/rc.conf] ***
Jun 18 07:25:03 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:25:03 172.16.99.106 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Sanity fp_syslogng_conf is empty.] ***
Jun 18 07:25:03 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:25:04 172.16.99.106 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Configure /usr/local/etc/syslog-ng.conf] ***
Jun 18 07:25:04 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:25:04 172.16.99.106 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslog_ng_enable in /etc/rc.conf] ***
Jun 18 07:25:04 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:25:06 172.16.99.106 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Start syslog-ng] *****************
Jun 18 07:25:06 172.16.99.106 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:25:06 172.16.99.106 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Reload syslog-ng] ****************
Jun 18 07:25:06 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:25:07 172.16.99.106 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Stop syslogd] ********************
Jun 18 07:25:07 172.16.99.106 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:25:07 172.16.99.106 ansible: n=ansible INFO| PLAY RECAP *********************************************************************
Jun 18 07:25:07 172.16.99.106 ansible: n=ansible INFO| localhost.my.domain : ok=8 changed=5 unreachable=0 failed=0 skipped=19 rescued=0 ignored=0
Jun 18 07:25:09 172.16.99.106 1 2026-06-18T07:25:09.084447+02:00 www-02 ansible-async_wrapper.py 47558 - - Module complete (47558)
Jun 18 07:26:06 172.16.99.106 syslog-ng[50267]: Syslog connection established; fd='5', server='AF_INET(172.16.99.10:514)', local='AF_INET(0.0.0.0:0)'
Jun 18 07:27:08 172.16.99.106 1 2026-06-18T07:27:08.559975+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:27:08 172.16.99.106 1 2026-06-18T07:27:08.566116+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:27:08 172.16.99.106 1 2026-06-18T07:27:08.619701+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:32:08 172.16.99.106 1 2026-06-18T07:32:08.674258+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:32:08 172.16.99.106 1 2026-06-18T07:32:08.679554+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:32:08 172.16.99.106 1 2026-06-18T07:32:08.734763+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:35:06 172.16.99.106 syslog-ng[50267]: Log statistics; processed='global(payload_reallocs)=0', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=72', dropped='global(internal_source)=0', processed='global(internal_source)=6', queued='global(internal_source)=0', processed='source(s_system)=15', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=72', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=72', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=241', processed='src.internal(s_system#2)=6', stamp='src.internal(s_system#2)=1781760366', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=72', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=72', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=111', queued='global(scratch_buffers_count)=0'
Jun 18 07:37:08 172.16.99.106 1 2026-06-18T07:37:08.815856+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:37:08 172.16.99.106 1 2026-06-18T07:37:08.821908+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:37:08 172.16.99.106 1 2026-06-18T07:37:08.842983+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:42:08 172.16.99.106 1 2026-06-18T07:42:08.884870+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:42:08 172.16.99.106 1 2026-06-18T07:42:08.888870+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:42:08 172.16.99.106 1 2026-06-18T07:42:08.944294+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:45:06 172.16.99.106 syslog-ng[50267]: Log statistics; processed='global(payload_reallocs)=2', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=79', dropped='global(internal_source)=0', processed='global(internal_source)=7', queued='global(internal_source)=0', processed='source(s_system)=22', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=79', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=79', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1388', processed='src.internal(s_system#2)=7', stamp='src.internal(s_system#2)=1781760906', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=79', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=79', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=129', queued='global(scratch_buffers_count)=0'
Jun 18 07:47:09 172.16.99.106 1 2026-06-18T07:47:09.043352+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:47:09 172.16.99.106 1 2026-06-18T07:47:09.047998+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:47:09 172.16.99.106 1 2026-06-18T07:47:09.069560+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:52:09 172.16.99.106 1 2026-06-18T07:52:09.145796+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:52:09 172.16.99.106 1 2026-06-18T07:52:09.150417+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:52:09 172.16.99.106 1 2026-06-18T07:52:09.193674+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 07:55:06 172.16.99.106 syslog-ng[50267]: Log statistics; processed='global(payload_reallocs)=4', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=86', dropped='global(internal_source)=0', processed='global(internal_source)=8', queued='global(internal_source)=0', processed='source(s_system)=29', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=86', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=86', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1389', processed='src.internal(s_system#2)=8', stamp='src.internal(s_system#2)=1781761506', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=86', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=86', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=144', queued='global(scratch_buffers_count)=0'
Jun 18 07:57:09 172.16.99.106 1 2026-06-18T07:57:09.252421+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:57:09 172.16.99.106 1 2026-06-18T07:57:09.256622+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 07:57:09 172.16.99.106 1 2026-06-18T07:57:09.278308+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 08:02:09 172.16.99.106 1 2026-06-18T08:02:09.351695+02:00 www-02 dhclient 47153 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 08:02:09 172.16.99.106 1 2026-06-18T08:02:09.355996+02:00 www-02 dhclient 47153 - - DHCPACK from 172.16.99.1
Jun 18 08:02:09 172.16.99.106 1 2026-06-18T08:02:09.411145+02:00 www-02 dhclient 47153 - - bound to 172.16.99.106 -- renewal in 300 seconds.
Jun 18 08:05:06 172.16.99.106 syslog-ng[50267]: Log statistics; processed='global(payload_reallocs)=6', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=93', dropped='global(internal_source)=0', processed='global(internal_source)=9', queued='global(internal_source)=0', processed='source(s_system)=36', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=93', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=93', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1389', processed='src.internal(s_system#2)=9', stamp='src.internal(s_system#2)=1781762106', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=93', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=93', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=156', queued='global(scratch_buffers_count)=0'
Jun 18 08:06:37 172.16.99.106 1 2026-06-18T08:06:37.353467+02:00 www-02 ansible-ansible.legacy.command 54310 - - Invoked with _raw_params=loggen -i -S -n 1 172.16.99.10 514 _uses_shell=False expand_argument_vars=True stdin_add_newline=True strip_empty_ends=True cmd=None argv=None chdir=None executable=None creates=None removes=None stdin=None
Jun 18 08:06:37 172.16.99.106 prg00000[1234]: seq: 0000000000, thread: 0000, runid: 1781762797, stamp: 2026-06-18T08:06:37 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ok: [log-server] => (item=['cat', '/var/log/remote/172.16.99.105/2026_06_18.log']) =>
msg: |-
Jun 18 07:24:36 172.16.99.105 syslog-ng[48961]: syslog-ng starting up; version='4.11.0'
Jun 18 07:24:36 172.16.99.105 syslog-ng[48961]: Syslog connection failed; fd='19', server='AF_INET(172.16.99.10:514)', error='Connection refused (61)', time_reopen='60'
Jun 18 07:24:36 172.16.99.105 1 2026-06-18T07:24:36.992223+02:00 www-01 ansible-vbotka.freebsd.service 48987 - - Invoked with script=syslog-ng command=reload list_enabled=False synopsis=False wait=0.5 env=None jail=None
Jun 18 07:24:37 172.16.99.105 syslog-ng[48961]: Loading the new configuration;
Jun 18 07:24:37 172.16.99.105 syslog-ng[48961]: Configuration reload finished;
Jun 18 07:24:37 172.16.99.105 syslog-ng[48961]: Syslog connection failed; fd='19', server='AF_INET(172.16.99.10:514)', error='Connection refused (61)', time_reopen='60'
Jun 18 07:24:37 172.16.99.105 1 2026-06-18T07:24:37.862935+02:00 www-01 ansible-vbotka.freebsd.service 49095 - - Invoked with script=syslogd command=stop list_enabled=False synopsis=False wait=0.5 env=None jail=None
Jun 18 07:22:01 172.16.99.105 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-01
Jun 18 07:22:01 172.16.99.105 ansible: n=ansible INFO| PLAY [ansible-init] ************************************************************
Jun 18 07:22:02 172.16.99.105 ansible: n=ansible INFO| TASK [Get hostname.] ***********************************************************
Jun 18 07:22:02 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Get custom facts.] *******************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Display vars.] ***********************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain] =>
Jun 18 07:24:38 172.16.99.105 ansible: |-
Jun 18 07:24:38 172.16.99.105 ansible: true
Jun 18 07:24:38 172.16.99.105 ansible: www-01
Jun 18 07:24:38 172.16.99.105 ansible: ['log-client']
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Set ai_cmd] **************************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Execute ai_cmd] **********************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| included: /root/ansible-conf-init/tasks/execute-cmd.yml for localhost.my.domain
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Display vars.] ***********************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain] =>
Jun 18 07:24:38 172.16.99.105 ansible: |-
Jun 18 07:24:38 172.16.99.105 ansible:
Jun 18 07:24:38 172.16.99.105 ansible: True
Jun 18 07:24:38 172.16.99.105 ansible: ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-client -d /root/ansible-conf-syslogng-client -e "ansible_pull_mode=true" pb-logclient.yml && echo '[INFO] ansible-pull finished.'
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| TASK [Execute command async=3600 poll=0] ***************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| PLAY RECAP *********************************************************************
Jun 18 07:22:04 172.16.99.105 ansible: n=ansible INFO| localhost.my.domain : ok=7 changed=1 unreachable=0 failed=0 skipped=3 rescued=0 ignored=0
Jun 18 07:22:05 172.16.99.105 ansible: n=ansible INFO| Starting Ansible Pull at 2026-06-18 07:22:05
Jun 18 07:22:05 172.16.99.105 ansible: n=ansible INFO| /usr/local/bin/ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-client -d /root/ansible-conf-syslogng-client -e ansible_pull_mode=true pb-logclient.yml
Jun 18 07:22:05 172.16.99.105 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-01
Jun 18 07:22:07 172.16.99.105 ansible: n=ansible INFO| localhost.my.domain | CHANGED => {
Jun 18 07:24:38 172.16.99.105 ansible: "83c70d38783b19780c67d2c1fa40a365bbf59018",
Jun 18 07:24:38 172.16.99.105 ansible: {
Jun 18 07:24:38 172.16.99.105 ansible: "/usr/local/bin/python3.11"
Jun 18 07:24:38 172.16.99.105 ansible:
Jun 18 07:24:38 172.16.99.105 ansible: null,
Jun 18 07:24:38 172.16.99.105 ansible: true
Jun 18 07:24:38 172.16.99.105 ansible:
Jun 18 07:22:09 172.16.99.105 ansible: n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: www-01
Jun 18 07:22:10 172.16.99.105 ansible: n=ansible INFO| PLAY [Configure Log Client.] ***************************************************
Jun 18 07:24:32 172.16.99.105 ansible: n=ansible INFO| TASK [Install packages.] *******************************************************
Jun 18 07:24:32 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:24:34 172.16.99.105 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslogd_enable in /etc/rc.conf] ***
Jun 18 07:24:34 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:24:34 172.16.99.105 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Sanity fp_syslogng_conf is empty.] ***
Jun 18 07:24:34 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:24:35 172.16.99.105 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Configure /usr/local/etc/syslog-ng.conf] ***
Jun 18 07:24:35 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:24:35 172.16.99.105 ansible: n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslog_ng_enable in /etc/rc.conf] ***
Jun 18 07:24:35 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:24:36 172.16.99.105 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Start syslog-ng] *****************
Jun 18 07:24:36 172.16.99.105 ansible: n=ansible INFO| changed: [localhost.my.domain]
Jun 18 07:24:37 172.16.99.105 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Reload syslog-ng] ****************
Jun 18 07:24:37 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:24:38 172.16.99.105 ansible: n=ansible INFO| RUNNING HANDLER [vbotka.freebsd.postinstall : Stop syslogd] ********************
Jun 18 07:24:38 172.16.99.105 ansible: n=ansible INFO| ok: [localhost.my.domain]
Jun 18 07:24:38 172.16.99.105 ansible: n=ansible INFO| PLAY RECAP *********************************************************************
Jun 18 07:24:38 172.16.99.105 ansible: n=ansible INFO| localhost.my.domain : ok=8 changed=5 unreachable=0 failed=0 skipped=19 rescued=0 ignored=0
Jun 18 07:24:39 172.16.99.105 1 2026-06-18T07:24:39.811893+02:00 www-01 ansible-async_wrapper.py 46466 - - Module complete (46466)
Jun 18 07:24:52 172.16.99.105 1 2026-06-18T07:24:52.720754+02:00 www-01 ansible-ansible.legacy.command 49485 - - Invoked with _raw_params=loggen -i -S -n 1 172.16.99.10 514 _uses_shell=False expand_argument_vars=True stdin_add_newline=True strip_empty_ends=True cmd=None argv=None chdir=None executable=None creates=None removes=None stdin=None
Jun 18 07:25:37 172.16.99.105 syslog-ng[48961]: Syslog connection failed; fd='5', server='AF_INET(172.16.99.10:514)', error='Connection refused (61)', time_reopen='60'
Jun 18 07:26:37 172.16.99.105 syslog-ng[48961]: Syslog connection established; fd='5', server='AF_INET(172.16.99.10:514)', local='AF_INET(0.0.0.0:0)'
Jun 18 07:26:57 172.16.99.105 1 2026-06-18T07:26:57.171129+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:26:57 172.16.99.105 1 2026-06-18T07:26:57.175634+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:26:57 172.16.99.105 1 2026-06-18T07:26:57.231338+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:31:57 172.16.99.105 1 2026-06-18T07:31:57.288274+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:31:57 172.16.99.105 1 2026-06-18T07:31:57.293955+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:31:57 172.16.99.105 1 2026-06-18T07:31:57.314658+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:34:37 172.16.99.105 syslog-ng[48961]: Log statistics; processed='global(payload_reallocs)=0', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=74', dropped='global(internal_source)=0', processed='global(internal_source)=7', queued='global(internal_source)=0', processed='source(s_system)=17', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=74', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=74', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=345', processed='src.internal(s_system#2)=7', stamp='src.internal(s_system#2)=1781760397', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=74', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=74', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=115', queued='global(scratch_buffers_count)=0'
Jun 18 07:36:57 172.16.99.105 1 2026-06-18T07:36:57.364133+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:36:57 172.16.99.105 1 2026-06-18T07:36:57.370243+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:36:57 172.16.99.105 1 2026-06-18T07:36:57.426575+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:41:57 172.16.99.105 1 2026-06-18T07:41:57.492710+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:41:57 172.16.99.105 1 2026-06-18T07:41:57.496402+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:41:57 172.16.99.105 1 2026-06-18T07:41:57.517137+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:44:37 172.16.99.105 syslog-ng[48961]: Log statistics; processed='global(payload_reallocs)=2', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=81', dropped='global(internal_source)=0', processed='global(internal_source)=8', queued='global(internal_source)=0', processed='source(s_system)=24', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=81', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=81', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1388', processed='src.internal(s_system#2)=8', stamp='src.internal(s_system#2)=1781760877', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=81', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=81', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=132', queued='global(scratch_buffers_count)=0'
Jun 18 07:46:57 172.16.99.105 1 2026-06-18T07:46:57.551066+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:46:57 172.16.99.105 1 2026-06-18T07:46:57.555587+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:46:57 172.16.99.105 1 2026-06-18T07:46:57.611255+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:51:57 172.16.99.105 1 2026-06-18T07:51:57.737693+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:51:57 172.16.99.105 1 2026-06-18T07:51:57.742044+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:51:57 172.16.99.105 1 2026-06-18T07:51:57.798213+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 07:54:37 172.16.99.105 syslog-ng[48961]: Log statistics; processed='global(payload_reallocs)=4', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=88', dropped='global(internal_source)=0', processed='global(internal_source)=9', queued='global(internal_source)=0', processed='source(s_system)=31', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=88', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=88', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1389', processed='src.internal(s_system#2)=9', stamp='src.internal(s_system#2)=1781761477', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=88', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=88', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=146', queued='global(scratch_buffers_count)=0'
Jun 18 07:56:57 172.16.99.105 1 2026-06-18T07:56:57.856568+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 07:56:57 172.16.99.105 1 2026-06-18T07:56:57.860626+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 07:56:57 172.16.99.105 1 2026-06-18T07:56:57.884374+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 08:01:57 172.16.99.105 1 2026-06-18T08:01:57.909026+02:00 www-01 dhclient 46031 - - DHCPREQUEST on epair0b to 172.16.99.1 port 67
Jun 18 08:01:57 172.16.99.105 1 2026-06-18T08:01:57.913347+02:00 www-01 dhclient 46031 - - DHCPACK from 172.16.99.1
Jun 18 08:01:57 172.16.99.105 1 2026-06-18T08:01:57.933926+02:00 www-01 dhclient 46031 - - bound to 172.16.99.105 -- renewal in 300 seconds.
Jun 18 08:04:37 172.16.99.105 syslog-ng[48961]: Log statistics; processed='global(payload_reallocs)=6', memory_usage='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(received)=95', dropped='global(internal_source)=0', processed='global(internal_source)=10', queued='global(internal_source)=0', processed='source(s_system)=38', truncated_count='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='dst.network(d_network#0,tcp,172.16.99.10:514)=95', eps_last_1h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='source(s_ansible)=57', eps_last_24h='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='center(queued)=95', msg_size_max='dst.network(d_network#0,tcp,172.16.99.10:514)=1389', processed='src.internal(s_system#2)=10', stamp='src.internal(s_system#2)=1781762077', dropped='dst.network(d_network#0,tcp,172.16.99.10:514)=0', queued='dst.network(d_network#0,tcp,172.16.99.10:514)=0', written='dst.network(d_network#0,tcp,172.16.99.10:514)=95', queued='global(scratch_buffers_bytes)=0', truncated_bytes='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='destination(d_network)=95', processed='global(msg_clones)=0', eps_since_start='dst.network(d_network#0,tcp,172.16.99.10:514)=0', processed='global(sdata_updates)=0', msg_size_avg='dst.network(d_network#0,tcp,172.16.99.10:514)=158', queued='global(scratch_buffers_count)=0'
Jun 18 08:06:37 172.16.99.105 prg00000[1234]: seq: 0000000000, thread: 0000, runid: 1781762797, stamp: 2026-06-18T08:06:37 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD
Jun 18 08:06:37 172.16.99.105 1 2026-06-18T08:06:37.353990+02:00 www-01 ansible-ansible.legacy.command 54311 - - Invoked with _raw_params=loggen -i -S -n 1 172.16.99.10 514 _uses_shell=False expand_argument_vars=True stdin_add_newline=True strip_empty_ends=True cmd=None argv=None chdir=None executable=None creates=None removes=None stdin=None
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PLAY RECAP *********************************************************************
log-server : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
www-01 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
www-02 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Hint
Use the utility lnav on the log server to display all logfiles in the the directory
/var/log/remote
shell > lnav -r /var/log/remote/
Troubleshooting
See the Ansible logs
/var/log/ansible.login the jails.Update and pull the repositories. For example,
root@log-server:~ # cd /root/ansible-conf-init/
root@log-server:~/ansible-conf-init # git pull
Already up to date.
root@log-server: # cd /root/ansible-conf-syslogng-server/
root@log-server:~/ansible-conf-syslogng-server # git pull
Already up to date.
Start the service
ansible_init
root@log-server:~ # service ansible_init start
Service ansible_init started.
Starting Ansible Pull at 2026-06-18 07:47:59
/usr/local/bin/ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-init -d /root/ansible-conf-init -e ansible_pull_mode=true pb-init.yml
...
TASK [Display vars.] ***********************************************************
ok: [localhost.my.domain] =>
msg: |-
ai_at:
ai_async: True
ai_cmd: ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-server -d /root/ansible-conf-syslogng-server -e "ansible_pull_mode=true" pb-logserv.yml && echo '[INFO] ansible-pull finished.'
TASK [Execute command async=3600 poll=0] ***************************************
changed: [localhost.my.domain]
PLAY RECAP *********************************************************************
localhost.my.domain : ok=7 changed=1 unreachable=0 failed=0 skipped=3 rescued=0 ignored=0
See the Ansible log
/var/log/ansible.log. The warning is harmless.
root@log-server:~ # cat /var/log/ansible.log
...
2026-06-18 07:48:06,356 p=52659 u=root n=ansible INFO| Starting Ansible Pull at 2026-06-18 07:48:06
2026-06-18 07:48:06,356 p=52659 u=root n=ansible INFO| /usr/local/bin/ansible-pull -i hosts -U git://172.16.99.21/ansible-conf-syslogng-server -d /root/ansible-conf-syslogng-server -e ansible_pull_mode=true pb-logserv.yml
2026-06-18 07:48:06,866 p=52661 u=root n=ansible WARNING| [WARNING]: Could not match supplied host pattern, ignoring: log-server
...
2026-06-18 07:48:09,702 p=52697 u=root n=ansible INFO| PLAY [Configure and start Log Server.] *****************************************
2026-06-18 07:48:14,495 p=52697 u=root n=ansible INFO| TASK [Install packages.] *******************************************************
2026-06-18 07:48:14,497 p=52697 u=root n=ansible INFO| ok: [localhost.my.domain]
2026-06-18 07:48:15,373 p=52697 u=root n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslogd_enable in /etc/rc.conf] ***
2026-06-18 07:48:15,374 p=52697 u=root n=ansible INFO| ok: [localhost.my.domain]
2026-06-18 07:48:15,506 p=52697 u=root n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Sanity fp_syslogng_conf is empty.] ***
2026-06-18 07:48:15,508 p=52697 u=root n=ansible INFO| ok: [localhost.my.domain]
2026-06-18 07:48:16,232 p=52697 u=root n=ansible INFO| TASK [vbotka.freebsd.postinstall : Syslog-ng: Configure /usr/local/etc/syslog-ng.conf] ***
2026-06-18 07:48:16,232 p=52697 u=root n=ansible INFO| ok: [localhost.my.domain]
2026-06-18 07:48:16,645 p=52697 u=root n=ansible INFO| TASK [vbotka.freebsd.postinstall : Rcconf: Configure syslog_ng_enable in /etc/rc.conf] ***
2026-06-18 07:48:16,647 p=52697 u=root n=ansible INFO| ok: [localhost.my.domain]
2026-06-18 07:48:16,706 p=52697 u=root n=ansible INFO| PLAY RECAP *********************************************************************
2026-06-18 07:48:16,706 p=52697 u=root n=ansible INFO| localhost.my.domain : ok=5 changed=0 unreachable=0 failed=0 skipped=19 rescued=0 ignored=0