artem_shestakov.fluentbit

Rôle Ansible Fluent-bit

Rôle simple pour installer et configurer Fluent-bit

Variables du Rôle

Configuration

Nom Description Par défaut
fluentbit_config_path Chemin vers le fichier de configuration et les fichiers de parsers /etc/fluent-bit
fluentbit_flush Définit le temps de vidage en secondes.nanoseconds. La boucle du moteur utilise un délai d'expiration pour définir quand il est nécessaire de vider les enregistrements ingérés par les plugins d'entrée à travers les plugins de sortie définis. 5
fluentbit_grace Définit le temps de grâce en secondes sous forme de valeur entière. La boucle du moteur utilise un délai d'expiration de grâce pour définir le temps d'attente à la sortie 5
fluentbit_daemon Valeur booléenne pour définir si Fluent Bit doit s'exécuter en tant que démon (en arrière-plan) ou non. Valeurs autorisées : oui, non, on et off off
fluentbit_dns_mode Définit le protocole de couche de transport principal utilisé par le résolveur DNS asynchrone, qui peut être remplacé par plugin UDP
fluentbit_log_file Chemin absolu pour un fichier journal facultatif. Par défaut, tous les journaux sont redirigés vers l'interface d'erreur standard (stderr).
fluentbit_log_level Définit le niveau de verbosité des journaux. info
fluentbit_http_server Active le serveur HTTP intégré off
fluentbit_http_listen Définit l'interface d'écoute pour le serveur HTTP lorsqu'il est activé 0.0.0.0
fluentbit_http_port Définit le port TCP pour le serveur HTTP 2020
fluentbit_coro_stack_size Définit la taille de pile des coroutines en octets. La valeur doit être supérieure à la taille de page du système en cours d'exécution. Ne définissez pas une valeur trop petite (comme 4096), sinon les threads de coroutine peuvent dépasser le tampon de pile. Ne changez pas la valeur par défaut de ce paramètre à moins de savoir ce que vous faites 24576
fluentbit_scheduler_cap Définit un temps maximum de réessai en secondes. La propriété est supportée depuis v1.8.7. 2000
fluentbit_scheduler_base Définit une base de retour exponentiel. La propriété est supportée depuis v1.8.7. 5
fluentbit_inputs Une section d'entrée définit une source (liée à un plugin d'entrée) Nom : forward
Écouter : 0.0.0.0
Port : 24224
fluentbit_outputs La section des sorties spécifie une destination que certains enregistrements doivent suivre après une correspondance de balise Nom : srdout
Correspondance : '*'

Pipeline

  • fluentbit_inputs - liste des entrées (sources). Chaque élément d'entrée est un ensemble de paires clé/valeur. La valeur par défaut est :
fluentbit_inputs:
  - Nom: forward
    Écouter: 0.0.0.0
    Port: 24224
  • fluentbit_outputs - liste des sorties (puits). Chaque élément de sortie est un ensemble de paires clé/valeur. La valeur par défaut est :
fluentbit_outputs:
  - Nom: stdout
    Correspondance: '*'
  • fluentbit_filters - liste des filtres. Chaque élément est un ensemble de paires clé/valeur. La valeur par défaut est []. Exemple :
---
- nom: Déployer le service fluent-bit
  hôtes: "{{ lookup('env', 'TARGET') }}"
  devenir: vrai
  rôles:
    - rôle: artem_shestakov.fluentbit
      version: "v1.0.0"
  vars:
    fluentbit_inputs:
      - Nom: forward
        Écouter: 0.0.0.0
        Port: 24224
      - Nom: syslog
        Balise: haproxy
        Chemin: /var/lib/haproxy/dev/log
        Unix_Perm: "0666"
    fluentbit_filters:
      - Nom: record_modifier
        Correspondance: "*"
        Enregistrement: hostname ${HOSTNAME}
      - Nom: parser
        Correspondance: "*"
        Nom_Cle: data
        Parser: syslog-rfc3164-local
    fluentbit_outputs:
      - Nom: es
        Correspondance: *
        Hôte: 192.168.2.3
        Port: 9200
        Index: my_index
        Type: my_type
    fluentbit_parsers:
      - Nom: syslog-rfc3164-local
        Format: regex
        Regex: ^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$
        Cle_Temps: time
        Format_Temps: '%b %d %H:%M:%S'
        Temps_Garder: On
  • fluentbit_parsers - liste des parsers. Chaque élément de parser est un ensemble de paires clé/valeur. La valeur par défaut est []. Exemple :
fluentbit_parsers:
  - Nom: named-capture-test
    Format: regex
    Regex: /^(?<date>[a-zA-Z]+ \d+ \d+\:\d+\:\d+) (?<message>.*)/m
  - Nom: docker
    Format: json
    Cle_Temps: time
    Format_Temps: "%Y-%m-%dT%H:%M:%S %z"
  • fluentbit_multiline_parsers - liste des parsers multilignes. Chaque élément de parser est un ensemble de paires clé/valeur. Chaque parser doit contenir une liste de règles. Chaque règle est un dictionnaire de trois éléments : nom_état, motif_regex et état_suivant. La valeur par défaut est []. Exemple :
fluentbit_multiline_parsers:
  - nom: test-regex-multiligne
    type: regex
    flush_timeout: 1000
    règles:
      - nom_état: start_state
        motif_regex: /([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/
        état_suivant: cont
      - nom_état: cont
        motif_regex: /^\s+at.*/
        état_suivant: cont

Exemple de Playbook

exemple ici

Licence

BSD

Informations sur l'auteur

Artem Shestakov artem.s.shestakov@yandex.ru

À propos du projet

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

Installer
ansible-galaxy install artem_shestakov.fluentbit
Licence
Unknown
Téléchargements
5.3k
Propriétaire