4.5. 为 Prometheus 启用查询日志文件

您可以将 Prometheus 配置为将引擎运行的所有查询写入到日志文件。对于默认平台监控和用户定义的工作负载监控,您可以这样做。

重要

由于不支持日志轮转,因此仅在需要对问题进行故障排除时才临时启用此功能。完成故障排除后,通过恢复您对 ConfigMap 对象所做的更改来禁用查询日志记录,以启用该功能。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 如果要在 openshift-monitoring 项目中为 Prometheus 启用查询日志文件功能

    • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
    • 您已创建 cluster-monitoring-config ConfigMap 对象。
  • 如果要在 openshift-user-workload-monitoring 项目中为 Prometheus 启用查询日志文件功能

    • 您可以使用具有 cluster-admin 集群角色的用户访问集群,也可以使用在 openshift-user-workload-monitoring 项目中具有 user-workload-monitoring-config-edit 角色的用户访问集群。
    • 您已创建了 user-workload-monitoring-config ConfigMap 对象。

流程

  • 要在 openshift-monitoring 项目中为 Prometheus 设置查询日志文件

    1. 编辑 openshift-monitoring 项目中的 cluster-monitoring-config ConfigMap 对象:

      $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
    2. data/config.yaml 下为 prometheusK8s 添加 queryLogFile: <path>:

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cluster-monitoring-config
        namespace: openshift-monitoring
      data:
        config.yaml: |
          prometheusK8s:
            queryLogFile: <path> 1
      1
      将在其中记录查询的文件的路径。
    3. 保存文件以使改变生效。

      警告

      当您将更改保存到监控配置映射时,可能会重新部署相关项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。

    4. 验证组件的 pod 是否正在运行。以下示例命令列出了 openshift-monitoring 项目中的 pod 状态:

      $ oc -n openshift-monitoring get pods
    5. 读取查询日志:

      $ oc -n openshift-monitoring exec prometheus-k8s-0 -- cat <path>
      重要

      在检查了记录的查询信息后,恢复配置映射的设置。

  • 要在 openshift-user-workload-monitoring 项目中为 Prometheus 设置查询日志文件

    1. openshift-user-workload-monitoring 项目中编辑 user-workload-monitoring-config ConfigMap 对象:

      $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
    2. data/config.yaml 下为 prometheus 添加 queryLogFile: <path>

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: user-workload-monitoring-config
        namespace: openshift-user-workload-monitoring
      data:
        config.yaml: |
          prometheus:
            queryLogFile: <path> 1
      1
      将在其中记录查询的文件的路径。
    3. 保存文件以使改变生效。

      注意

      除非集群管理员为用户定义的项目启用了监控,否则应用到 user-workload-monitoring-config ConfigMap 的配置不会被激活。

      警告

      当您将更改保存到监控配置映射时,可能会重新部署相关项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。

    4. 验证组件的 pod 是否正在运行。以下示例命令列出了 openshift-user-workload-monitoring 项目中的 pod 状态:

      $ oc -n openshift-user-workload-monitoring get pods
    5. 读取查询日志:

      $ oc -n openshift-user-workload-monitoring exec prometheus-user-workload-0 -- cat <path>
      重要

      在检查了记录的查询信息后,恢复配置映射的设置。

其他资源