Files
configpolicy/roles/fluent-bit-servarr/vars/main.yml
Dustin C. Hatch f892570467 r/f-b-arr: Configure Fluent Bit for Servarr logs
The _fluent-bit-servarr_ role creates a configuration file for Fluent
Bit to read and parse logs from Radarr, Sonarr, and Prowlarr.  These
logs can then be sent to an output by defining the
`fluent_bit_servarr_outputs` variable.
2025-12-03 23:00:54 -06:00

46 lines
1.1 KiB
YAML

servarr_logs:
- /var/log/prowlarr/*.txt
- /var/log/radarr/*.txt
- /var/log/sonarr/*.txt
fluent_bit_servarr_config:
multiline_parsers:
- name: multiline_servarr
type: regex
flush_timeout: 500
rules:
- state: start_state
regex: ^\d{4}-\d{2}-\d{2} [ 0-2]?\d:\d{2}:\d{2}\.\d+\|
next_state: cont
- state: cont
regex: ^(?!\d{4}-\d{2}-\d{2} [ 0-2]?\d:\d{2}:\d{2}\.\d+\|).*
next_state: cont
parsers:
- name: servarr
format: regex
regex: /^(?<timestamp>\d{4}-\d{2}-\d{2} [ 0-2]?\d:\d{2}:\d{2}\.\d+)\|(?<level>[^|]+)\|(?<logger>[^|]+)\|(?<log>.*)/m
time_key: timestamp
time_format: '%Y-%m-%d %H:%M:%S.%L'
pipeline:
inputs:
- name: tail
alias: servarr
tag: servarr
path: '{{ servarr_logs | join(",") }}'
path_key: filename
multiline.parser: multiline_servarr
db: /var/lib/fluent-bit/servarr.db
read_from_head: true
filters:
- name: parser
alias: servarr
match: servarr
key_name: log
parser: servarr
reserve_data: true
outputs: '{{ fluent_bit_servarr_outputs }}'