第 3 章 配置用户工作负载监控
3.1. 准备配置用户工作负载监控堆栈 复制链接链接已复制到粘贴板!
本节介绍可以配置哪些用户定义的监控组件,以及如何准备配置用户工作负载监控堆栈。
- 并非所有监控堆栈的配置参数都会被公开。只有在 Cluster Monitoring Operator 的 Config map 引用中列出的参数和字段才支持进行配置。
您无法因为 Cluster Monitoring Operator 的要求禁用工作负载监控。
3.1.1. 可配置的监控组件 复制链接链接已复制到粘贴板!
下表显示了您可以配置的监控组件,以及 user-workload-monitoring-config 配置映射中用来指定这些组件的键。
| 组件 | user-workload-monitoring-config 配置映射键 |
|---|---|
| Prometheus Operator |
|
| Prometheus |
|
| Alertmanager |
|
| Thanos Ruler |
|
ConfigMap 对象的不同配置更改会导致不同的结果:
- Pod 不会重新部署。因此,没有服务中断。
受影响的 pod 被重新部署:
- 对于单节点集群,这会导致临时服务中断。
- 对于多节点集群,因为高可用性,受影响的 pod 会逐渐推出,监控堆栈仍然可用。
- 无论高可用性如何,配置和重新定义持久性卷的大小始终会导致服务中断。
每个需要更改配置映射中的步骤都包括其预期的结果。
3.1.2. 为用户定义的项目启用警报路由 复制链接链接已复制到粘贴板!
在 Red Hat OpenShift Service on AWS 中,管理员可以为用户定义的项目启用警报路由。这个过程由以下步骤组成:
- 为用户定义的项目启用警报路由,以使用单独的 Alertmanager 实例。
- 授予用户权限来为用户定义的项目配置警报路由。
完成这些步骤后,开发人员和其他用户可以为用户定义的项目配置自定义警报和警报路由。
3.1.2.1. 为用户定义的警报路由启用一个单独的 Alertmanager 实例 复制链接链接已复制到粘贴板!
在一些集群中,您可能想要为用户定义的项目部署专用 Alertmanager 实例,这有助于降低默认平台 Alertmanager 实例的负载,并更好地将用户定义的警报与默认平台警报分开。在这些情况下,您可以选择性地启用一个单独的 Alertmanager 实例,以仅为用户定义的项目发送警报。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 - 您已为用户定义的项目启用了监控。
-
已安装 OpenShift CLI(
oc)。
流程
编辑
user-workload-monitoring-configConfigMap对象:oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
data/config.yaml下,添加alertmanager部分的enabled: true和enableAlertmanagerConfig: true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存文件以使改变生效。用于用户定义的项目的 Alertmanager 专用实例会自动启动。
验证
验证
user-workloadAlertmanager 实例是否已启动:oc -n openshift-user-workload-monitoring get alertmanager
$ oc -n openshift-user-workload-monitoring get alertmanagerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION REPLICAS AGE user-workload 0.24.0 2 100s
NAME VERSION REPLICAS AGE user-workload 0.24.0 2 100sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2.2. 授予用户权限来为用户定义的项目配置警报路由 复制链接链接已复制到粘贴板!
您可以授予用户权限来为用户定义的项目配置警报路由。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 - 您已为用户定义的项目启用了监控。
- 要将角色分配到的用户帐户已存在。
-
已安装 OpenShift CLI(
oc)。
流程
将
alert-routing-edit集群角色分配给用户定义的项目中的用户:oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user>
$ oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
<namespace>,替换用户定义的项目的命名空间,如ns1。对于<user>,替换您要为其分配该角色的帐户的用户名。