微服务监控实践(二)- Grafana的安装及告警配置
引子:最近在学golang,又碰巧项目组需要做微服务监控,搜索之后最终选定prometheus+grafana+springcloud(eureka)作为技术框架。
本篇文章主要讲解Grafana的安装及告警配置
由于国内的网络环境,很多资源是无法下载的,本来写了一篇番外,教大家如何下载,结果由于敏感词关系无法发布,有需要的小伙伴可以私信与我联系。
1. Grafana下载及安装
- 下载:从我上传的地址下载即可(免费哦),Grafana-6.2.1.rpm下载
-
安装:
rz
命令上传至服务器后,使用rpm -ivh 文件名
安装即可 -
启动:
systemctl start grafana-server
即可完成启动 -
注意事项:如果启动失败的话,使用
systemctl --failed
可以查看到失败实例列表,想要从失败列表中清除这个实例,请使用systemctl reset-failed grafana-server
2. Grafana配置
- 由于grafana没有完善的配置文件检测机制(不像prometheus有promtool),所以需要时刻关注grafana的日志信息,日志路径
/var/log/grafana
下的grafana.log
- Grafana默认端口号是
3000
,直接访问即可,初始用户名和密码都是admin
- 按照首页给定的路线进行配置即可,在datasource中,选择
prometheus
- 由于涉及到要采集服务器的信息,所以还需要在要采集的节点安装
node_exporter
,我安装的是0.18.1版本
。不清楚的小伙伴可以看这篇文章:centos7安装prometheus和node_exporter。 - 安装好后,使用
file_sd_configs
进行服务发现即可,访问9090的prometheus
端口,可以看到我们的服务器node都被发现了。我这里有5个node,如下图所示
- 配置好node后,就可以在grafana上增加仪表盘了,建议直接使用开发好的导入即可,我这里导入的是id为
9276
的模板。如果想找更多模板,可以直接去grafana的官网查找,我是传送门~
3. 告警配置
告警这里,我选择的是钉钉。网上关于钉钉告警配置的文章有很多,不过这里还是有不少坑点的,我一个一个来说。
- 首先,grafana的告警配置只支持
graph
类型的图,因此,如果你的模板上是如下图所示的非graph
类型数据,直接add panel,把相关查询语句添加进去即可
- 接下来就是配置告警项了,首先,在钉钉里创建一个机器人,并配置自定义关键字(配置完成后在发送的message里一定要加上这个关键字)
- 钉钉中配置好后,在grafana中配置告警项,这里有坑点,请一定注意!!!
-
坑点1:type的选择,一定要选actionCard,选link会无法发送消息,具体可排除日志,目前尚未解决这个问题。
-
坑点2:选好type后,根据钉钉提供的文档,在报错提示中添加了json数据,但是,不要这么写!会报错。直接在message中添加字符串即可,具体如下图.。可以在右侧的
Test Rule
中测试你的告警信息
-
坑点1:type的选择,一定要选actionCard,选link会无法发送消息,具体可排除日志,目前尚未解决这个问题。
- 在Grafana中
Alerting
中send test
,钉钉中接收到的信息中,你会发现出现的链接是无法正确跳转的。接下来,我们要修改grafana.ini
来让跳转生效。
- 执行
systemctl restart grafana-server
,使配置生效,在测试一下,可以看到自己的告警信息啦!