如何使用 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的IP或域名以接收]
port 24224
weight 50 # 在<server>部分设置负载均衡权重
</server>
<server>
name com2us.fluentd2
host [Server2的IP或域名以接收]
port 24224
weight 50 # 在<server>部分设置负载均衡权重
</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