通过 Sidecar 采集容器日志¶
Tailing Sidecar 是一个流式 Sidecar 容器, 是 Kubernetes 集群级的日志代理。Tailing Sidercar 可以在容器无法写入标准输出或标准错误流时,无需更改,即可自动收取和汇总容器内日志文件。
Insight 支持通过 Sidercar 模式采集日志,即在每个 Pod 中运行一个 Sidecar 容器将日志数据输出到标准输出流,以便 FluentBit 收集容器日志。
Insight Agent 中默认安装了 tailing-sidecar operator
。 若您想开启采集容器内文件日志,请通过给 Pod 添加注解进行标记,tailing-sidecar operator
将自动注入 Tailing Sidecar 容器, 被注入的 Sidecar 容器读取业务容器内的文件, 并输出到标准输出流。
具体操作步骤如下:
-
修改 Pod 的 YAML 文件,在
annotation
字段增加如下参数:metadata: annotations: tailing-sidecar: <sidecar-name-0>:<volume-name-0>:<path-to-tail-0>;<sidecar-name-1>:<volume-name-1>:<path-to-tail-1>
字段说明:
sidecar-name-0
:tailing sidecar 容器名称(可选,如果未指定容器名称将自动创建,它将以“tailing-sidecar”前缀开头)volume-name-0
:存储卷名称;path-to-tail-0
:日志的文件路径
Note
每个 Pod 可运行多个 Sidecar 容器,可以通过
;
隔离,实现不同 Sidecar 容器采集多个文件到多个存储卷。 -
重启 Pod,待 Pod 状态变成
运行中
后,则可通过日志查询
界面,查找该 Pod 的容器内日志。