chore: fluent-bit zomboid, zomboid stats, home assistant, gregbot

This commit is contained in:
Bastian de Byl
2026-01-24 17:08:05 -05:00
parent 045eb0b5a7
commit bc26fcd1f9
9 changed files with 109 additions and 8 deletions

View File

@@ -25,6 +25,17 @@
Read_From_Tail On
Strip_Underscores On
# =============================================================================
# INPUT: Kernel firewall logs for Zomboid connections
# =============================================================================
# Captures ZOMBOID_CONN firewall events with source IP for player correlation
[INPUT]
Name systemd
Tag firewall.zomboid
Systemd_Filter _TRANSPORT=kernel
Read_From_Tail On
Strip_Underscores On
# =============================================================================
# INPUT: Caddy access logs (JSON format)
# =============================================================================
@@ -56,6 +67,12 @@
Record source sshd
Record log_type security
# Copy msg to MESSAGE for caddy logs (GELF requires MESSAGE)
[FILTER]
Name modify
Match caddy.*
Copy msg MESSAGE
[FILTER]
Name record_modifier
Match caddy.*
@@ -63,6 +80,19 @@
Record source caddy
Record log_type access
# Filter kernel logs to only keep ZOMBOID_CONN messages
[FILTER]
Name grep
Match firewall.zomboid
Regex MESSAGE ZOMBOID_CONN
[FILTER]
Name record_modifier
Match firewall.zomboid
Record host {{ ansible_hostname }}
Record source firewall
Record log_type zomboid_connection
# =============================================================================
# OUTPUT: All logs to Graylog GELF UDP
# =============================================================================

View File

@@ -3,3 +3,15 @@
Format json
Time_Key ts
Time_Format %s.%L
# Generic JSON parser for nested message fields
[PARSER]
Name json
Format json
# Parse ZOMBOID_CONN firewall logs to extract source IP
# Example: ZOMBOID_CONN: IN=enp0s31f6 OUT= MAC=... SRC=45.5.113.90 DST=192.168.1.10 ...
[PARSER]
Name zomboid_firewall
Format regex
Regex ZOMBOID_CONN:.*SRC=(?<src_ip>[0-9.]+).*DST=(?<dst_ip>[0-9.]+).*DPT=(?<dst_port>[0-9]+)

View File

@@ -10,7 +10,7 @@
},
"tax": {
"ein": "{{ fulfillr_tax_ein }}",
"ioss": "{{ fulfillr_tax_ioss }}"
"ioss": nil
},
"sender_address": {
"city": "Newbury",

View File

@@ -1,3 +1,3 @@
#!/bin/bash
# Write zomboid container stats to file for gregtime to read
podman stats --no-stream --format json zomboid 2>/dev/null > {{ gregtime_path }}/data/zomboid-stats.json || true
podman stats --no-stream --format json zomboid 2>/dev/null > {{ podman_volumes }}/zomboid-stats.json || true