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 derè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