artem_shestakov.fluentbit
Rola Ansible Fluent-bit
Prosta rola do instalacji i konfiguracji Fluent-bit
Zmienne Roli
Konfiguracja
Nazwa | Opis | Domyślnie |
---|---|---|
fluentbit_config_path | Ścieżka do pliku konfiguracyjnego i parserów | /etc/fluent-bit |
fluentbit_flush | Ustaw czas flush w sekundach. Pętla silnika używa limitu Flush, aby określić, kiedy należy wyczyścić rekordy pobrane przez wtyczki wejściowe przez zdefiniowane wtyczki wyjściowe. | 5 |
fluentbit_grace | Ustaw czas oczekiwania w sekundach jako wartość całkowitą. Pętla silnika używa limitu Grace, aby określić czas oczekiwania przed wyjściem | 5 |
fluentbit_daemon | Wartość logiczna do ustawienia, czy Fluent Bit powinien działać jako demon (w tle) czy nie. Dozwolone wartości: tak, nie, on i off | off |
fluentbit_dns_mode | Ustaw główny protokół transportu używany przez asynchroniczny resolver DNS, który może być nadpisany dla poszczególnych wtyczek | UDP |
fluentbit_log_file | Absolutna ścieżka do opcjonalnego pliku dziennika. Domyślnie wszystkie dzienniki są przekazywane do standardowego interfejsu błędów (stderr). | |
fluentbit_log_level | Ustaw poziom szczegółowości dziennika. | info |
fluentbit_http_server | Włącz wbudowany serwer HTTP | off |
fluentbit_http_listen | Ustaw interfejs nasłuchujący dla serwera HTTP, gdy jest włączony | 0.0.0.0 |
fluentbit_http_port | Ustaw port TCP dla serwera HTTP | 2020 |
fluentbit_coro_stack_size | Ustaw rozmiar stosu współrzędnych w bajtach. Wartość musi być większa niż rozmiar strony działającego systemu. Nie ustawiaj zbyt małej wartości (np. 4096), ponieważ wątki współrzędne mogą przepełnić bufor stosu. Nie zmieniaj domyślnej wartości, chyba że wiesz, co robisz | 24576 |
fluentbit_scheduler_cap | Ustaw maksymalny czas ponownego próby w sekundach. Właściwość jest wspierana od v1.8.7. | 2000 |
fluentbit_scheduler_base | Ustaw podstawę eksponencjalnej strategii ponownej. Właściwość jest wspierana od v1.8.7. | 5 |
fluentbit_inputs | Sekcja wejściowa definiuje źródło (związane z wtyczką wejściową) | Nazwa: forward Nasłuch: 0.0.0.0 Port: 24224 |
fluentbit_outputs | Sekcja wyjściowa określa miejsce, do którego określone rekordy powinny trafić po dopasowaniu Tagu | Nazwa: srdout Dopasowanie: '*' |
Pipeline
fluentbit_inputs
- lista wejść (źródeł). Każdy element wejścia to kolekcja słownika par klucz/wartość. Wartość domyślna:
fluentbit_inputs:
- Name: forward
Listen: 0.0.0.0
Port: 24224
fluentbit_outputs
- lista wyjść (opuszczalników). Każdy element wyjścia to kolekcja słownika par klucz/wartość. Wartość domyślna:
fluentbit_outputs:
- Name: stdout
Match: '*'
fluentbit_filters
- lista filtrów. Każdy element to kolekcja słownika par klucz/wartość. Wartość domyślna to[]
. Przykład:
---
- name: Uruchom usługę fluent-bit
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
- lista parserów. Każdy element parsera to kolekcja słownika par klucz/wartość. Wartość domyślna to[]
. Przykład:
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
- lista parserów wieloliniowych. Każdy element parsera to kolekcja słownika par klucz/wartość. Każdy parser powinien zawierać listęrules
. Każda reguła to słownik z trzema elementami:state_name
,regex_pattern
oraznext_state
. Wartość domyślna to[]
. Przykład:
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
Przykładowy Playbook
przykład tutaj
Licencja
BSD
Informacje o autorze
Artem Shestakov artem.s.shestakov@yandex.ru
Zainstaluj
ansible-galaxy install artem_shestakov.fluentbit
Licencja
Unknown
Pobrania
5.3k
Właściciel