微服务监控实践(二)- Grafana的安装及告警配置

引子:最近在学golang,又碰巧项目组需要做微服务监控,搜索之后最终选定prometheus+grafana+springcloud(eureka)作为技术框架。

本篇文章主要讲解Grafana的安装及告警配置


由于国内的网络环境,很多资源是无法下载的,本来写了一篇番外,教大家如何下载,结果由于敏感词关系无法发布,有需要的小伙伴可以私信与我联系。

1. Grafana下载及安装

  1. 下载:从我上传的地址下载即可(免费哦),Grafana-6.2.1.rpm下载
  2. 安装rz命令上传至服务器后,使用rpm -ivh 文件名安装即可
  3. 启动systemctl start grafana-server即可完成启动
  4. 注意事项:如果启动失败的话,使用systemctl --failed可以查看到失败实例列表,想要从失败列表中清除这个实例,请使用systemctl reset-failed grafana-server

2. Grafana配置

  1. 由于grafana没有完善的配置文件检测机制(不像prometheus有promtool),所以需要时刻关注grafana的日志信息,日志路径/var/log/grafana下的grafana.log微服务监控实践(二)- Grafana的安装及告警配置
  2. Grafana默认端口号是3000,直接访问即可,初始用户名和密码都是admin
    微服务监控实践(二)- Grafana的安装及告警配置
  3. 按照首页给定的路线进行配置即可,在datasource中,选择prometheus
    微服务监控实践(二)- Grafana的安装及告警配置
  4. 由于涉及到要采集服务器的信息,所以还需要在要采集的节点安装node_exporter,我安装的是0.18.1版本。不清楚的小伙伴可以看这篇文章:centos7安装prometheus和node_exporter
  5. 安装好后,使用file_sd_configs进行服务发现即可,访问9090的prometheus端口,可以看到我们的服务器node都被发现了。我这里有5个node,如下图所示
    微服务监控实践(二)- Grafana的安装及告警配置
  6. 配置好node后,就可以在grafana上增加仪表盘了,建议直接使用开发好的导入即可,我这里导入的是id为9276的模板。如果想找更多模板,可以直接去grafana的官网查找,我是传送门~
    微服务监控实践(二)- Grafana的安装及告警配置

3. 告警配置

告警这里,我选择的是钉钉。网上关于钉钉告警配置的文章有很多,不过这里还是有不少坑点的,我一个一个来说。

  1. 首先,grafana的告警配置只支持graph类型的图,因此,如果你的模板上是如下图所示的非graph类型数据,直接add panel,把相关查询语句添加进去即可
    微服务监控实践(二)- Grafana的安装及告警配置
  2. 接下来就是配置告警项了,首先,在钉钉里创建一个机器人,并配置自定义关键字(配置完成后在发送的message里一定要加上这个关键字)
    微服务监控实践(二)- Grafana的安装及告警配置
    微服务监控实践(二)- Grafana的安装及告警配置
  3. 钉钉中配置好后,在grafana中配置告警项,这里有坑点,请一定注意!!!
    • 坑点1:type的选择,一定要选actionCard,选link会无法发送消息,具体可排除日志,目前尚未解决这个问题
      微服务监控实践(二)- Grafana的安装及告警配置
    • 坑点2:选好type后,根据钉钉提供的文档,在报错提示中添加了json数据,但是,不要这么写!会报错。直接在message中添加字符串即可,具体如下图.。可以在右侧的Test Rule中测试你的告警信息
      微服务监控实践(二)- Grafana的安装及告警配置
  4. 在Grafana中Alertingsend test,钉钉中接收到的信息中,你会发现出现的链接是无法正确跳转的。接下来,我们要修改grafana.ini来让跳转生效。
    微服务监控实践(二)- Grafana的安装及告警配置
  5. 执行systemctl restart grafana-server,使配置生效,在测试一下,可以看到自己的告警信息啦!