如何使用 Fluentd
本指南描述了如何通过fluentd发送在Analytics v2中使用的用户确定性日志。
Fluentd 安装¶
Note
- 我们建议安装 td-agent 版本 1.x.
- td-agent 库为每种语言提供。 (https://docs.fluentd.org/language-bindings)
安装 td-agent¶
- 编辑 td-agent 设置文件
Fluentd 默认设置¶
- 日志文件: 日志文件的默认路径是
/var/log/td-agent
,td-agent.log 文件位于子文件夹中。 - 事件: 在 fluentd 中,事件 意味着记录和日志。
- 源:
- 匹配: 它处理通过
Fluentd 插件¶
- 检查并安装插件: 在检查插件列表后安装所需的插件。 (默认提供的插件有
tail
、forward
和stdout
,但其他插件如forest
需要单独安装。)
$ td-agent-gem list #检查插件列表
# 可以按照格式td-agent-gem install [你想要的插件]来安装插件
$ td-agent-gem install fluent-plugin-forest # 安装fluent-plugin-forest插件
- 标签: 标签 是一个由 事件 组成的值,
<match>
部分处理与 标签 匹配的值。
# 标签的使用示例
<source>
@type tail
tag ha2union.game.com2us # 将此标签附加到通过 in_tail 发送的事件
path /var/log/sample.log
</source>
# 通过源传输的输入事件被发送到与事件标签映射的匹配标签。
<match ha2union.game.com2us>
@type stdout
<match>
[输入插件]¶
- in_tail: in_tail 插件通过使用
tail
命令读取数据。
<source>
@type tail
path /var/log/com2us.log # 读取路径,例如文件
pos_file /var/log/fluent/com2us_posfile.log.pos # 记录最后读取的部分
tag ha2union.game.com2us # 事件标签。将标签附加到发送事件。
</source>
# pos_file: 重新执行fluentd时,从最后读取的部分处理文件。
- in_forward: 通常用于接收来自其他fluentd节点的数据。
<source>
@type forward
port 24224 # Port to send ( default : 24224 )
bind 0.0.0.0 # Bind address to send ( default : 0.0.0.0(all of address))
</source>
[输出插件]¶
Note
在
output\_stdout
: 导出事件日志,使用stdout
,主要用于调试。
output\_forward
: 用于将事件日志发送到其他 fluentd 节点时使用。
<match <i></i>>
@type forward
<server>
name com2us.fluentd1
host [Server1's IP or domain for receiving]
port 24224
weight 50 # Set up the load balancing weight in the <server> section
</server>
<server>
name com2us.fluentd2
host [Server2's IP or domain for receiving]
port 24224
weight 50 # Set up the load balancing weight in the <server> section
</server>
</match>
fluent-plugin-forest
: 允许使用标签名称保存日志文件。 (通过以下设置,可以将日志保存在本地。)
<store>
@type forest
subtype file
<template>
time_slice_format %Y%m%d%H
time_slice_wait 10s
path /com2us/log/td-agent/data/${tag}/${tag}.*.log
compress gz
format json
</template>
</store>
fluentd 的使用示例¶
使用fluentd可以通过以下方法发送日志。有关更多详细信息,请点击下面的链接。
编辑设置¶
- 检查
td-agent.conf
上下文
- 重新启动 td-agent