夜莺是一套开箱即用的一体化监控告警系统。您可以在夜莺控制台上设置报警回调地址为日志服务开放告警的接口地址。设置完成后,夜莺会将告警消息发送到日志服务告警系统中,由日志服务告警系统完成告警降噪、通知等处理。
前提条件
- 已创建协议为夜莺的开放告警应用。具体操作,请参见配置开放告警对外接口。
- 已购买夜莺5.0 RC版本或者5.0以上的稳定版本。
夜莺配置
夜莺RC版本
夜莺稳定版本
夜莺告警消息
夜莺RC版本
夜莺RC版本告警消息内容示例如下:
{
"id": 2,
"rule_id": 10,
"rule_name": "我的测试",
"rule_note": "my desc",
"hash_id": "59453d81111111110c389673b9466",
"is_prome_pull": 1,
"last_sent": true,
"alert_duration": 60,
"res_classpaths": "",
"res_ident": "",
"priority": 2,
"status": 0,
"is_recovery": 1,
"history_points": [
{
"metric": "system_cpu_util",
"tags": {
"ident": "192.0.2.0"
},
"points": [
{
"t": 1629453245,
"v": 1.876676
}
]
}
],
"trigger_time": 1629453245,
"values": "[vector={__name__=\"system_cpu_util\", ident=\"192.0.2.0\"}]: [value=1.876676]",
"notify_channels": "",
"notify_groups": "",
"notify_users": "",
"runbook_url": "",
"readable_expression": "system_cpu_util{} \u003e 0",
"tags": "ident=192.0.2.0",
"notify_group_objs": null,
"notify_user_objs": null,
"tag_map": {
"ident": "192.0.2.0"
}
}
夜莺稳定版本
夜莺稳定版本告警消息内容示例如下:
{
"id": 6,
"cluster": "Default",
"group_id": 1,
"hash": "ee099d071732b9a7ef02be911b032ad5",
"rule_id": 2,
"rule_name": "test",
"rule_note": "this is desc",
"severity": 1,
"prom_for_duration": 60,
"prom_ql": "go_threads > 1",
"prom_eval_interval": 15,
"callbacks":
[
"http://127.0.0.1:80"
],
"runbook_url": "",
"notify_recovered": 1,
"notify_channels":
[],
"notify_groups":
[],
"notify_groups_obj":
[],
"notify_repeat_next": 0,
"target_ident": "",
"target_note": "",
"trigger_time": 1648555865,
"trigger_value": "10",
"tags":
[
"__name__=go_threads",
"instance=localhost:9090",
"job=prometheus",
"name=wkb",
"value=1"
],
"is_recovered": false,
"notify_users_obj":
[],
"last_eval_time": 1648555865,
"last_sent_time": 1648555865
}
字段映射
夜莺RC版本
夜莺RC版本告警消息被接入到日志服务后,映射为日志服务告警内容。示例如下:
{
"aliuid": "aliuid1",
"alert_instance_id": "59453d81111111110c389673b9466",
"alert_id": "10",
"alert_type": "sls_pub",
"alert_name": "我的测试",
"region": "",
"project": "sls-alert--",
"project_id": 0,
"next_eval_interval": 60,
"alert_time": 0,
"fire_time": 1629453245,
"fire_results": null,
"fire_results_count": 0,
"resolve_time": 1630308759,
"status": "resolved",
"results": null,
"labels": {
"ident": "192.0.2.0"
},
"annotations": {
"__config_app__": "sls_pub_alert",
"__pub_alert_app__": "appid1",
"__pub_alert_protocol__": "nightingale",
"__pub_alert_region__": "e",
"__pub_alert_service__": "serverid1",
"desc": "my desc",
"is_prome_pull": "1",
"readable_expression": "system_cpu_util{} > 0",
"title": "我的测试",
"values": "[vector={__name__=\"system_cpu_util\", ident=\"192.0.2.0\"}]: [value=1.876676]"
},
"severity": 6,
"policy": {
"alert_policy_id": "",
"action_policy_id": "",
"use_default": false,
"repeat_interval": "0s"
},
"drill_down_query": "http://127.0.0.1:8000/event/2"
}
日志服务告警消息内容与夜莺RC版本告警消息内容的映射关系如下:
日志服务字段 | 夜莺字段 | 说明 |
---|---|---|
aliuid | 无 | 用于接入告警的开放告警应用所属的阿里云账号ID。 |
alert_id | rule_id | 告警监控规则ID。 |
alert_type | 无 | 告警类型,固定为sls_pub。 |
alert_name | rule_name | 告警监控规则名称。 |
status | 无 | 告警状态,包括firing和resolved。
|
next_eval_interval | alert_duration | 告警评估时间间隔。 |
alert_time | 无 | 日志服务接收到夜莺告警消息的时间。 |
fire_time | trigger_time | 该告警消息首次触发的时间。 |
resolve_time | 无 | 告警恢复时间。
|
labels | tag_map | 告警标签信息。
如果您在创建开放告警应用时,在信息加工中添加了标签信息,则此标签信息将被添加到labels字段中。 说明 当您在信息加工中配置的标签的Key与夜莺告警消息的tag_map字段中的子字段重复时,映射结果以您在信息加工中配置的为准。
|
annotations | 无 | 夜莺告警被接入到日志服务后,日志服务告警的annotations字段中将添加如下额外字段。
如果您在创建开放告警应用时 ,在信息加工中添加了标注信息,则此标注信息将被添加到annotations字段中。 |
severity | priority | 告警严重度。
|
policy | 无 | 您在开放告警应用中配置的告警策略。更多信息,请参见Policy结构。 |
project | 无 | 告警中心所属的Project。更多信息,请参见项目(Project)。 |
drill_down_query | 无 | 如果您在开放告警添加标签中配置了名称为__default_drill_down_query__的字段,则系统会使用该值作为夜莺控制台访问链接,否则使用默认值http://127.0.0.1:18000 。
说明 夜莺RC版本默认端口号为8000,您需要根据实际情况进行修改。
|
夜莺稳定版本
夜莺稳定告警消息被接入到日志服务后,映射为日志服务告警内容。示例如下:
{
"aliuid": "aliuid1",
"alert_instance_id": "ee099d071732b9a7ef02be911b032ad5",
"alert_id": "2",
"alert_type": "sls_pub",
"alert_name": "test",
"region": "",
"project": "",
"project_id": 0,
"next_eval_interval": 15,
"alert_time": 1648889320,
"fire_time": 1648555865,
"fire_results": null,
"fire_results_count": 0,
"resolve_time": 0,
"status": "firing",
"results": null,
"labels":
{
"__name__": "go_threads",
"instance": "localhost:9090",
"job": "prometheus",
"name": "wkb",
"value": "1"
},
"annotations":
{
"__config_app__": "sls_pub_alert",
"__pub_alert_app__": "appid1",
"__pub_alert_protocol__": "nightingale",
"__pub_alert_region__": "e",
"__pub_alert_service__": "serverid1",
"cluster": "Default",
"desc": "this is desc",
"group_id": "1",
"last_eval_time": "1648555865",
"last_sent_time": "1648555865",
"notify_recovered": "1",
"notify_repeat_next": "0",
"prom_for_duration": "60",
"prom_ql": "go_threads > 1",
"title": "test",
"trigger_value": "10"
},
"severity": 6,
"policy":
{
"alert_policy_id": "",
"action_policy_id": "",
"use_default": false,
"repeat_interval": "0s"
},
"template": null,
"drill_down_query": "http://127.0.0.1:18000/alert-cur-events/6"
}
日志服务告警属性与夜莺字段的映射关系如下:
日志服务字段 | 夜莺字段 | 说明 |
---|---|---|
aliuid | 无 | 用于接入告警的开放告警应用所属的阿里云账号ID。 |
alert_id | rule_id | 告警监控规则ID。 |
alert_type | 无 | 告警类型,固定为sls_pub。 |
alert_name | rule_name | 告警监控规则名称。 |
status | 无 | 告警状态,包括firing和resolved。
|
next_eval_interval | prom_eval_interval | 告警评估时间间隔。 |
alert_time | 无 | 日志服务接收到夜莺告警消息的时间。 |
fire_time | trigger_time | 该告警消息首次触发的时间。 |
resolve_time | 无 | 告警恢复时间。
|
labels | tags | 告警标签信息。
如果您在创建开放告警应用时,在信息加工中添加了标签信息,则此标签信息将被添加到labels字段中。 说明 当您在信息加工中配置的标签的Key与夜莺告警消息的tags字段中的子字段重复时,映射结果以您在信息加工中配置的为准。
|
annotations | 无 | 夜莺告警被接入到日志服务后,日志服务告警的annotations字段中将添加如下额外字段。
如果您在创建开放告警应用时 ,在信息加工中添加了标注信息,则此标注信息将被添加到annotations字段中。 |
severity | severity | 告警严重度。
|
policy | 无 | 您在开放告警应用中配置的告警策略。更多信息,请参见Policy结构。 |
project | 无 | 告警中心所属的Project。更多信息,请参见项目(Project)。 |
drill_down_query | 无 | 如果您在开放告警添加标签中配置了名称为__default_drill_down_query__的字段,则系统会使用该值作为夜莺控制台访问链接,否则使用默认值http://127.0.0.1:18000 。
|