当前位置:主页 > 查看内容

Grafana接入SLS开放告警

发布时间:2021-06-12 00:00| 位朋友查看

简介:背景介绍 Grafana是监控运维场景下常用的开源系统 它丰富易用的可视化界面极大的方便了开发运维的工作。但是另一方面 Grafana自带的告警功能较为简单 不能很好的满足日常需求。新版SLS告警提供了丰富易用的告警功能 能够很好的补足Grafana的告警功能。 Grafa……
背景介绍

Grafana是监控运维场景下常用的开源系统 它丰富易用的可视化界面极大的方便了开发运维的工作。但是另一方面 Grafana自带的告警功能较为简单 不能很好的满足日常需求。新版SLS告警提供了丰富易用的告警功能 能够很好的补足Grafana的告警功能。

Grafana接入SLS

要将Grafana的告警消息接入SLS 主要分为两个步骤 在SLS中创建开放告警应用 将Grafana的通知渠道配置为SLS。创建开放告警应用的具体步骤 可以参考文章SLS开放告警简介。下面介绍下如何将Grafana的告警消息接入到SLS中。

获取回调地址

在创建开放告警应用之后 通过点击接口按钮 打开如下图所示的回调地址查看窗口。

image

回调地址由两部分构成 域名部分和子路径部分。其中域名部分属于SLS的接入地址 和地域相关 每个地域都有各自不同的接入地址 子路径部分包括用于发送消息的Access?Key?Id和开放告警应用。如下所示为一个完整的SLS回调地址

cn-heyuan-intranet.log.aliyuncs.com/event/webhook/RAMAK_{ACCESS_KEY_ID}/a123_asdad

其中 cn-heyuan-intranet.log.aliyuncs.com 为域名部分 属于SLS通用的接入地址(endpoint) event/webhook/RAMAK_{ACCESS_KEY_ID}/a123_asdad?则为子路径部分。需要注意的是 用户需要将子路径部分中的{ACCESS_KEY_ID}替换为具体阿里云RAM账户的Access?Key?Id 并且将权限策略AliyunLogOpenEventWrite赋予该账户 a123_asdad则为该开放告警应用的id 用于唯一区别不同的开放告警应用。

创建通知渠道

Grafana通过通知渠道(Notification?Channel)向外部发送告警消息 所以只需要将SLS开放告警应用配置为Grafana新的通知渠道 即可接入到SLS。

选择渠道类型

Grafana自身支持十几种内置的通知渠道 接入SLS开放告警使用的是webhook渠道。

image

填入回调地址

在Url一栏中填入SLS开放告警提供的回调地址。如果是内网用户 可以使用局域网/VPC接口地址 如果是外网用户 则需要填入公网接口地址。此时需要注意替换占位符{ACCESS_KEY_ID} 以及回调地址要以 http:// 开头。

配置可选参数

用户需要配置可选参数Http?Method为POST 其余两项留空即可。

image

告警配置

用户如果想要快捷简便的将Grafana告警消息全部接入到SLS中 可以将SLS开放告警配置为默认通知渠道。这样Grafana会自动将SLS开放告警通知渠道加入到现有的告警规则中去。

另外请不要勾选 Disable?Resolve?Message 这样Grafana会发送告警恢复消息 从而使用户更好的了解当前告警状态。

image

映射规则

Grafana告警消息内容示例如下 SLS开放告警会通过内置的规则 将该消息转为SLS内部的告警消息。

{
 dashboardId : 1,
 evalMatches : [
 value : 173.14285714285714,
 metric : go_gc_duration_seconds_count{instance \ localhost: 9090\ , job \ prometheus\ } ,
 tags : {
 __name__ : go_gc_duration_seconds_count ,
 instance : localhost:9090 ,
 job : prometheus 
 message : sadfasdf ,
 orgId : 1,
 panelId : 4,
 ruleId : 2,
 ruleName : fuxasdfasd ,
 ruleUrl : http://localhost:3000/d/biSKHC8Mz/new-dashboard-copy?tab alert viewPanel 4 orgId 1 ,
 state : alerting ,
 tags : {
 severity : crit ,
 xasdfasdf : mveonasdf 
 title : [Alerting] fuxasdfasd 
}
告警严重程度

如果在Grafana告警消息的tags中包含severity字段 开放告警会将该字段映射为告警消息的严重程度。目前开放告警支持多种告警消息严重程度 用户可以根据自己的需要进行配置。如果没有配置 严重程度将默认配置为中等。映射关系如下表所示。

告警严重度

关键字

严重

严重、紧急、critical、disaster、blocker、immediate、fatal、crit、sev0、 sev?0 、p0

高、高级、E、H、high、err、error、urgent、major、 sev?1 、sev1、p1

中、中级、告警、M、medium、unknown、warn、warning、 not?classified 、average、normal、 sev?2 、sev2、p2

低、低级、L、I、info、information、suggestion、minor、informational、 sev?3 、sev3、p3

报告

报告、通知、report、dbg、debug、verbose、trivial、page、ok、 sev?4 、sev4、p4

字段映射

SLS开放告警会通过内置规则 将Grafana消息转为SLS内置告警消息。例如将上面的Grafana消息 转为如下所示的告警消息

{
 aliuid : {开放告警应用所属的阿里云账号ID} ,
 alert_instance_id : {自动生成} ,
 project : {告警中心所属的Project} ,
 region : {告警中心所属的地域} ,
 alert_id : 2 ,
 alert_type : sls_pub ,
 alert_name : sadfasdf ,
 next_eval_interval : 0,
 alert_time : 1603859020,
 fire_time : 1603859020,
 resolve_time : 0,
 status : firing ,
 labels : {
 xasdfasdf : mveonasdf 
 annotations : {
 __pub_alert_region__ : {发送告警消息的网络接口对应的地域} ,
 __config_app__ : sls_pub_alert ,
 __pub_alert_service__ : {开放告警服务ID} ,
 __pub_alert_app__ : {开放告警应用ID} ,
 __pub_alert_protocol__ : grafana ,
 severity : crit ,
 orgId : 1 ,
 dashboardId : 1 ,
 panelId : 4 ,
 ruleUrl : http://localhost:3000/d/biSKHC8Mz/new-dashboard-copy?tab alert viewPanel 4 orgId 1 ,
 imageUrl : ,
 desc : sadfasdf ,
 title : [Alerting] fuxasdfasd 
 severity : 10,
 policy : {
 alert_policy_id : {开放告警应用中配置的告警策略} ,
 action_policy_id : {开放告警应用中配置的行动策略} ,
 repeat_interval : {开放告警应用中配置的重复等待时间} 
 drill_down_query : http://localhost:3000/d/biSKHC8Mz/new-dashboard-copy?tab alert viewPanel 4 orgId 1 ,
 results : [{
 query : go_gc_duration_seconds_count{instance \ localhost: 9090\ , job \ prometheus\ } ,
 fire_result : {
 __name__ : go_gc_duration_seconds_count ,
 instance : localhost:9090 ,
 job : prometheus ,
 value : 173.142 ,
}

具体的转换规则 请参考官方文档接入Grafana告警

总结

通过将Grafana告警消息接入到SLS 可以不再受限于Grafana提供的告警功能 从而更为高效的了解以及处理服务出现的问题。


本文转自网络,原文链接:https://developer.aliyun.com/article/784680
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