前言

在上一篇推文中,我们使用时序数据库 InfluxDb 做了流控数据存储,但是数据存储不是目的,分析监控预警才是最终目标,那么问题来了,如何更好的实现呢?用过阿里巴巴 Sentinel 控制台的小伙伴,是不是觉得它的控制台丑爆了,而且只有短短的五厘米,显然不能满足大部分人或者场景的使用。

架构

工具

  • sentinel-dashboard(控制台,收集数据)
  • Influxdb(时序数据库,存储数据)
  • Chronograf (展示控制台,显示数据并实现预警)

安装

Sentinel 控制台 和 时序数据库 Influxdb 的安装方式前面已经聊过,这里不再赘述,简单说下 Chronograf 展示控制台的安装方式,这里推荐使用 Docker 安装方式。

$ docker run -p 8888:8888 \
-v $PWD:/var/lib/chronograf \
chronograf

安装成功以后,浏览器访问 http://ip:8888 你应该看到一个欢迎页面:

然后,自行配置数据源,根据业务场景组装监控大屏。

大屏

这里根据 Sentinel 限流组件采集的数据,组装了一个简单的监控大屏,可以监控历史访问总量、最近一小时的访问量、限流数以及最近几分钟或者几小时的访问曲线等等,相比于阿里演示版是不是瞬间高大上的些许。

总访问量

SELECT SUM("successQps") AS "总访问量" FROM "sentinel_log"."autogen"."sentinelInfo"

最近一小时访问量

SELECT SUM("successQps") AS "访问量"
FROM "sentinel_log"."autogen"."sentinelInfo"
WHERE TIME > NOW() - 1h

最近一小时限流数

SELECT SUM("blockQps") AS "限流数"
FROM "sentinel_log"."autogen"."sentinelInfo"
WHERE time > now() - 1h

最近一小时异常数

SELECT SUM("exceptionQps") AS "异常数"
FROM "sentinel_log"."autogen"."sentinelInfo"
WHERE time > now() - 1h

最近一小时的访问趋势图(秒级别)

SELECT SUM("successQps") AS "访问量"
FROM "sentinel_log"."autogen"."sentinelInfo"
WHERE time > now() - 1h
GROUP BY time(1s)

最近12小时资源访问排名

SELECT SUM("successQps") AS "成功qps", SUM("blockQps") AS "限流qps"
FROM "sentinel_log"."autogen"."sentinelInfo"
WHERE time > now() - 12h
GROUP BY resource

预警

后期我们在 Chronograf 中接入 Kapacitor ,Chronograf会自动打开该Configure Alert Endpoints部分,Kapacitor支持多个警报端点/事件处理程序。有兴趣的小伙伴也可以在 Sentinel 控制台中根据流控数据进行更智能化的设置,比如根据限流失败数以及机器指标动态调整流控规则。

小结

有了她,小哥哥、小姐姐们再也不用担心凌晨一点的闹钟了,是不是很爽?以上只是冰山一角,目前我们上线的监控系统平台,通过各种第三方组件库(Telegraf、InfluxDB、Chronograf、Kapacitor、Grafana、Prometheus、Consul、Elasticsearch、Kibana),接入了 1000 台服务器实时监控,200个监控大屏,上千个监控指标,每日处理成吨的数据。是不是很吊!?我唧唧都佩服我自己的想象力。

源码

https://gitee.com/52itstyle/sentinel-dashboard

参考

https://hub.docker.com/_/chronograf

