云计算核心技术Docker教程:Docker使用Fluentd 日志驱动程序

2022-11-03

该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选项,否则容器会立即停止。

您好!请登录

点击取消回复