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_name
、regex_pattern
、next_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