前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >可视化监控告警-grafana

可视化监控告警-grafana

原创
作者头像
二木
修改2022-04-27 09:17:14
2.6K0
修改2022-04-27 09:17:14
举报
文章被收录于专栏:上云实践案例上云实践案例

需求背景

根据我们的业务背景,需要监控3个纬度。

  1. Iaas层:即腾讯云的基础设施CVM
  2. Paas层:即使用的腾讯云Paas服务,各种中间件
  3. Saas层:即我们本身的服务指标监控。

腾讯云监控,可以覆盖1,2场景, 我们只需根据业务需求配置告警策略即可。场景3-Saas层监控可以分为服务状态监控、异常日志监控和接口监控。

由于我们使用了微服务框架TSF,服务状态监控和异常日志监控都可以通过云监控策略进行覆盖。至于接口监控,云监控无法满足需求,主要原因是我们语言框架不是TSF支持spring cloud,我们使用的是golang,微服务框架是公司内部的trpc-go,TSF对此支持不够友好,无法使用TSF的服务/接口监控能力,因此我们只能使用其他监控工具来补齐。

监控需求分析

系统使用网关(可理解为nginx)作为接入层,且我们将访问日志存储到了elasticsearch数据库,因此我们可根据接口日志进行分析,使用grafana做可视化监控和告警,es作为数据源。

监控大盘效果

下图是的访问日志监控大盘。

image.png
image.png
image.png
image.png

监控配置

目前腾讯云grafana可以免费创建,内网访问只收取内网负载均衡费用,非常划算。

  1. 创建grafana, 可开启腾讯云SSO登录,方便团队其他成员访问;
  2. 配置数据源,Configuration => Data sources => add data source,根据业务存储选择数据源,例如选择Elasticsearch,配置好IP:Port和认证方式;
  3. 安装插件,见腾讯云文档,我在安装goshposh-metaqueries-datasource插件时失败,后面找腾讯云助手才解决问题,安装失败的时候,需要编辑配置文件Grafana.ini,添加配置项如下:
代码语言:javascript
复制
[plugins]
allow_loading_unsigned_plugins=goshposh-metaqueries-datasource

插件按需安装,我们添加metaqueries数据插件主要是需要进行聚合计算,例如计算请求成功率,计算所有是请求A,计算所有成功请求B,使用该插件即可写表达式: B/A 来表达成功率,插件帮忙文档见:https://grafana.com/grafana/plugins/goshposh-metaqueries-datasource/

  1. 配置监控大盘,按照业务需求创建监控面板,可参考帮助文档:https://grafana.com/tutorials/?utm_source=grafana_gettingstarted,我们业务的监控面板包括以下几项
    • 每分钟请求成功率
    • 每分钟请求耗时分区统计
    • 每分钟httpCode分布
    • 路由请求量/min
    • 路由请求平均时延/min
    • 路由失败请求时延/min
    • path请求量/min
    • path请求平均时延/min
    • path失败请求时延/min
    • 接口延时排序图
  2. 配置告警,腾讯云grafana已经打通云监控告警模版,可以选择已经配置好的通知人模版应用到grafana,如下图:
    image.png
    image.png
    添加后,可以在每个告警面板里面配置告警策略,选择要通知的人。
    image.png
    image.png

踩坑总结

  1. grafana 目前只能安装指定插件,但是我只能安装指定插件,不过基本上主流插件都囊括了,问题是在我安装goshposh-metaqueries-datasource 插件失败,找人工协助之后,添加插件配置后再次安装才成功。
  2. grafana 添加mysql数据源失败,我给grafana创建mysql查询权限的账号,配置账号的ip时,直接查看了,内网IP如下图位置:
    image.png
    image.png
    但是添加一直失败提示:db query error: query failed - please inspect Grafana server log for details

我怀疑时grafana管理控制台的内网ip不是真实的容器IP,于是找腾讯云小助手请教是不是真实的容器IP,小助手说是的,但是最后却一直无法添加数据源,小助手找到研发最终明确了这个内网IP是CLB的IP不是真实容器IP,最后他提供真实容器IP之后,才解决问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求背景
  • 监控需求分析
  • 监控大盘效果
  • 监控配置
  • 踩坑总结
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档