该fluentd日志记录驱动程序发送容器日志到 Fluentd集电极结构化日志数据。然后,用户可以使用Fluentd的各种输出插件中的任何一个将这些日志写入各个目的地。
除了日志消息本身之外,fluentd日志驱动程序还会在结构化日志消息中发送以下元数据:
选项 描述
container_id 完整的 64 个字符的容器 ID。
container_name 启动时的容器名称。如果您使用docker rename重命名容器,则新名称不会反映在日记帐分录中。
source stdout 或者 stderr
log 容器日志
该docker logs命令不可用于此日志记录驱动程序。
用法
通过--log-opt根据需要指定多次来支持某些选项:
fluentd-address: 指定一个套接字地址以连接到 Fluentd 守护进程,例如fluentdhost:24224或unix:///path/to/fluentd.sock
tag:指定fluentd消息的标签,其解释一些标记,离{{.ID}},{{.FullID}}或{{.Name}} docker.{{.ID}}
要将fluentd驱动程序用作默认日志记录驱动程序,请将log-driver 和log-opt键设置为daemon.json文件中的适当值,该文件位于/etc/docker/Linux 主机或 C:\ProgramData\docker\config\daemon.jsonWindows 服务器上。有关 +configuring Docker using 的更多信息daemon.json,请参阅 + daemon.json。
以下示例将日志驱动程序fluentd设置为并设置 fluentd-address选项。
{
"log-driver": "fluentd",
"log-opts": {
"fluentd-address": "fluentdhost:24224"
}
}
重新启动 Docker 以使更改生效。
要为特定容器设置日志驱动程序,请将--log-driver选项传递 给docker run:
docker run --log-driver=fluentd ...
在使用这个日志驱动程序之前,启动一个 Fluentd 守护进程。localhost:24224默认情况下,日志驱动程序连接到此守护程序。使用该 fluentd-address选项连接到不同的地址。
docker run --log-driver=fluentd --log-opt fluentd-address=fluentdhost:24224
如果容器无法连接到 Fluentd 守护程序,除非使用该fluentd-async选项,否则容器会立即停止。