2.3. 使用 Loki 创建基于日志的警报规则
AlertingRule CR 包含一组规格和 webhook 验证定义,用于声明单个 LokiStack 实例的警报规则组。另外,webhook 验证定义支持规则验证条件:
-
如果
AlertingRuleCR 包含无效的interval周期,则它是一个无效的警报规则 -
如果
AlertingRuleCR 包含无效的for周期,则它是一个无效的警报规则 -
如果
AlertingRuleCR 包含无效的 LogQLexpr,则它是一个无效的警报规则。 -
如果
AlertingRuleCR 包含两个同名的组,则它是一个无效的警报规则。 - 如果以上都不适用,则警报规则被视为有效。
| 租户类型 | AlertingRule CR 的有效命名空间 |
|---|---|
| audit |
|
| infrastructure |
|
| application | 所有其他命名空间。 |
先决条件
- Red Hat OpenShift Logging Operator 5.7 及更新的版本
- OpenShift Container Platform 4.13 及更新的版本
流程
创建
AlertingRule自定义资源 (CR):基础架构 AlertingRule CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 创建此
AlertingRuleCR 的命名空间必须具有与 LokiStackspec.rules.namespaceSelector定义匹配的标签。 - 2
labels块必须与 LokiStackspec.rules.selector定义匹配。- 3
基础架构租户的AlertingRuleCR 只在openshiftfluentd、kube channel或default命名空间中被支持。- 4
kubernetes_namespace_name:的值必须与metadata.namespace的值匹配。- 5
- 此必需字段的值必须是
critical、warning或info。 - 6
- 这个字段是必须的。
- 7
- 这个字段是必须的。
应用程序 AlertingRule CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
AlertingRuleCR:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow