日志
目录
日志查询分析搜索日志导出日志数据查看日志上下文管理应用日志保留时间平台管理员设置保留策略项目管理员设置保留策略通过 CLI 设置保留策略配置部分应用日志停止采集停止采集集群中的所有应用日志停止采集特定命名空间中的应用日志停止采集 Pod 日志日志查询分析
在运维中心的日志查询分析图表中,您可以在登录账号的权限范围内查看其标准输出(stdout)日志,包括系统日志、产品日志、Kubernetes 日志和应用日志。通过这些日志,您可以深入了解资源的运行情况。
- 系统日志:来自主机节点的日志,例如:dmesg、syslog/messages、secure 等。
- 产品日志:来自平台自身组件以及与平台集成的第三方组件的日志,例如:Container-Platform、Platform-Center、DevOps、Service-Mesh 等。
- Kubernetes 日志:来自 Kubernetes 容器编排相关组件的日志,以及 kubelet、kubeproxy 和 docker 生成的日志,例如:docker、kube-apiserver、kube-controller-manager、etcd 等。
- 应用日志:来自业务应用的日志,包括文件日志和标准输出日志。
日志查询条件支持筛选指定时间范围内的日志(可选择或自定义),并通过柱状图和标准输出显示查询结果。
出于性能方面的考虑,平台一次最多显示 10,000 条日志。如果平台在一段时间内的日志量过大,请缩小查询时间范围,分阶段查询日志。
搜索日志
-
在左侧导航栏中,单击 运维中心 > 日志 > 日志查询分析。
-
选择指定的日志类型和查询条件,输入要检索的日志内容关键字,然后单击 搜索。
-
不同的日志类型允许选择的查询条件不同。
-
您可以选择或输入多个查询条件标签;不同资源类型的查询条件之间是 AND 关系。某些查询条件标签支持多选;选择后请确保按下
Enter键以提交选项。 -
查询条件支持模糊搜索;例如,查询条件为
pod = nginx时,可以检索nginx-1、nginx-2的日志。 -
日志内容搜索条件仅用于检索日志关键字,并支持使用
AND和OR参数进行关联查询。但是请注意,不要在单个查询中同时使用AND和OR参数。 -
柱状图显示当前查询时间范围内的日志总数,以及不同时间点的日志数量。单击图表中的柱状图,可以查看该柱与下一个柱之间时间范围内的日志。
导出日志数据
页面最多可显示 10,000 条日志记录。当检索到的日志数量过多时,您可以使用日志导出功能查看最多 100 万条日志记录。
-
单击柱状图右上角的导出按钮,并在弹出的导出日志对话框中配置以下参数。
-
范围:日志的导出范围,可选择当前页面或全部结果。
- 当前页面:仅导出当前页面上的查询结果,最多 1,000 条。
- 全部结果:导出符合当前查询条件的所有日志数据,最多 100 万条。
-
字段:日志的显示字段。您可以单击字段名称旁边的复选框,选择要在导出的日志文件中显示的字段信息。
注意:不同日志类型可选择的显示字段不同,请根据实际需求进行选择。
-
格式:日志文件的导出格式,支持
txt或csv。平台将以gzip压缩格式导出。
-
-
单击导出,浏览器将直接把压缩文件下载到本地计算机。
查看日志上下文
-
双击日志内容区域,当前对话框将显示当前日志打印时间前后各 5 条日志,帮助运维人员更好地了解资源生成当前日志的原因。
-
您可以设置日志上下文的显示字段或导出日志上下文。导出日志上下文时,无需选择范围;单击导出按钮后,浏览器将直接把日志上下文文件下载到本地计算机。
管理应用日志保留时间
未设置项目策略时,平台上的应用日志保留时间由安装应用所在集群中的 Alauda Container Platform Log Collector 时所选择的 Storage Cluster 上已安装的 Log Storage Plugin 的保留配置决定。存储侧的保留配置位于 PlatformLogForward.spec.clickhouse.ttl.workload(ClickHouse)中,或位于 OpenSearch 中对应的 ISM 策略中;请参阅安装。
您可以通过添加和管理项目日志策略,区分平台上 Application Logs 的保留时间。
项目策略仅适用于特定项目下的 Application Logs。设置项目策略后,该项目下所有应用日志的保留时间都将遵循项目策略。
如果存储集群使用 ClickHouse 且启用了 Cold and Hot Separate,项目级别的保留配置可以分别设置热数据和冷数据的保留时间。有关当前标签集和示例,请参阅如何设置项目冷数据的保留时间。
平台管理员设置保留策略
-
在左侧导航栏中,单击运维中心 > 日志 > 策略管理。
-
单击添加项目策略。
-
单击项目下拉框并选择项目。
-
设置日志保留时间。
- 使用计数器两侧的
-/+按钮减少/增加日志保留天数,或直接在计数器中输入数值。平台允许设置 1 至 30 天的保留时间范围。 - 如果输入值为小数,则会向上取整为整数;如果输入值小于 1,则会向上取整为 1,且
-按钮不可点击;如果输入值超过 30,则会向下取整为 30,且+按钮不可点击。
- 使用计数器两侧的
-
单击添加。
项目管理员设置保留策略
-
进入当前项目的项目详情页面。
-
单击日志策略字段旁边的编辑按钮,在弹窗中启用日志策略。
-
设置日志保留时间。
- 使用计数器两侧的
-/+按钮减少/增加日志保留天数,或直接在计数器中输入数值。平台允许设置 1 至 30 天的保留时间范围。 - 如果输入值为小数,则会向上取整为整数;如果输入值小于 1,则会向上取整为 1,且
-按钮不可点击;如果输入值超过 30,则会向下取整为 30,且+按钮不可点击。
通过 CLI 设置保留策略
-
登录
global集群并执行以下命令: -
按照以下示例修改 yaml,保存并提交。
在某些 ACP 4.2 环境中,为了兼容性,
cpaas.io/project.esIndicesKeepDays和cpaas.io/project.esPolicyEnabled等旧标签可能仍会共存。对于新配置,请使用上述新标签。
配置部分应用日志停止采集
如果您只需要查看集群中特定应用的实时日志,而不希望存储这些日志(采集器将丢弃相应日志),可以参考本节设置停止日志采集的范围(集群、命名空间、Pod),以便对应用日志采集进行精细化控制。
停止采集集群中的所有应用日志
您可以更新集群的 Alauda Container Platform 日志采集器的配置参数,关闭应用日志采集开关,从而统一更新该集群的日志采集范围。关闭某类日志的采集开关后,系统将停止采集当前集群中该类型的所有日志。
停止采集特定命名空间中的应用日志
您可以通过向指定命名空间添加标签 cpaas.io/log.mute=true,关闭该命名空间的日志采集开关,从而停止采集该命名空间中所有 Pod 的标准输出日志和文件日志。
可选的配置方式如下:
-
命令行方式:登录集群中的任意控制节点后,执行以下命令更新命名空间的标签。
-
界面操作方式:在项目管理视图中更新命名空间的标签。
-
在项目管理视图的项目列表中,单击命名空间所在的项目名称。
-
在左侧导航栏中,单击命名空间。
-
单击需要更新标签的命名空间名称。
-
在详情页签中,单击标签右侧的操作按钮。
-
添加标签(键:
cpaas.io/log.mute,值:true),或修改现有标签的值,然后单击更新。
-
停止采集 Pod 日志
您可以通过向指定 Pod 添加标签 cpaas.io/log.mute=true,关闭该 Pod 的日志采集开关,从而停止采集该 Pod 的标准输出日志和文件日志。
登录集群中的任意控制节点后,执行以下命令更新 Pod 的标签。
注意:如果 Pod 属于计算组件(Workload),您可以更新计算组件(Deployment、StatefulSet、DaemonSet、Job、CronJob)的标签,以统一更新该计算组件下所有 Pod 的标签,并且即使 Pod 重新创建,标签也不会丢失。
您可以通过以下方式更新计算组件的标签。
-
在容器平台产品视图中,单击顶部导航栏,切换到 Pod 所在的命名空间。
-
在左侧导航栏中,单击计算组件 > Pod 所属的计算组件类型。
-
单击要更新的计算组件右侧的操作按钮 > 更新。
-
单击右上角的 YAML,切换到 YAML 编辑视图。
-
在 spec.template.labels 字段下添加
cpaas.io/log.mute: 'true'标签。示例:
-
单击更新。