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 von rules enthalten. Jede Regel ist ein Wörterbuch mit drei Elementen: state_name, regex_pattern und next_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

Über das Projekt

Ansible role to install Fluent bit https://fluentbit.io/

Installieren
ansible-galaxy install artem_shestakov.fluentbit
GitHub Repository
Lizenz
Unknown
Downloads
5.3k
Besitzer