阿里巴巴 Sentinel + InfluxDB + Chronograf 实现监控大屏的更多相关文章

  1. 干货!手把手教你使用数据可视化BI软件创建企业变更流程监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以企业变更流程监控大屏为例 ...

  2. 不懂怎么创建可视化大屏?手把手教你使用数据可视化BI软件创建工厂车间数据监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以工厂车间数据监控大屏为例 ...

  3. 一招教你用数据可视化BI软件创建网店运营监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件. 本文以网店运营监控大屏为例为大家演 ...

  4. 教你高效使用数据可视化BI软件创建医院卫生耗材运营监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以医院卫生耗材运营监控大屏 ...

  5. 大家久等了,改造版阿里巴巴 sentinel 控制台终于开源了

    前言 最近几天,好几个小伙伴在后台询问,改造后的 sentinel-dashboard 什么时候开源.讲真,不是不想给大家放出来,是因为一些地方还没有完善好,怕误导了大家,在经过了一个星期业余时间的努 ...

  6. 使用DataV制作实时销售数据可视化大屏(实验篇)

    课时1:背景介绍 任务说明 ABC是一家销售公司,其客户可以通过网站下单订购该公司经营范围内的商品,并使用信用卡.银行卡.转账等方式付费.付费成功后,ABC公司会根据客户地址依据就近原则选择自己的货仓 ...

  7. 【可视化大屏教程】用Python开发智慧城市数据分析大屏!

    目录 一.开发背景 二.讲解代码 2.1 大标题+背景图 2.2 各区县交通事故统计图-系列柱形图 2.3 图书馆建设率-水球图 2.4 当年城市空气质量aqi指数-面积图 2.5 近7年人均生产总值 ...

  8. Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)

    一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...

  9. 手把手教你轻松使用数据可视化BI软件创建某疾病监控数据大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以某疾病监控数据大屏为例为 ...

随机推荐

  1. 漏洞挖掘技巧之利用javascript:

    好久没更新博客了,更新一波. 场景: window.location.href=”” location=”” location.href=”” window.location.* 常见地点:任何二次跳 ...

  2. Liunx软件安装之MySQL

    一.安装MySQL 1.1 配置 yum 源 centos 默认没有 MySQL 的 yum 源,所以需要先配置 yum 源. 1) 前往 官网,选择对应系统版本 2) 右键复制链接 3) 在 cen ...

  3. shell中if的各种判断

    shell编程中使用到得if语句内判断参数 –b当file存在并且是块文件时返回真 -c当file存在并且是字符文件时返回真 -d当pathname存在并且是一个目录时返回真 -e当pathname指 ...

  4. nsq源码分析

    nsq的源码比较简单,值得一读,特别是golang开发人员,下面重点介绍nsqd,看完这篇文章希望你能对消息队列的原理和实现有一定的了解. nsqd是一个守护进程,负责接收,排队,投递消息给客户端,并 ...

  5. Delphi - Indy 创建邮件自动发送服务

    服务器自动邮件线程 功能:此程序主要实现对Oracle数据库表tableName(存放需要发送邮件的相关信息)里面相关信息的邮件发送. 优点:开发人员可以直接再数据库后台对tableName表进行插入 ...

  6. codeforces 766 C. Mahmoud and a Message(简单dp)

    题目链接:http://codeforces.com/contest/766/problem/C 题意:给你一个长度为n的字符串,这个字符串只包含小写字母,然后让你把这个字符串进行分割,形成若干个小的 ...

  7. Python——最美丽的编程语言

    之前总听别人说Python有多厉害,有多好,我是不以为然的.但是当我开始接触Python的时候,我就知道它被誉为最美编程语言不是没有道理的.简短的代码,清晰明了的逻辑,方便快捷的编程工具让它注定会大放 ...

  8. 前端利器躬行记(4)——webpack进阶

    webpack是一个非常强大的工具,除了前文所介绍的基础概念之外,还有各种进阶应用,例如Source Map.模块热替换.集成等,本文会对这些内容做依次讲解. 一. runtime和manifest ...

  9. C、C++格式化字符串

    引言 在C和C++开发中,我们经常会用到printf来进行字符串的格式化,例如printf("format string %d, %d", 1, 2);,这样的格式化只是用于打印调 ...

  10. 【Redis】哨兵机制

    一.概述 什么是哨兵机制 二.环境配置 2.1 虚拟机 2.2 安装Redis 2.3 配置主从复制 2.4 配置哨兵 2.5 测试 2.6 疑惑(待解决) 一.概述 什么是哨兵机制 Redis的哨兵 ...