托管 Prometheus 支持您使用通用 Webhook 接收告警信息。本文为您介绍通用 Webhook 的格式。
您可以在托管 Promethues 服务中创建告警通知策略,并指定使用通用 Webhook 接收告警信息。详情请参见 创建告警通知策略。
在此场景下,在接收端如何解析通用 Webhook 发来的信息格式,并明确不同字段表示的含义,尤为重要。
以下为通用 Webhook 的格式示例。
{ "status": "firing", "alerts": [ { "status": "firing", "labels": { "account_id": "200000000", "internal_label_alert_id": "7f55f4xxx", "internal_label_alert_level": "P0", "alertname": "aec4cc4a-5457-4a31-b378-0442d140e6b8", "__name__": "container_memory_usage_bytes", "node": "192.168.1.158" }, "annotations": { "__alerting_resource_current_value__": "1", "__alerting_rule_levels__": "[{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P0\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":5},{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P1\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":6},{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P2\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":7}]", "__alerting_rule_query__": "{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"PromQL\":\"container_memory_usage_bytes{container=\\\"\\\"}\",\"WorkspaceID\":\"046afaa0-8dc4-446a-bf36-df2d7a8aab99\"}", "__alerting_rule_type__": "vmp/PromQL" }, "startsAt": "2022-11-24T19:31:00+08:00", "endsAt": "0001-01-01T00:00:00Z", "generatorURL": "", "fingerprint": "81e649cc69c24b6d" } ], "groupLabels": { "internal_label_alert_level": "P0", "alertname": "aec4cc4a-5457-4a31-b378-0442d140e6b8" }, "commonLabels": { "account_id": "200000000", "internal_label_alert_id": "7f55f4-0dd81796416f412f-c20ca4036a7f4260", "internal_label_alert_level": "P0", "alertname": "aec4cc4a-5457-4a31-b378-0442d140e6b8", "__name__": "container_memory_usage_bytes", "node": "192.168.1.158" }, "commonAnnotations": { "__alerting_resource_current_value__":"1", "__alerting_rule_levels__": "[{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P0\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":5},{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P1\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":6},{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"Level\":\"P2\",\"For\":\"0s\",\"Comparator\":\"\\u003c\",\"Threshold\":7}]", "__alerting_rule_query__": "{\"AlertingRuleID\":\"aec4cc4a-5457-4a31-b378-0442d140e6b8\",\"PromQL\":\"container_memory_usage_bytes{container=\\\"\\\"}\",\"WorkspaceID\":\"046afaa0-8dc4-446a-bf36-df2d7a8aab99\"}", "__alerting_rule_type__": "vmp/PromQL", }, "alertingRuleName": "name" }
通用 Webhook 中的参数说明如下表所示。
字段名称 | 类型 | 示例值 | 说明 |
---|---|---|---|
status | string | firing | Webhook 的状态,取值:
|
alerts | list Alert | 告警事件详情。 | |
groupLabels | map<string,string> | - | Webhook 通知聚合发送的 labels。 |
commonLabels | map<string,string> | - | 告警事件共同的 labels。 |
commonAnnotations | map<string,string> | - | 告警事件共同的 annotations。 |
alertingRuleName | string | CPU 使用率超过 80%。 | 告警规则名称。 |
Alert 的结构如下表所示。
字段名称 | 类型 | 示例值 | 说明 |
---|---|---|---|
status | string | firing | 告警事件的状态,取值:
|
labels | map<string,string> |
|
|
annotations | map<string,string> |
|
|
startsAt | string | 2022-11-24T19:31:00+08:00 | 告警事件的触发时间。 |
endsAt | string | 0001-01-01T00:00:00Z | 告警事件的结束时间。 说明 当告警事件的状态 |