#研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
2019独角兽企业重金招聘Python工程师标准>>>
- 监控平台要做到什么程度?为什么要自己做?
- 几个通用技术问题
- 绘图所依赖的数据如何收集?如何加工?如何存储?
- 图形如何绘制,各种指标如何叠加?
- 拓扑关系如何绘制?
技术选型哲学 最终选了statsd+graphite 数据的采集 数据存储的粒度 天机的技术选型
- Zabbix
- Nagios
- Centreon
- Logstash
- Ganglia+Cacti
规则:模仿我们发现问题后先检查数据库主从同步是否有问题的习惯
|
天机系统发现成单金额或验证券数或短信发送条数环比大幅下降后,启动检查规则,
自动逐一检查各种从库的主从同步情况。
如果发现主从延迟超过阈值,则天机 DashBoard 应浮出两条红色警告提示(可点击进入):
如果发现主从同步失败导致了同步停止,则应浮出两条红色警告提示(可点击进入):
|
大致想来,李丹刘奎还需要解决这么几个基础问题:
数据库拓扑关系
|
在监控系统里登记了 DB 的IP和分组后,其实已经可以探测到 DB 之间的主从关系(包括级联关系)了,能自动绘制出登记的所有数据库服务器之间的关系。举例如下:
图2 自动绘制数据库拓扑
|
- 不重复制造轮子;
- 既然找轮子,那这个轮子就应该只做一件事,且把它做到最好。
- grafana + influxdb
- statsd + graphite
- collectd + graphite
- grafana + graphite
Graphite 是一个企业级的监控工具,用 Python 编写,采用 django 框架,sqlite 数据库存储,自有简单文本协议通讯,绘图功能强大。最初由 Chris Davis 在 Orbitz 工作时,作为一个辅助项目开发的,最终成了一个监控基础工具,如他所言,Graphite provides real-timevisualization andstorage of numeric time-series data,重点解决:
- 实时可视化
- 时间序列数据的存储
严格地说,Graphite 只是一个根据数据绘图的工具,数据收集通常由第三方工具或插件完成,它自带了 carbon 和 whisper,还可根据其协议选用别的数据源供其绘图。官方描述,预计用Ceres 替代 Whisper。
图4 graphite图例
简单的文本协议和强大的绘图功能使得它可以方便地扩展到任何需要监控的系统上。豆瓣、Google、GitHub、Instagram、Uber等公司都用它。
3.3.CollectD
C语言开发的 collectd 是一个较为古老的工具,像 statsd 一样它也做周期性收集统计数据,collectd 还管数据存储。它能够通过插件支持检测各种各样的系统信息,如数据库、UPS。
要想查看 collectd 收集的信息,还需要安装 web 界面或者 Cacti,于是工作模式就是:
collectd 作为守护进程运行,每隔 10 秒收集信息,而 Cacti 每隔5分钟运行一个 PHP 脚本来收集信息(两者的时间间隔可配置)。
- schemaless(无结构),可以是任意数量的列
- Scalable
- min, max, sum, count, mean, median 一系列函数,方便统计
- Native HTTP API, 内置http支持,使用http读写
- Powerful Query Language,类似SQL
- Built-in Explorer,自带管理工具
3.5.Grafana
grafana 则类似 ES Kibana 的可视化面板,有着非常漂亮的图表和布局,目前支持 Graphite、Influxdb 和 Opentsdb) + influxdb(分布式时序、事件和指标数据库)等配搭。
http://监控系统域名/db/createImage/target/%5B%22stats.timers.mysql.172_16_999_991-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_992-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_993-3306.com_select_persecond.upper%22%5D/from/-1hour.html?width=492&n=0.8623758849623238
- carbon - aTwisted daemon that listens for time-series data
- whisper - a simple database library for storing time-series data (similar in design toRRD)
- graphite webapp - ADjango webapp that renders graphs on-demand usingCairo
它的 High Level 图如下所示:
图10 graphite 逻辑图
图11 Graphite 数据流转图
- 天机平台主动拉数据,主要集中在数据库的主从同步、数据库的拓扑关系等这样的关系型数据采集上。
- 其他场景下,基本都需要采集单点状态的数据,则由客户端脚本(即 agent)获取数据后,再推送到天机平台。
数据推送到 Graphite 时,时间周期为1分钟,采集1分钟内的业务数据按照 metric_path value timestamp\n 的格式发送。需要注意的是每次发送的数据必须以 \n 结尾,不能省略。
[default_1min_for_1day]pattern = .*retentions = 10s:1d
可以自定义 retentions,注意表达式里每一个时间间隔必须是第一个的倍数,也就是说,第一个是10s,那么第二个只能是10s的整数倍,以此类推。
[stats]pattern = ^stats.*retentions = 10s:1d,30s:7d,1m:28d,15m:5y
当把10秒的数据降为1分钟数据时,默认是算平均值,但你也可以按合计值、最大值、最小值等,反正都在 storage-aggregation.conf 里配置。
[business_monitoring]pattern = ^business_monitoring\.retentions = 1m:5y
Understanding StatsD and Graphite: http://blog.pkhamre.com/2012/07/24/understanding-statsd-and-graphite/
窝窝的解决方案介绍列表:
#研发解决方案#基于StatsD+Graphite的智能监控解决方案
#研发中间件介绍#定时任务调度与管理JobCenter
#研发解决方案介绍#Recsys-Evaluate(推荐评测)
#研发解决方案介绍#Tracing(鹰眼)
#研发解决方案介绍#基于持久化配置中心的业务降级
#研发中间件介绍#异步消息可靠推送Notify
#研发解决方案介绍#IdCenter(内部统一认证系统)
#研发解决方案介绍#基于ES的搜索+筛选+排序解决方案
#数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie
转载于:https://my.oschina.net/guoenzhou/blog/380030
#研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案相关推荐
- #研发解决方案介绍#基于ES的搜索+筛选+排序解决方案
郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中 ...
- 千匠星云数字化解决方案介绍 | 品牌官网数字化升级解决方案
千匠网络以赋能企业数字化销售为使命,基于企业互联网中台架构实践及技术,助力企业线上数字化销售转型和商业创新.拥有多套成熟的零售.批发等业务模式线上销售解决方案及细分行业解决方案为企业提供支持,包含移动 ...
- 业务监控系统如何做,一起来看看如何使用Statsd+Graphite+Grafana搭建业务监控系统
背景介绍 希望能够对业务指标监控,通过业务指标监控反应业务系统的稳定性,原因是通过对基础资源,应用服务状态,性能监控,不能够反应业务系统的稳定性,举个栗子:服务程序一切正常,下单接口因参数校验,导致很 ...
- #研发解决方案介绍#Tracing(鹰眼)
#研发解决方案介绍#Tracing(鹰眼) 参考文章: (1)#研发解决方案介绍#Tracing(鹰眼) (2)https://www.cnblogs.com/zhengyun_ustc/p/55so ...
- 数字化转型,赋能新零售解决方案介绍
全量用户数据+新兴技术应用,支撑全渠道业务优化.赋能新零售. --甘来.天正和神策数据获零售巨头认可 科尔尼最新发布的<2017 全球零售发展指数>报告中预测,2017 年,中国经济增长中 ...
- 蚂蚁金服自主研发的三地五中心异地多活解决方案获金融科技创新大奖
小蚂蚁说: 2018年9月20日,在杭州云栖蚂蚁金服 ATEC 科技大会主论坛上,蚂蚁金服副CTO胡喜正式宣布,蚂蚁金服的金融科技正式全面开放,为行业提供完整的数字金融解决方案.包括支付宝自主研发的容 ...
- 基于云ESB的API解决方案
随着云计算技术的不断发展,信息化上云是大势所趋,随着当前SaaS.IaaS越来越成熟之际,PaaS将是主要发力点.AEAI ESB云服务总线是在基于K8S云管理平台(UMC)部署的数通畅联iPaaS云 ...
- 走进云研发时代 阿里云发布云原生DevOps解决方案
2020年10月21日,阿里云云效DevOps平台联合云原生应用平台共同举办"阿里云云原生DevOps解决方案重磅发布"云端发布会,正式发布基于阿里巴巴最佳研发实践的云原生DevO ...
- 基于webpack搭建前端工程解决方案探索
关于前端工程 \\ 下面是百科关于"软件工程"的名词解释: \\ \ 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科. \ \\ 其中,工程化是方法,是 ...
最新文章
- 修改注册表添加信任站点及启用Activex控件(转载)
- Win8Metro(C#)数字图像处理--2.33图像非线性变换
- 自动生成sqlserver增删改成_如何批量生成证书证件-可变条码-可变图片-可变数据-快速教程...
- 糊涂的教授【拓扑排序】
- laragon环境安装新的php版本后弹出php startup
- Python爬虫之xpath的详细使用(爬虫)
- Python运维插件——psutil
- MySQL学习8 - 数据的增删改
- SP2010开发和VS2010专家食谱--第七章节--使用客户端对象模型(2)--Handling exceptions...
- 【ps-course】layer 图层
- Safari 14.0 版本安装json插件
- 计算机应用知识试题 上学吧,自考计算机应用高分技巧,自考计算机应用作答技巧...
- 港科夜闻|香港科大彭倩教授分析疫情下企业如何减低投资损失
- python可以自动拆分表格吗_Python 拆分表格并发送邮件
- 昌吉学院计算机工程系毕业后安排工作嘛,经济贸易分院成功举办昌吉学院与我院本科教学与学生工作对接会...
- Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数...
- 学科实践活动感悟50字_社会实践心得体会50字
- 互联网公司招聘,你需要注意这四点
- 纳什均衡(Nash equilibrium)
- mplayer 视频播放器_如何全屏播放视频并使它与MPlayer循环播放?
热门文章
- svn版本控制git(github)
- Sublime Text3软件安装教程
- gitlab新建项目_基础架构之GitLab
- php 日历重复_PHP 生成日历
- python模拟密码有效性检测功能_用Python程序检查密码的有效性?
- JVM 内存模型:方法区(Method Area)
- 基于Java的RDMA高性能通信库(六):SDP - Java Socket Direct Protocol
- python服务器搭建ftp_Python搭建HTTP服务器和FTP服务器
- Java虚拟机详解(六)------内存分配
- 关于sql和MySQL的语句执行顺序