2.5. 基于日志的警报
2.5.1. 授权 LokiStack 规则 RBAC 权限 复制链接链接已复制到粘贴板!
管理员可以允许用户通过将集群角色绑定到 username 来创建和管理自己的警报和记录规则。集群角色定义为 ClusterRole
对象,其中包含用户所需的基于角色的访问控制(RBAC)权限。
LokiStack 有以下用于警报和记录规则的集群角色:
运行名称 | 描述 |
---|---|
|
具有此角色的用户具有管理级别访问权限来管理警报规则。此集群角色授予在 |
|
具有此角色的用户可以查看与 |
|
具有此角色的用户有权创建、更新和删除 |
|
具有此角色的用户可以读取 |
|
具有此角色的用户具有管理记录规则的管理级别访问权限。此集群角色授予在 |
|
具有此角色的用户可以查看与 |
|
具有此角色的用户有权创建、更新和删除 |
|
具有此角色的用户可以读取 |
2.5.1.1. 例子 复制链接链接已复制到粘贴板!
要为用户应用集群角色,您必须将现有集群角色绑定到特定用户名。
集群角色可以是集群或命名空间范围,具体取决于您使用的角色绑定。使用 RoleBinding
对象时,如使用 oc adm policy add-role-to-user
命令时,集群角色仅适用于指定的命名空间。当使用 ClusterRoleBinding
对象时,如使用 oc adm policy add-cluster-role-to-user
命令时,集群角色会应用到集群中的所有命名空间。
以下示例命令为指定用户在集群中的特定命名空间中创建、读取、更新和删除(CRUD)权限:
特定命名空间中警报规则 CRUD 权限的集群角色绑定命令示例
oc adm policy add-role-to-user alertingrules.loki.grafana.com-v1-admin -n <namespace> <username>
$ oc adm policy add-role-to-user alertingrules.loki.grafana.com-v1-admin -n <namespace> <username>
以下命令为所有命名空间中的警报规则授予指定用户管理员权限:
管理员权限的集群角色绑定命令示例
oc adm policy add-cluster-role-to-user alertingrules.loki.grafana.com-v1-admin <username>
$ oc adm policy add-cluster-role-to-user alertingrules.loki.grafana.com-v1-admin <username>
2.5.2. 使用 Loki 创建基于日志的警报规则 复制链接链接已复制到粘贴板!
AlertingRule
CR 包含一组规格和 webhook 验证定义,用于声明单个 LokiStack
实例的警报规则组。另外,webhook 验证定义支持规则验证条件:
-
如果
AlertingRule
CR 包含无效的interval
周期,则它是一个无效的警报规则 -
如果
AlertingRule
CR 包含无效的for
周期,则它是一个无效的警报规则 -
如果
AlertingRule
CR 包含无效的 LogQLexpr
,则它是一个无效的警报规则。 -
如果
AlertingRule
CR 包含两个同名的组,则它是一个无效的警报规则。 - 如果以上都不适用,则警报规则被视为有效。
租户类型 | AlertingRule CR 的有效命名空间 |
---|---|
application |
|
audit |
|
infrastructure |
|
流程
创建
AlertingRule
自定义资源 (CR):基础架构
AlertingRule
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 创建此
AlertingRule
CR 的命名空间必须具有与 LokiStackspec.rules.namespaceSelector
定义匹配的标签。 - 2
labels
块必须与 LokiStackspec.rules.selector
定义匹配。- 3
infrastructure
租户的AlertingRule
CR 只在openshift-*
,kube-\*
, 或default
命名空间中被支持。- 4
kubernetes_namespace_name:
的值必须与metadata.namespace
的值匹配。- 5
- 此必需字段的值必须是
critical
、warning
或info
。 - 6
- 这个字段是必须的。
- 7
- 这个字段是必须的。
应用程序
AlertingRule
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
AlertingRule
CR:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow