$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
在 AWS 上的 Red Hat OpenShift Service 中,dedicated-admin
可以为用户定义的项目启用警报路由。此过程包含两个主要步骤
启用用户定义的项目警报路由以使用单独的 Alertmanager 实例。
授予用户配置用户定义项目警报路由的权限。
完成这些步骤后,开发人员和其他用户可以为其用户定义的项目配置自定义警报和警报路由。
作为dedicated-admin
,您可以为用户定义的项目启用警报路由。通过此功能,您可以允许具有alert-routing-edit角色的用户为用户定义的项目配置警报通知路由和接收者。这些通知由专用于用户定义监控的 Alertmanager 实例路由。
然后,用户可以通过创建或编辑其用户定义项目的AlertmanagerConfig
对象来创建和配置用户定义的警报路由,而无需管理员的帮助。
用户为用户定义的项目定义警报路由后,用户定义的警报通知将路由到openshift-user-workload-monitoring
命名空间中的alertmanager-user-workload
pod。
以下是用户定义项目警报路由的限制
|
在 AWS 上的 Red Hat OpenShift Service 中,您可能希望为用户定义的项目部署一个专用的 Alertmanager 实例,该实例提供与默认平台警报分离的用户定义警报。在这些情况下,您可以选择启用单独的 Alertmanager 实例来仅发送用户定义项目的警报。
您可以作为具有dedicated-admin
角色的用户访问集群。
user-workload-monitoring-config
ConfigMap
对象存在。此对象在创建集群时默认创建。
您已安装 OpenShift CLI (oc
)。
编辑user-workload-monitoring-config
ConfigMap
对象
$ 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: true (1)
enableAlertmanagerConfig: true (2)
1 | 将enabled 值设置为true 可在集群中为用户定义的项目启用专用的 Alertmanager 实例。将其值设置为false 或完全省略该键可禁用用户定义项目的 Alertmanager。如果将此值设置为false 或省略该键,则用户定义的警报将路由到默认的平台 Alertmanager 实例。 |
2 | 将enableAlertmanagerConfig 值设置为true 以允许用户使用AlertmanagerConfig 对象定义自己的警报路由配置。 |
保存文件以应用更改。专用的用户定义项目 Alertmanager 实例将自动启动。
验证alert-manager-user-workload
pod 是否正在运行
# oc -n openshift-user-workload-monitoring get pods
NAME READY STATUS RESTARTS AGE
alertmanager-user-workload-0 6/6 Running 0 38s
alertmanager-user-workload-1 6/6 Running 0 38s
...
您可以授予用户配置用户定义项目警报路由的权限。
您可以作为具有dedicated-admin
角色的用户访问集群。
user-workload-monitoring-config
ConfigMap
对象存在。此对象在创建集群时默认创建。
您要为其分配角色的用户帐户已存在。
您已安装 OpenShift CLI (oc
)。
将alert-routing-edit
集群角色分配给用户定义项目中的用户
$ oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user> (1)
1 | 对于<namespace> ,请替换用户定义项目的命名空间,例如ns1 。对于<user> ,请替换要为其分配角色的帐户的用户名。 |