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
集群角色的用户身份访问集群。
流程
创建
cluster-monitoring-config.yaml
文件来定义和配置ConfigMap
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
ConfigMap
:oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证用户工作负载的监控组件是否在
openshift-user-workload-monitoring
命名空间中运行:oc -n openshift-user-workload-monitoring get pod
$ oc -n openshift-user-workload-monitoring get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
prometheus-operator
、prometheus-user-workload
和 thanos-ruler-user-workload
等 Pod 的状态必须是 Running
。
10.7.2. 使用服务监控器为 SPIRE 服务器配置指标集合 复制链接链接已复制到粘贴板!
SPIRE 服务器操作对象默认在 /metrics
端点的端口 9402
上公开指标。您可以通过创建一个 ServiceMonitor
自定义资源 (CR) 来为 SPIRE 服务器配置指标集合,以便 Prometheus Operator 收集自定义指标。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已安装 Zero Trust Workload Identity Manager。
- 您已在集群中部署了 SPIRE 服务器操作对象。
- 您已启用了用户工作负载监控。
流程
创建
ServiceMonitor
CR:创建定义
ServiceMonitor
CR 的 YAML 文件:servicemonitor-spire-server
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ServiceMonitor
CR:oc create -f servicemonitor-spire-server.yaml
$ oc create -f servicemonitor-spire-server.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ServiceMonitor
CR 后,用户工作负载 Prometheus 实例从 SPIRE 服务器开始指标集合。收集的指标带有job="spire-server"
标签。
验证
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Targets。 在 Label 过滤字段中,输入以下标签来过滤指标目标:
service=spire-server
$ service=spire-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认 Status 列显示
spire-server-metrics
条目的Up
。
10.7.3. 使用服务监控器为 SPIRE 代理配置指标集合 复制链接链接已复制到粘贴板!
SPIRE Agent 操作对象默认在 /metrics
端点的端口 9402
上公开指标。您可以通过创建一个 ServiceMonitor
自定义资源 (CR) 来配置 SPIRE Agent 的指标集合,以便 Prometheus Operator 收集自定义指标。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 已安装 Zero Trust Workload Identity Manager。
- 您已在集群中部署了 SPIRE Agent 操作对象。
- 您已启用了用户工作负载监控。
流程
创建
ServiceMonitor
CR:创建定义
ServiceMonitor
CR 的 YAML 文件:servicemonitor-spire-agent.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ServiceMonitor
CR:oc create -f servicemonitor-spire-agent.yaml
$ oc create -f servicemonitor-spire-agent.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ServiceMonitor
CR 后,用户工作负载 Prometheus 实例从 SPIRE 代理开始收集指标。收集的指标标有job="spire-agent"。
验证
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Targets。 在 Label 过滤字段中,输入以下标签来过滤指标目标:
service=spire-agent
$ service=spire-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认
spire-agent-metrics
条目的 Status 显示为Up
。
10.7.4. 查询 Zero Trust Workload Identity Manager 的指标 复制链接链接已复制到粘贴板!
作为集群管理员,或者作为具有查看所有命名空间权限的用户,您可以使用 OpenShift Container Platform Web 控制台或命令行查询 SPIRE Agent 和 SPIRE Server 指标。查询检索从与指定作业标签匹配的 SPIRE 组件收集的所有指标。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 - 已安装 Zero Trust Workload Identity Manager。
- 您已在集群中部署了 SPIRE 服务器和 SPIRE Agent 操作对象。
-
您已通过创建
ServiceMonitor
对象来启用监控和指标集合。
流程
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Metrics。 在查询字段中,输入以下 PromQL 表达式来查询 SPIRE 服务器指标:
{job="spire-server"}
{job="spire-server"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在查询字段中,输入以下 PromQL 表达式来查询 SPIRE Agent 指标。
{job="spire-agent"}
{job="spire-agent"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow