如何将标志传递给 klog 以进行结构化日志记录
How to pass a flag to klog for structured logging
作为 kubernetes 1.19 的一部分,structured logging 已经实现。
我 read kubernetes 日志引擎是 klog
并且结构化日志遵循以下格式:
<klog header> "<message>" <key1>="<value1>" <key2>="<value2>" ...
酷!但更好的是,您显然可以将 --logging-format=json
标志传递给 klog
,以便直接在 json
中生成日志!
{
"ts": 1580306777.04728,
"v": 4,
"msg": "Pod status updated",
"pod":{
"name": "nginx-1",
"namespace": "default"
},
"status": "ready"
}
不幸的是,我无法找到我应该如何以及在何处指定 --logging-format=json
标志。
它是kubectl
命令吗?我正在使用 Azure 的 aks。
--logging-format=json
是一个标志,需要在所有 Kuberentes 系统组件(Kubelet、API-Server、Controller-Manager & Scheduler)上设置。您可以检查所有标志 here.
遗憾的是,您现在无法使用 AKS 执行此操作,因为您拥有来自 Microsoft 的托管控制平面。
作为 kubernetes 1.19 的一部分,structured logging 已经实现。
我 read kubernetes 日志引擎是 klog
并且结构化日志遵循以下格式:
<klog header> "<message>" <key1>="<value1>" <key2>="<value2>" ...
酷!但更好的是,您显然可以将 --logging-format=json
标志传递给 klog
,以便直接在 json
中生成日志!
{
"ts": 1580306777.04728,
"v": 4,
"msg": "Pod status updated",
"pod":{
"name": "nginx-1",
"namespace": "default"
},
"status": "ready"
}
不幸的是,我无法找到我应该如何以及在何处指定 --logging-format=json
标志。
它是kubectl
命令吗?我正在使用 Azure 的 aks。
--logging-format=json
是一个标志,需要在所有 Kuberentes 系统组件(Kubelet、API-Server、Controller-Manager & Scheduler)上设置。您可以检查所有标志 here.
遗憾的是,您现在无法使用 AKS 执行此操作,因为您拥有来自 Microsoft 的托管控制平面。