4.11. 使用 OpenShift Logging Operator 查看管道日志
管道运行、任务运行和事件侦听器生成的日志存储在其各自的 pod 中。检查和分析用于故障排除和审计的日志非常有用。
但是,保留 pod 不会造成不必要的资源消耗和杂乱的命名空间。
要消除对 pod 查看管道日志的依赖,您可以使用 OpenShift Elasticsearch Operator 和 OpenShift Logging Operator。这些 Operator 可帮助您使用 Elasticsearch Kibana 堆栈查看管道日志,即使您删除了包含日志的 pod。
4.11.1. 先决条件
在 Kibana 仪表板中尝试查看管道日志前,请确保以下内容:
- 步骤由集群管理员执行。
- 管道运行和任务运行的日志可用。
- 安装了 OpenShift Elasticsearch Operator 和 OpenShift Logging Operator。
4.11.2. 在 Kibana 中查看管道日志
在 Kibana web 控制台中查看管道日志:
流程
- 以集群管理员身份登录到 OpenShift Container Platform Web 控制台。
-
在菜单栏右上角,点击 grid 图标
Observability Logging。这时会显示 Kibana Web 控制台。 创建索引模式:
- 在 Kibana Web 控制台左侧导航面板中,点击 Management。
- 单击 Create index pattern。
-
在 Step 1 of 2: Define index pattern
Index pattern 中输入一个 *
特征并点 Next Step。 -
在 Step 2 of 2: Configure settings
Time filter field name 中,从下来菜单中选择 @timestamp,点 Create index pattern。
添加过滤器:
- 在 Kibana Web 控制台左侧导航面板中,点 Discover。
点 Add a filter +
Edit Query DSL。 注意- 对于以下每个示例过滤器,编辑查询并单击 Save。
- 这些过滤器会逐个应用。
过滤与管道相关的容器:
过滤管道容器的查询示例
{ "query": { "match": { "kubernetes.flat_labels": { "query": "app_kubernetes_io/managed-by=tekton-pipelines", "type": "phrase" } } } }
过滤所有不是
place-tools
容器的容器。作为使用图形下拉菜单而不是编辑查询 DSL 的一个示例,请考虑以下方法:图 4.6. 使用下拉列表字段进行过滤示例
在标签中过滤
pipelinerun
以高亮显示:在标签中过滤
pipelinerun
的查询示例{ "query": { "match": { "kubernetes.flat_labels": { "query": "tekton_dev/pipelineRun=", "type": "phrase" } } } }
在标签中过滤
pipeline
以高亮显示:在标签中过滤
pipeline
以高亮显示的查询示例{ "query": { "match": { "kubernetes.flat_labels": { "query": "tekton_dev/pipeline=", "type": "phrase" } } } }
从 Available fields 列表中,选择以下字段:
-
kubernetes.flat_labels
message
确保所选字段显示在 Selected fields 列表下。
-
日志显示在 message 字段下。
图 4.7. 过滤的消息