配置应用日志采集策略
当您仅需实时查看集群中某些应用的 实时日志,而不希望存储这些日志(采集器会丢弃相应的日志)时,您可参考本节内容,设置停止采集的应用日志的范围(集群、命名空间、Pod),实现细粒度的应用日志采集控制。
前提条件
集群已部署 日志采集组件。
停止采集集群下所有应用日志
您可通过更新集群的 日志采集组件 的 配置参数,关闭 应用日志 采集开关,统一更新该集群的日志采集范围。当关闭某类型日志的采集开关后,将停止采集当前集群上该类型的所有日志。
停止采集指定命名空间下应用日志
通过为指定命名空间添加 cpaas.io/log.mute=true
标签,即可关闭该命名空间的应用日志采集开关,停止采集该命名空间下所有 Pod 的标准输出日志及文件日志。
可选配置方式如下:
-
命令行方式:登录集群的任一控制节点后,执行以下命令行更新命名空间的标签。
kubectl label namespace <命名空间名称> cpaas.io/log.mute=true
-
界面操作方式:在 项目管理 视图,更新命名空间的标签。
-
在 项目管理 视图的项目列表中,单击命名空间所在的 项目名称。
-
在左侧导航栏中,单击 命名空间 > 命名空间。
-
单击待更新标签的 命名空间名称。
-
在 详情信息 页签下,单击 标签 右侧
。
-
添加标签(键:
cpaas.io/log.mute
,值:true
)或修改已存在标签的值后,单击 更新。
-
停止采集 Pod 日志
通过为指定 Pod 添加 cpaas.io/log.mute=true
标签,即可关闭该 Pod 的日志采集开关,停止采集该 Pod 的标准输出日志及文件日志。
登录集群的任一控制节点后,执行以下命令行更新 Pod 的标签。
kubectl label pod <Pod 名称> -n <Namespace 名称> cpaas.io/log.mute=true
说明:若 Pod 属于计算组件(WorkLoad),可通过更新计算组件(部署、有状态副本集、守护进程集、任务、定时任务)的标签统一更新计算组件下所有 Pod 的标签,且标签不会因为 Pod 重建而丢失。
可通过以下方式更新计算组件的标签。
-
在 Container Platform 产品视图中,单击顶部导航栏切换至 Pod 所在命名空间。
-
在左侧导航栏中,单击 计算组件 > Pod 所属计算组件类型。
-
单击待更新标签计算组件右侧的
> 更新。
-
在右上角单击 YAML,切换至 YAML 编辑视图。
-
在 spec.template.labels 字段下,增加
cpaas.io/log.mute: 'true'
标签。示例如下:
spec: template: metadata: namespace: tuhao-test creationTimestamp: null labels: app: spilo cpaas.io/log.mute: 'true' cluster-name: acid-minimal-cluster role: exporter middleware.instance/name: acid-minimal-cluster middleware.instance/type: PostgreSQL
-
单击 更新。