Grafana钉钉报警的小卡片点击时无法跳转到Grafana的界面
在Grafana的配置文件.ini里
代码语言:javascript复制root_url = 'xxxx'
复制代码
配置上地址重启即可
一、grafana安装与启用
我这里使用的docker方式
官方文档:grafana.com/docs/grafan…
1.数据接入、仪表盘配置展示、各指标含义本篇不详解,请参看这篇:
www.jianshu.com/p/7e7e0d067… by 简书-kang少年
2.直接三挡起步可以fork这个分支:github.com/monitoringa…
里面有很全面很正统的常见数据源grafana模板,下载再倒入就可以了
3.注意模板类型的dashboard只能用于监控和展示,接入警报需要自定义query
二、钉钉机器人创建与配置
钉钉开发者文档:ding-doc.dingtalk.com/doc#/server…
1.创建钉钉群&钉钉机器人
创建一个自定义机器人
2.在“机器人设置”中获得webhook的URL
获得webhook的URL
3.安全设置,这一步是必须的,我选择白名单模式,填入grafana服务器地址
安全设置-白名单
三、grafana设置警报
1.在grafana控制台,左边栏“Alerting”模块,创建一个警报。
Disable Resolve Message 表示健康监测为[OK]时,不发送信息。
2.创建一个测试用的dashboard和panel ,按“E”进入编辑模式,先创建一个query,选择数据源、检测项、实例ID、数据获取间隔;
3.创建一个报警规则
- Name 自定义警报名称
- Evaluate every 健康检测频率
- For 由pending变为alerting状态需要的时间 Send to 警报扳机
- Message 警报文案
4.设置一个较小的警报阈值用于测试,回到钉钉查看机器人消息
//记得打开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样例
代码语言:javascript复制{
"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"
}
}
复制代码
可以修改对应字段,丰富钉钉机器人的功能,比如点击链接直接转到服务控制台、监控仪表盘