artem_shestakov.fluentbit

Ansible Fluent-bit ロール

Fluent-bit をインストールして設定するシンプルなロールです。

ロール変数

設定

名前 説明 デフォルト
fluentbit_config_path 設定ファイルとパーサーファイルのパス /etc/fluent-bit
fluentbit_flush フラッシュ時間を秒.ナノ秒で設定します。エンジンループは、入力プラグインから取得したレコードを定義された出力プラグインを使用してフラッシュする必要がある時刻を定義するためにフラッシュタイムアウトを使用します。 5
fluentbit_grace 終了時の待機時間を秒として整数値で設定します。エンジンループは、終了時の待機時間を定義するためにグレイスタイムアウトを使用します。 5
fluentbit_daemon Fluent Bit をデーモン(バックグラウンド)として実行するかどうかを設定するブール値。許可される値は: yes, no, on, off off
fluentbit_dns_mode 非同期 DNS リゾルバーに使用される主要なトランスポート層プロトコルを設定します。プラグインごとにオーバーライド可能です。 UDP
fluentbit_log_file オプションのログファイルの絶対パス。デフォルトでは、すべてのログが標準エラーインターフェース(stderr)にリダイレクトされます。
fluentbit_log_level ログの冗長性レベルを設定します。 info
fluentbit_http_server 内蔵 HTTP サーバーを有効にします off
fluentbit_http_listen HTTP サーバーが有効なときのリッスンインターフェースを設定します 0.0.0.0
fluentbit_http_port HTTP サーバー用の TCP ポートを設定します 2020
fluentbit_coro_stack_size コルーチンのスタックサイズをバイトで設定します。値は、実行中のシステムのページサイズより大きくする必要があります。あまり小さな値(例: 4096)は設定しないでください。さもなければ、コルーチンスレッドがスタックバッファをオーバーランする可能性があります。このパラメータのデフォルト値を変えないでください。 24576
fluentbit_scheduler_cap 最大リトライ時間を秒で設定します。このプロパティは v1.8.7 からサポートされています。 2000
fluentbit_scheduler_base 指数バックオフのベースを設定します。このプロパティは v1.8.7 からサポートされています。 5
fluentbit_inputs 入力セクションは、ソース(入力プラグインに関連)を定義します 名前: forward
リッスン: 0.0.0.0
ポート: 24224
fluentbit_outputs 出力セクションは、特定のレコードがタグ一致の後に従うべき宛先を指定します 名前: stdout
一致: '*'

パイプライン

  • fluentbit_inputs - 入力(ソース)のリストです。各入力の要素は、キー/バリューディクショナリのコレクションです。デフォルト値は以下です:
fluentbit_inputs:
  - Name: forward
    Listen: 0.0.0.0
    Port: 24224
  • fluentbit_outputs - 出力(シンク)のリストです。各出力の要素は、キー/バリューディクショナリのコレクションです。デフォルト値は以下です:
fluentbit_outputs:
  - Name: stdout
    Match: '*'
  • fluentbit_filters - フィルターのリストです。各要素は、キー/バリューディクショナリのコレクションです。デフォルト値は [] です。例:
---
- name: 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 - パーサーのリストです。各要素は、キー/バリューディクショナリのコレクションです。デフォルト値は [] です。例:
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 - マルチラインのパーサーのリストです。各要素は、キー/バリューディクショナリのコレクションです。すべてのパーサーは rules のリストを含む必要があります。各ルールは、3つの要素を持つ辞書: state_nameregex_patternnext_state で構成されます。デフォルト値は [] です。例:
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

例プレイブック

ここに例

ライセンス

BSD

著者情報

Artem Shestakov artem.s.shestakov@yandex.ru

プロジェクトについて

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

インストール
ansible-galaxy install artem_shestakov.fluentbit
ライセンス
Unknown
ダウンロード
5.3k
所有者