28. 修改代理日志级别

发送日志对于网络代理来说是一项昂贵的操作, 默认情况下,Linkerd 数据平面代理配置为仅记录异常事件。 但是,有时增加代理日志的详细程度以帮助诊断代理行为很有用。 令人高兴的是,Linkerd 允许您动态修改这些日志。

Linkerd proxy 的日志级别可以通过在 admin-port 上 使用代理的 /proxy-log-level 端点来动态修改。

例如,要将 pod 的代理日志级别更改为 debug, 请运行(替换 ${POD:?} 或使用 pod 名称设置环境变量 POD):

kubectl port-forward ${POD:?} linkerd-admin
curl -v --data 'linkerd=debug' -X PUT localhost:4191/proxy-log-level

其中,linkerd-admin 是注入的 sidecar-proxyadmin-port(默认为 4191)的名称。

可以使用 kubectl logs ${POD:?} 查看生成的日志。

如果对代理日志级别的更改应在 pod 的生命周期后保留, 请将 config.linkerd.io/proxy-log-level annotation 添加 到 pod 模板(或其他选项,请参阅 reference)。

代理日志级别的语法可以在代理日志级别 reference中找到。

请注意,日志记录对代理吞吐量(proxy throughput)有明显的负面影响。 如果 pod 将继续为生产流量提供服务,您可能希望在完成后重置日志级别。