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 控制台中查看管道日志:

流程

  1. 以集群管理员身份登录到 OpenShift Container Platform Web 控制台。
  2. 在菜单栏右上角,点击 grid 图标 → ObservabilityLogging。这时会显示 Kibana Web 控制台。
  3. 创建索引模式:

    1. Kibana Web 控制台左侧导航面板中,点击 Management
    2. 单击 Create index pattern
    3. Step 1 of 2: Define index patternIndex pattern 中输入一个 * 特征并点 Next Step
    4. Step 2 of 2: Configure settingsTime filter field name 中,从下来菜单中选择 @timestamp,点 Create index pattern
  4. 添加过滤器:

    1. Kibana Web 控制台左侧导航面板中,点 Discover
    2. Add a filter +Edit Query DSL

      注意
      • 对于以下每个示例过滤器,编辑查询并单击 Save
      • 这些过滤器会逐个应用。
      1. 过滤与管道相关的容器:

        过滤管道容器的查询示例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "app_kubernetes_io/managed-by=tekton-pipelines",
            	"type": "phrase"
          	}
        	}
          }
        }

      2. 过滤所有不是 place-tools 容器的容器。作为使用图形下拉菜单而不是编辑查询 DSL 的一个示例,请考虑以下方法:

        图 4.6. 使用下拉列表字段进行过滤示例

        Not place-tools
      3. 在标签中过滤 pipelinerun 以高亮显示:

        在标签中过滤 pipelinerun 的查询示例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipelineRun=",
            	"type": "phrase"
          	}
        	}
          }
        }

      4. 在标签中过滤 pipeline 以高亮显示:

        在标签中过滤 pipeline 以高亮显示的查询示例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipeline=",
            	"type": "phrase"
          	}
        	}
          }
        }

    3. Available fields 列表中,选择以下字段:

      • kubernetes.flat_labels
      • message

        确保所选字段显示在 Selected fields 列表下。

    4. 日志显示在 message 字段下。

      图 4.7. 过滤的消息

      过滤的消息

4.11.3. 其他资源