1.3. 为用户定义的项目启用警报路由
在 OpenShift Container Platform 中,管理员可以为用户定义的项目启用警报路由。这个过程由以下步骤组成:
为用户定义的项目启用警报路由:
- 使用默认平台 Alertmanager 实例。
- 仅对用户定义的项目使用单独的 Alertmanager 实例。
- 授予用户权限来为用户定义的项目配置警报路由。
完成这些步骤后,开发人员和其他用户可以为用户定义的项目配置自定义警报和警报路由。
1.3.1. 为用户定义的警报路由启用平台 Alertmanager 实例 复制链接链接已复制到粘贴板!
您可以允许用户创建使用 Alertmanager 主平台实例的用户定义警报路由配置。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 - 集群管理员为用户定义的项目启用了监控。
-
已安装 OpenShift CLI(
oc)。
流程
编辑
cluster-monitoring-configConfigMap对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config在
data/config.yaml下添加alertmanagerMain部分中的enableUserAlertmanagerConfig: true:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | # ... alertmanagerMain: enableUserAlertmanagerConfig: true1 # ...- 1
- 将
enableUserAlertmanagerConfig值设置为true,以便用户创建使用 Alertmanager 主平台实例的用户定义警报路由配置。
- 保存文件以使改变生效。新的配置会被自动应用。
1.3.2. 为用户定义的警报路由启用一个单独的 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在
data/config.yaml下,添加alertmanager部分的enabled: true和enableAlertmanagerConfig: true:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | alertmanager: enabled: true1 enableAlertmanagerConfig: true2 - 保存文件以使改变生效。用于用户定义的项目的 Alertmanager 专用实例会自动启动。
验证
验证
user-workloadAlertmanager 实例是否已启动:$ oc -n openshift-user-workload-monitoring get alertmanager输出示例
NAME VERSION REPLICAS AGE user-workload 0.24.0 2 100s
1.3.3. 授予用户权限来为用户定义的项目配置警报路由 复制链接链接已复制到粘贴板!
您可以授予用户权限来为用户定义的项目配置警报路由。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 - 您已为用户定义的项目启用了监控。
- 要将角色分配到的用户帐户已存在。
-
已安装 OpenShift CLI(
oc)。
流程
将
alert-routing-edit集群角色分配给用户定义的项目中的用户:$ oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user>1 - 1
- 对于
<namespace>,替换用户定义的项目的命名空间,如ns1。对于<user>,替换您要为其分配该角色的帐户的用户名。