Grafana钉钉报警的小卡片点击时无法跳转到Grafana的界面

在Grafana的配置文件.ini里

root_url = 'xxxx'

配置上地址重启即可

一、grafana安装与启用

我这里使用的docker方式

官方文档:grafana.com/docs/grafan…

Grafana 安装启用和钉钉报警_数据源

1.数据接入、仪表盘配置展示、各指标含义本篇不详解,请参看这篇:

www.jianshu.com/p/7e7e0d067…​ by 简书-kang少年

2.直接三挡起步可以fork这个分支:github.com/monitoringa…

里面有很全面很正统的常见数据源grafana模板,下载再倒入就可以了

3.注意模板类型的dashboard只能用于监控和展示,接入警报需要自定义query

二、钉钉机器人创建与配置

钉钉开发者文档:ding-doc.dingtalk.com/doc#/server…

1.创建钉钉群&钉钉机器人

Grafana 安装启用和钉钉报警_架构_02

创建一个自定义机器人

2.在“机器人设置”中获得webhook的URL

Grafana 安装启用和钉钉报警_Grafana_03

获得webhook的URL

3.安全设置,这一步是必须的,我选择白名单模式,填入grafana服务器地址

Grafana 安装启用和钉钉报警_白名单_04

安全设置-白名单

三、grafana设置警报

1.在grafana控制台,左边栏“Alerting”模块,创建一个警报。

Grafana 安装启用和钉钉报警_数据源_05

Disable Resolve Message 表示健康监测为[OK]时,不发送信息。

2.创建一个测试用的dashboard和panel ,按“E”进入编辑模式,先创建一个query,选择数据源、检测项、实例ID、数据获取间隔;

Grafana 安装启用和钉钉报警_Grafana_06

3.创建一个报警规则

Grafana 安装启用和钉钉报警_自定义_07

  • Name 自定义警报名称
  • Evaluate every 健康检测频率
  • For 由pending变为alerting状态需要的时间
    Send to 警报扳机
  • Message 警报文案

4.设置一个较小的警报阈值用于测试,回到钉钉查看机器人消息

Grafana 安装启用和钉钉报警_数据源_08

//记得打开Disable Resolve Message标签,这样[OK]状态就不会发警报了

四、其他实施细节

1)注意修改AWS控制台的EC2监控,启用“详细监控”,实际就是数据抓取频率5min → 1min

2)基本沿用测试套路,为常用的server设置报警,可以多个query放到一个panel当中

监控项:CPU负载

健康监测:每分钟计算前5分钟CPU负载平均值,大于80则报警

报警规则:均值大于80变为“pending”状态,pending状态延续3分钟启动Alert

杂项:钉钉群公告、响应人员协调、测试机器人转正、修改机器人头像

五、完善与扩展

grafana接入钉钉机器人只支持link模式,在文中使用link只是当一个文本预览使用,以下是一个link样例

{
"msgtype": "link",
"link": {
"text": "这个即将发布的新版本,创始人xx称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林",
"title": "时代的火车向前开",
"picUrl": "",
"messageUrl": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI"
}
}

可以修改对应字段,丰富钉钉机器人的功能,比如点击链接直接转到服务控制台、监控仪表盘