?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
fluentd
日志記錄驅(qū)動程序發(fā)送容器日志到 Fluentd 集電極結(jié)構(gòu)化日志數(shù)據(jù)。然后,用戶可以使用 Fluentd 的各種輸出插件將這些日志寫入各個目標。
除了日志消息本身之外,fluentd
日志驅(qū)動程序還會在結(jié)構(gòu)化日志消息中發(fā)送以下元數(shù)據(jù):
領(lǐng)域(范疇) | 描述 |
---|---|
container_id | 完整的64個字符的容器 ID。 |
container_name | 容器名稱在啟動時。如果使用 docker rename 重命名容器,則新名稱不會反映在日記帳分錄中。 |
source | stdout 或 stderr |
docker logs
命令不適用于此日志記錄驅(qū)動程序。
通過根據(jù)需要指定--log-opt
多次來支持一些選項:
fluentd-address
:指定一個套接字地址來連接到 Fluentd 守護進程,ex fluentdhost:24224
或unix:///path/to/fluentd.sock
tag
:指定 fluentd 消息的標簽,其解釋一些標記,ex{{.ID}}
,{{.FullID}}
或{{.Name}}
docker.{{.ID}}
要將fluentd
驅(qū)動程序用作默認日志記錄驅(qū)動程序,請將該鍵log-driver
和log-opt
鍵設(shè)置daemon.json
為位于/etc/docker/
Linux 主機或C:\ProgramData\docker\config\daemon.json
Windows Server 上的文件中的適當值。有關(guān)+使用 Docker 配置的更多信息daemon.json
,請參閱+ daemon.json。
以下示例將日志驅(qū)動程序設(shè)置為fluentd
并設(shè)置fluentd-address
選項。
{ "log-driver": "fluentd", "log-opts": { "fluentd-address": "fluentdhost:24224" } }
重新啟動 Docker 以使更改生效。
要為特定容器設(shè)置日志記錄驅(qū)動程序,請將--log-driver
選項傳遞給docker run
:
docker run --log-driver=fluentd ...
在使用此日志記錄驅(qū)動程序之前,請啟動 Fluentd 守護進程。日志記錄驅(qū)動程序localhost:24224
默認連接到此守護程序。使用該fluentd-address
選項連接到不同的地址。
docker run --log-driver=fluentd --log-opt fluentd-address=fluentdhost:24224
如果容器無法連接到 Fluentd 守護進程,則容器將立即停止,除非使用該fluentd-async-connect
選項。
用戶可以使用該--log-opt NAME=VALUE
標志來指定其他 Fluentd 日志記錄驅(qū)動程序選項。
默認情況下,日志記錄驅(qū)動程序連接到localhost:24224
。提供fluentd-address
連接到不同地址的選項。支持tcp
(默認)和unix
套接字。
docker run --log-driver=fluentd --log-opt fluentd-address=fluentdhost:24224docker run --log-driver=fluentd --log-opt fluentd-address=tcp://fluentdhost:24224docker run --log-driver=fluentd --log-opt fluentd-address=unix:///path/to/fluentd.sock
以上兩項指定了相同的地址,因為它tcp
是默認的。
默認情況下,Docker 使用容器 ID 的前12個字符來標記日志消息。請參閱日志標記選項文檔以定制日志標記格式。
在labels
和env
選項各取一個逗號分隔的密鑰列表。如果label
和env
鍵之間存在沖突,env
則優(yōu)先。這兩個選項都將附加字段添加到日志消息的額外屬性中。
env-regex
選項類似于并兼容env
。它的值是一個正則表達式來匹配與日志相關(guān)的環(huán)境變量。它用于高級日志標記選項。
Docker 在后臺連接到 Fluentd。消息被緩存直到連接建立。
刷新到磁盤之前要緩沖的數(shù)據(jù)量。默認為容器可用的 RAM 數(shù)量。
重試之間需要等待多長時間。默認為1秒。
最大重試次數(shù)。默認為10。
關(guān)于Fluentd
本身,看到 項目的網(wǎng)頁 和 其文件。
要使用此日志記錄驅(qū)動程序,請在主機上啟動fluentd
守護程序。我們建議您使用Fluentd泊塢窗圖像。如果要在每臺主機上聚合多個容器日志,則此圖像特別有用,然后將日志傳輸?shù)搅硪粋€ Fluentd 節(jié)點以創(chuàng)建聚合存儲。
1. 寫一個配置文件(test.conf
)來轉(zhuǎn)儲輸入日志:<type> @type forward </ source> <match \ *> @type stdout </ match>
2. 使用此配置文件啟動 Fluentd 容器:
$ docker run -it -p 24224:24224 -v /path/to/conf/test.conf:/fluentd/etc/test.conf -e FLUENTD_CONF = test.conf fluent / fluentd:latest
3. 使用fluentd
日志記錄驅(qū)動程序啟動一個或多個容器:
$ docker run --log-driver=fluentd your/application