Forwarderでのフィルター設定について #4779
-
やりたいことこんにちは すでに調べておりますが実現していません・・・ 設定した内容(WorkerノードのFluentの設定抜粋)
※全データを対象でkube.*のTAGがつく?!
input-kubernetes.conf: |
[INPUT]
Name tail
Tag kube.*
Path /var/log/containers/*.log
Parser cri
DB /var/log/flb_kube.db
Mem_Buf_Limit 5MB
Skip_Long_Lines On
Refresh_Interval 10
filter-kubernetes.conf: |
[FILTER]
Name kubernetes
Match kube.*
Kube_URL https://kubernetes.default.svc:443
Kube_CA_File /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Kube_Token_File /var/run/secrets/kubernetes.io/serviceaccount/token
Kube_Tag_Prefix kube.var.log.containers.
Merge_Log On
Merge_Log_Key log_processed
K8S-Logging.Parser On
K8S-Logging.Exclude Off
※Forwarderに全データを送信?!
output-forward.conf: |
[OUTPUT]
Name forward
Match *
Host ${FLUENT_FOWARD_HOST}
Port ${FLUENT_FOWARD_PORT}
Retry_Limit False
(Forwarderのログ収集サーバFluentdの設定)
※ /etc/fluent/fluent.conf全文です。
※ 順番が前後しているのがよくわかりません。
※ [filter]で設定なんでしょうね?!
###
## Output descriptions:
##
# Treasure Data (http://www.treasure-data.com/) provides cloud based data
# analytics platform, which easily stores and processes data from td-agent.
# FREE plan is also provided.
# @see http://docs.fluentd.org/articles/http-to-td
#
# This section matches events whose tag is td.DATABASE.TABLE
<match td.*.*>
@type tdlog
@id output_td
apikey YOUR_API_KEY
auto_create_table
<buffer>
@type file
path /var/log/fluent/buffer/td
</buffer>
<secondary>
@type secondary_file
directory /var/log/fluent/failed_records
</secondary>
</match>
## match tag=debug.** and dump to console
# (stdout)Logging in /var/log/fluentd.log by default maybe
#<match debug.**>
# @type stdout
# @id output_stdout
#</match>
<match *.**> ← ここで標準出力で/var/log/fluent/fluentd.logに書き込みか?!
@type stdout
@id output_stdout
</match>
####
## Source descriptions:
##
## built-in TCP input
## @see http://docs.fluentd.org/articles/in_forward
<source>
@type forward ← ここでローカル24225で受信のデータを取り込む設定か?!
@id input_forward
bind xxx.xxx.xxx.xxx
port 24225
</source>
## built-in UNIX socket input
#<source>
# type unix
#</source>
# HTTP input
# POST http://localhost:8888/<tag>?json=<json>
# POST http://localhost:8888/td.myapp.login?json={"user"%3A"me"}
# @see http://docs.fluentd.org/articles/in_http
<source>
@type http
@id input_http
port 8888
</source>
<filter debug.*>
@type record_transformer
<record>
host_param "#{Socket.gethostname}"
</record>
</filter>
<match debug.**>
@type file
path /var/log/fluent/http
</match>
## live debugging agent
<source>
@type debug_agent
@id input_debug_agent
bind 127.0.0.1
port 24230
</source>
####
## Examples:
##
## File input
## read apache logs continuously and tags td.apache.access
#<source>
# @type tail
# @id input_tail
# <parse>
# @type apache2
# </parse>
# path /var/log/httpd-access.log
# tag td.apache.access
#</source>
## File output
## match tag=local.** and write to file
#<match local.**>
# @type file
# @id output_file
# path /var/log/fluent/access
#</match>
## Forwarding
## match tag=system.** and forward to another fluentd server
#<match system.**>
# @type forward
# @id output_system_forward
#
# <server>
# host 192.168.0.11
# </server>
# # secondary host is optional
# <secondary>
# <server>
# host 192.168.0.12
# </server>
# </secondary>
#</match>
## Multiple output
## match tag=td.*.* and output to Treasure Data AND file
#<match td.*.*>
# @type copy
# @id output_copy
# <store>
# @type tdlog
# apikey API_KEY
# auto_create_table
# <buffer>
# @type file
# path /var/log/fluent/buffer/td
# </buffer>
# </store>
# <store>
# @type file
# path /var/log/fluent/td-%Y-%m-%d/%H.log
# </store>
#</match> ログの内容No response 環境について- Fluentd version:
fluent-package 5.0.5 fluentd 1.16.6 (fa1cfbb0335e7751a2fd5547897ab611484ee000)
- TD Agent version:
- Fluent Package version:
- Docker image (tag):
- Operating system:
- Kernel version: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
これは、次の <match *.**> ← ここで標準出力で/var/log/fluent/fluentd.logに書き込みか?!
@type stdout
@id output_stdout
</match>
その通りです。
Fluentdには様々なOutputプラグインがあり、 今使われているout_stdoutは、主に検証やデバッグ目的で使うものです。 例えばファイルに出力したいのならば をご利用ください。
補足ですが、検証にはin_sampleプラグインが便利です! 例えば次の設定でFluentdを動作させてみると、すぐにタグ毎と日付毎に分かれたファイルにログが出力されていくのを確かめられます。 <source>
@type sample
tag test.foo
</source>
<source>
@type sample
tag test.bar
</source>
<match test.**>
@type file
path /path/to/output/${tag}/%Y-%m-%d
append true
<buffer tag,time>
path /path/to/buffer/
flush_mode interval
flush_interval 5s
</buffer>
</match> |
Beta Was this translation helpful? Give feedback.
これは、次の
match
設定が働いているからです。その通りです。
Fluentdには様々なOutputプラグインがあり、
match
設定に利用できます。今使われているout_stdoutは、主に検証やデバッグ目的で使うものです。
出力先に応じて適切なOutputプラグインを選択して、活用してみてください。
例えばファイルに出力したいのならば
をご利用ください。
https://docs.fluentd.org/output/file#path に例がありますが、
パス設定にプレースホルダーを設定して、バッファーのキーに応じて動的にパスを振り分けさせることができます。
例えばタグと日付…