artem_shestakov.fluentbit
Ansible Fluent-bit Rolle
Einfache Rolle zur Installation und Einrichtung von Fluent-bit
Rollenvariablen
Konfiguration
Name | Beschreibung | Standard |
---|---|---|
fluentbit_config_path | Pfad zur Konfigurations- und Parserdatei | /etc/fluent-bit |
fluentbit_flush | Legt die Flush-Zeit in Sekunden.Nanosekunden fest. Die Engine-Schleife verwendet einen Flush-Timeout, um zu definieren, wann die durch Input-Plugins aufgenommenen Datensätze über die definierten Output-Plugins geflusht werden müssen. | 5 |
fluentbit_grace | Legt die Grace-Zeit in Sekunden als Ganzzahl fest. Die Engine-Schleife verwendet einen Grace-Timeout, um die Wartezeit beim Beenden zu definieren. | 5 |
fluentbit_daemon | Boolescher Wert, um festzulegen, ob Fluent Bit als Daemon (im Hintergrund) ausgeführt werden soll oder nicht. Erlaubte Werte sind: ja, nein, an und aus | aus |
fluentbit_dns_mode | Legt das primäre Transportprotokoll fest, das vom asynchronen DNS-Resolver verwendet wird und auf Plugin-Basis überschrieben werden kann. | UDP |
fluentbit_log_file | Absoluter Pfad für eine optionale Protokolldatei. Standardmäßig werden alle Protokolle an die Standardfehler-Schnittstelle (stderr) umgeleitet. | |
fluentbit_log_level | Legt das Protokollierungsniveau fest. | info |
fluentbit_http_server | Aktiviert den integrierten HTTP-Server | aus |
fluentbit_http_listen | Legt die Schnittstelle fest, auf der der HTTP-Server lauscht, wenn er aktiviert ist. | 0.0.0.0 |
fluentbit_http_port | Legt den TCP-Port für den HTTP-Server fest. | 2020 |
fluentbit_coro_stack_size | Legt die Stapelgröße der Korrelationen in Byte fest. Der Wert muss größer sein als die Seiten-Size des laufenden Systems. Setzen Sie keinen zu kleinen Wert (z. B. 4096), da sonst die Korrelationen den Stapelspeicher überlaufen können. Ändern Sie den Standardwert dieses Parameters nicht, es sei denn, Sie wissen, was Sie tun. | 24576 |
fluentbit_scheduler_cap | Legt eine maximale Wiederholzeit in Sekunden fest. Die Eigenschaft wird ab v1.8.7 unterstützt. | 2000 |
fluentbit_scheduler_base | Legt eine Basis für exponentielles Backoff fest. Die Eigenschaft wird ab v1.8.7 unterstützt. | 5 |
fluentbit_inputs | Ein Eingabebereich definiert eine Quelle (bezogen auf ein Eingangs-Plugin). | Name: forward Listen: 0.0.0.0 Port: 24224 |
fluentbit_outputs | Der Ausgabebereich gibt ein Ziel an, dem bestimmte Datensätze nach einem Tag-Match folgen sollten. | Name: srdout Match: '*' |
Pipeline
fluentbit_inputs
- Liste der Eingaben (Quellen). Jedes Element des Inputs ist eine Sammlung von Schlüssel/Wert-Paaren. Der Standardwert ist:
fluentbit_inputs:
- Name: forward
Listen: 0.0.0.0
Port: 24224
fluentbit_outputs
- Liste der Ausgaben (Senken). Jedes Element der Ausgabe ist eine Sammlung von Schlüssel/Wert-Paaren. Der Standardwert ist:
fluentbit_outputs:
- Name: stdout
Match: '*'
fluentbit_filters
- Liste der Filter. Jedes Element ist eine Sammlung von Schlüssel/Wert-Paaren. Der Standardwert ist[]
. Beispiel:
---
- name: Fluent-bit-Dienst bereitstellen
hosts: "{{ lookup('env', 'TARGET') }}"
become: true
roles:
- role: artem_shestakov.fluentbit
version: "v1.0.0"
vars:
fluentbit_inputs:
- Name: forward
Listen: 0.0.0.0
Port: 24224
- Name: syslog
Tag: haproxy
Path: /var/lib/haproxy/dev/log
Unix_Perm: "0666"
fluentbit_filters:
- Name: record_modifier
Match: "*"
Record: hostname ${HOSTNAME}
- Name: parser
Match: "*"
Key_Name: data
Parser: syslog-rfc3164-local
fluentbit_outputs:
- Name: es
Match: *
Host: 192.168.2.3
Port: 9200
Index: my_index
Type: my_type
fluentbit_parsers:
- Name: syslog-rfc3164-local
Format: regex
Regex: ^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$
Time_Key: time
Time_Format: '%b %d %H:%M:%S'
Time_Keep: On
fluentbit_parsers
- Liste der Parser. Jedes Element des Parsers ist eine Sammlung von Schlüssel/Wert-Paaren. Der Standardwert ist[]
. Beispiel:
fluentbit_parsers:
- Name: named-capture-test
Format: regex
Regex: /^(?<date>[a-zA-Z]+ \d+ \d+\:\d+\:\d+) (?<message>.*)/m
- Name: docker
Format: json
Time_Key: time
Time_Format: "%Y-%m-%dT%H:%M:%S %z"
fluentbit_multiline_parsers
- Liste der mehrzeiligen Parser. Jedes Element des Parsers ist eine Sammlung von Schlüssel/Wert-Paaren. Jeder Parser sollte eine Liste vonrules
enthalten. Jede Regel ist ein Wörterbuch mit drei Elementen:state_name
,regex_pattern
undnext_state
. Der Standardwert ist[]
. Beispiel:
fluentbit_multiline_parsers:
- name: multiline-regex-test
type: regex
flush_timeout: 1000
rules:
- state_name: start_state
regex_pattern: /([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/
next_state: cont
- state_name: cont
regex_pattern: /^\s+at.*/
next_state: cont
Beispiel-Playbook
Beispiel hier
Lizenz
BSD
Autoreninformationen
Artem Shestakov artem.s.shestakov@yandex.ru