10.7. 监控 Zero Trust Workload Identity Manager


默认情况下,Zero Trust Workload Identity Manager 的 SPIRE Server 和 SPIRE Agent 组件会发出指标。您可以使用 Prometheus Operator 格式将 OpenShift Monitoring 配置为收集这些指标。

10.7.1. 启用用户工作负载监控

您可以通过在集群中配置用户工作负载监控来启用对用户定义的项目的监控。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。

流程

  1. 创建 cluster-monitoring-config.yaml 文件来定义和配置 ConfigMap

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        enableUserWorkload: true
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令来应用 ConfigMap

    $ oc apply -f cluster-monitoring-config.yaml
    Copy to Clipboard Toggle word wrap

验证

  • 验证用户工作负载的监控组件是否在 openshift-user-workload-monitoring 命名空间中运行:

    $ oc -n openshift-user-workload-monitoring get pod
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                   READY   STATUS    RESTARTS   AGE
    prometheus-operator-6cb6bd9588-dtzxq   2/2     Running   0          50s
    prometheus-user-workload-0             6/6     Running   0          48s
    prometheus-user-workload-1             6/6     Running   0          48s
    thanos-ruler-user-workload-0           4/4     Running   0          42s
    thanos-ruler-user-workload-1           4/4     Running   0          42s
    Copy to Clipboard Toggle word wrap

prometheus-operatorprometheus-user-workloadthanos-ruler-user-workload 等 Pod 的状态必须是 Running

SPIRE 服务器操作对象默认在 /metrics 端点的端口 9402 上公开指标。您可以通过创建一个 ServiceMonitor 自定义资源 (CR) 来为 SPIRE 服务器配置指标集合,以便 Prometheus Operator 收集自定义指标。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 已安装 Zero Trust Workload Identity Manager。
  • 您已在集群中部署了 SPIRE 服务器操作对象。
  • 您已启用了用户工作负载监控。

流程

  1. 创建 ServiceMonitor CR:

    1. 创建定义 ServiceMonitor CR 的 YAML 文件:

      servicemonitor-spire-server 文件示例

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app.kubernetes.io/name: server
          app.kubernetes.io/instance: spire
        name: spire-server-metrics
        namespace: zero-trust-workload-identity-manager
      spec:
        endpoints:
        - port: metrics
          interval: 30s
          path: /metrics
        selector:
          matchLabels:
            app.kubernetes.io/name: server
            app.kubernetes.io/instance: spire
        namespaceSelector:
          matchNames:
          - zero-trust-workload-identity-manager
      Copy to Clipboard Toggle word wrap

    2. 运行以下命令来创建 ServiceMonitor CR:

      $ oc create -f servicemonitor-spire-server.yaml
      Copy to Clipboard Toggle word wrap

      创建 ServiceMonitor CR 后,用户工作负载 Prometheus 实例从 SPIRE 服务器开始指标集合。收集的指标带有 job="spire-server" 标签。

验证

  1. 在 OpenShift Container Platform web 控制台中进入到 Observe Targets
  2. Label 过滤字段中,输入以下标签来过滤指标目标:

    $ service=spire-server
    Copy to Clipboard Toggle word wrap
  3. 确认 Status 列显示 spire-server-metrics 条目的 Up

SPIRE Agent 操作对象默认在 /metrics 端点的端口 9402 上公开指标。您可以通过创建一个 ServiceMonitor 自定义资源 (CR) 来配置 SPIRE Agent 的指标集合,以便 Prometheus Operator 收集自定义指标。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 已安装 Zero Trust Workload Identity Manager。
  • 您已在集群中部署了 SPIRE Agent 操作对象。
  • 您已启用了用户工作负载监控。

流程

  1. 创建 ServiceMonitor CR:

    1. 创建定义 ServiceMonitor CR 的 YAML 文件:

      servicemonitor-spire-agent.yaml 文件示例

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        labels:
          app.kubernetes.io/name: agent
          app.kubernetes.io/instance: spire
        name: spire-agent-metrics
        namespace: zero-trust-workload-identity-manager
      spec:
        endpoints:
        - port: metrics
          interval: 30s
          path: /metrics
        selector:
          matchLabels:
            app.kubernetes.io/name: agent
            app.kubernetes.io/instance: spire
        namespaceSelector:
          matchNames:
          - zero-trust-workload-identity-manager
      Copy to Clipboard Toggle word wrap

    2. 运行以下命令来创建 ServiceMonitor CR:

      $ oc create -f servicemonitor-spire-agent.yaml
      Copy to Clipboard Toggle word wrap

      创建 ServiceMonitor CR 后,用户工作负载 Prometheus 实例从 SPIRE 代理开始收集指标。收集的指标标有 job="spire-agent"。

验证

  1. 在 OpenShift Container Platform web 控制台中进入到 Observe Targets
  2. Label 过滤字段中,输入以下标签来过滤指标目标:

    $ service=spire-agent
    Copy to Clipboard Toggle word wrap
  3. 确认 spire-agent-metrics 条目的 Status 显示为 Up

作为集群管理员,或者作为具有查看所有命名空间权限的用户,您可以使用 OpenShift Container Platform Web 控制台或命令行查询 SPIRE Agent 和 SPIRE Server 指标。查询检索从与指定作业标签匹配的 SPIRE 组件收集的所有指标。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 Zero Trust Workload Identity Manager。
  • 您已在集群中部署了 SPIRE 服务器和 SPIRE Agent 操作对象。
  • 您已通过创建 ServiceMonitor 对象来启用监控和指标集合。

流程

  1. 在 OpenShift Container Platform web 控制台中进入到 Observe Metrics
  2. 在查询字段中,输入以下 PromQL 表达式来查询 SPIRE 服务器指标:

    {job="spire-server"}
    Copy to Clipboard Toggle word wrap
  3. 在查询字段中,输入以下 PromQL 表达式来查询 SPIRE Agent 指标。

    {job="spire-agent"}
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat