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.
46 lines
1.1 KiB
YAML
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 }}'
|