告警规则的定义分为三部分。
-
告警规则:定义了触发告警所考虑的条件。
-
webhook:当告警触发时,被调用的服务端点列表。
-
gRPCHook:当告警触发时,被调用的远程gRPC方法的主机和端口。
-
Slack Chat Hook:当告警触发时,被调用的Slack Chat接口。
-
微信 Hook:当告警触发时,被调用的微信接口。
-
钉钉 Hook:当告警触发时,被调用的钉钉接口。
告警规则
告警规则有两种类型,单独规则(Individual Rules)和复合规则(Composite Rules),复合规则是单独规则的组合。
单独规则(Individual Rules)
单独规则主要有以下几点:
-
规则名称:在告警信息中显示的唯一名称,必须以
_rule
结尾。 -
metrics-name:度量名称,也是OAL脚本中的度量名。默认配置中可以用于告警的度量有:服务,实例,端点,服务关系,实例关系,端点关系。它只支持long,double和int类型。
-
include-names:包含在此规则之内的实体名称列表。
-
exclude-names:排除在此规则以外的实体名称列表。
-
include-names-regex:提供一个正则表达式来包含实体名称。如果同时设置包含名称列表和包含名称的正则表达式,则两个规则都将生效。
-
exclude-names-regex:提供一个正则表达式来排除实体名称。如果同时设置排除名称列表和排除名称的正则表达式,则两个规则都将生效。
-
include-labels:包含在此规则之内的标签。
-
exclude-labels:排除在此规则以外的标签。
-
include-labels-regex:提供一个正则表达式来包含标签。如果同时设置包含标签列表和包含标签的正则表达式,则两个规则都将生效。
-
exclude-labels-regex:提供一个正则表达式来排除标签。如果同时设置排除标签列表和排除标签的正则表达式,则两个规则都将生效。
标签的设置必须把数据存储在meter-system中,例如:Prometheus, Micrometer。以上四个标签设置必须实现LabeledValueHolder
接口。
- threshold:阈值。
对于多个值指标,例如percentile,阈值是一个数组。像value1
value2
value3
value4
value5