Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >计费监控优化系列:TDSQL监控优化

计费监控优化系列:TDSQL监控优化

原创
作者头像
腾讯技术工程官方号
修改于 2017-08-25 02:41:40
修改于 2017-08-25 02:41:40
1.5K0
举报

作者:吕越

TDSQL作为金融级数据库,目前已大量应用部署在计平内部,业务伙伴,公有云以及私有云。随着业务增长,线上单一TDSQL集群的实例数最大可到1200+ SET,近3600+ MySQL instance,当初为快速实现监控覆盖的老TDSQL监控面临挑战,运行状况急需改善;同时为提升监控的有效发现能力,引入更适合的监控方法,对TDSQL的扩大应用也具有促进意义。

为此我们从两个阶段分别着手对TDSQL监控进行整合优化,阶段一:对现有的监控逻辑进行梳理,整理解决现有痛点。阶段二:引入新的监控算法,如趋势性算法、突变算法、推理算法等。本文主要对阶段一主要工作进行介绍。

问题

现有监控主要分3部分。工作图如下:

数据采集

数据采集当前包含有多个数据源,如zk、mysql、hdfs、oss server等。数据目前为1min采集粒度,采集回来之后写入存储。数据存储鉴于减少维护成本和取得收益的均衡性,仍采用MYSQL或TDSQL。目前数据采集的主要问题为: 1、采集并发度不高。数据量大时,部分数据源数据串行拉取,采集不过来,导致曲线掉点毛刺; 2、采集会有多个数据源和多个数据流向,相互之间会有影响。如入库监控存储和外部存储时,为同一线程,监控线程入库失败或延时,导致外部存储也掉点毛刺; 3、采集同多个数据源和存储之间链接多为短链接,无法复用性能不高; 4、数据入库io频度高,导致入库慢。

数据存储

数据存储面临的问题,更为迫切,由于是1min粒度,且业务增长块,采集的指标1min 有30W + 指标入库,老的表结构设计不满足现有监控存储的要求。主要面临问题如下: 1、存储占用空间大,有冗余字段。集群平均天20G+的存储消耗,目前容量下最大存储时长只能到1个月,即700G+。 2、数据查询慢。由于是月表设计量大索引大数据曲线展示时耗长,分析查询数据也受到影响。 3、不便管理。数据只能整月删除,或者按时间删除时需要扫描全表,影响监控。

分析&告警

分析告警也为1min 周期进行分析,拉取监控的数据,根据响应的监控策略进行分析,产生告警并发送。在现阶段分析告警机制相对简单,主要依赖采集和存储稳定性,避免误告。

解决

针对以上问题,我们针对向的对采集进行了重写,对存储进行了重新设计,对分析&告警也配合存储做了重写。具体方案如下:

采集优化

在采集优化上主要着重解决已存在的问题,如并发能力,持久化链接,入库瓶颈等。

1、提高并发度,将并发能力由之前实例级(实例数据拉取会有多次io串行拉取),分解到io级别,提高并行能力; 2、多个数据源独立线程和任务。减少数据源及数据入库之间的相互干扰; 3、数据源和数据入库采用队列形式,并独立队列,避免相互影响; 4、数据入库优化为批量入库,减少io频率; 5、数据索引进行cache,减少io查询(索引部分见存储优化部分解释); 6、连接复用。尤其是zk、http、mysql的链接复用。

优化效果如下,有效解决了数据采集掉点,曲线毛刺,以及CPU消耗高问题,新老对比如下图。

1、掉点优化新老对比

2、掉点优化后

3、曲线毛刺新老对比

4、毛刺优化后

5、CPU优化新老对比

6、优化后新采集

存储优化

为解决现存问题,在存储上我们也进行重新设计。鉴于维护成本,以及对相关TSDB的比较,我们仍选用TDSQL或MYSQL作为存储方案,并进行插件化替换,目前使用TDSQL GroupSharding的二级分区版本,分区规则为Hash+按日期分区。考虑到后续监控算法引入,会增加对数据查询压力。相关tsdb中主要比较了influxdb和opentsdb。influxdb写入性能优良,也足够的轻量,且有一定的高可用,但查询性能有瓶颈,opentsdb较重量,维护成本高。沿用TDSQL或MYSQL作为解决方案,我们主要做了如下优化:

1、引入索引表。将冗余字段进行了剥离,减少存储消耗; 2、时间序列分钟级转到小时级的60列。时序数据为相同的指标在不同时间的取值序列。这种方式一方面可以减少数据量,减少索引量,另一方面也可以减少存储消耗; 3、动态和静态指标分离。采集的指标并非所有均需要监控,降需要监控数据做历史存储,静态指标,存储当前值即可; 4、对历史数据表进行分区,表压缩; 5、历史数据按天分表方便进行滚动。

优化效果如下,节省空间近95%。

总结

现阶段主要是解决现网监控存在的问题,即在存储和性能上进行了改良,缓解了网TDSQL监控痛点,已能够经得住业务近期的增长和监控需求,但如何优化现有监控策略,提供更丰富的监控方法,如多指标的组合告警的策略,趋势性告警是否有效等,仍是下个阶段需要进行攻关的重点。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
国产监控之光-夜莺监控(Nightingale)
夜莺是一个服务端组件,类似 Grafana,可以对接不同的TSDB时序数据库作为数据源,支持的TSDB时序数据库如Prometheus、VictoriaMetrics、Thanos等等,只要数据进到这些库里了,夜莺就可以对数据源的数据进行分析、告警、可视化,以及后续的事件处理、告警自愈。
Reactor2020
2023/04/16
2.7K0
国产监控之光-夜莺监控(Nightingale)
B站监控2.0架构落地实践
众所周知,Metrics指标数据是可观测重要的基石之一,在2021年底的时候,B站基于Promtheus+Thanos 方案,完成了统一监控平台的落地。但随着B站业务迅猛发展,指标数据级也迎来了爆炸式增长,不仅给现有监控系统的稳定(可用性, 云上监控数据质量等)带来冲击,也无法满足公司层面可观测稳定性建设(1-5-10)目标。当前架构面临的痛点总结如下:
哔哩哔哩技术
2024/12/26
2800
B站监控2.0架构落地实践
构建企业级监控平台系列(一):监控系统概述及发展趋势
在这之前,我们相继卷完了:关系型数据库 MySQL 、 NoSQL 数据库 Redis 、 MongoDB 、搜索引擎 ElasticSearch 、大数据 Hadoop框架、PostgreSQL 数据库、消息中间件 Kafka、分布式协调中间件 Zookeeper、消息中间件 RabbitMQ 这些系列的知识体系。今天开始,我们将踏上另一个系列的学习之路:企业级监控平台。
民工哥
2023/09/26
1.8K0
构建企业级监控平台系列(一):监控系统概述及发展趋势
作为背了不少锅的运维人,看到这几款监控工具,差点拍断大腿了!
运维监控工具千千万,仅开源的解决方案就有流量监控(MRTG、Cacti、SmokePing、Graphite等)和性能告警(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供选择。
网络工程师笔记
2023/10/24
1.4K0
作为背了不少锅的运维人,看到这几款监控工具,差点拍断大腿了!
干货 | 携程监控系统Hickwall演进之路
作者简介 大伟,携程软件技术专家,关注企业级监控,日志,可观测性领域。 一、背景 监控领域有三大块,分别是Metrics,Tracing,Logging。这三者作为IT可观测性数据的三剑客,基本可以满足各类监控、告警、分析、问题排查等需求。 Logs:我们对于Logs是更加宽泛的定义,即记录事物变化的载体,包括常见的访问日志、交易日志、内核日志等文本型以及GPS、音视频等泛型数据。日志在调用链场景结构化后其实可以转变为Trace,在进行聚合、降采样操作后会变成Metrics。 Metrics:是聚合后的数
携程技术
2022/03/04
1.8K0
小米的开源监控系统open-falcon架构设计,看完明白如何设计一个好的系统
早期,一直在用zabbix,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和用户的使用效率方面,已经无法支撑了。
Java架构师必看
2021/07/12
8K0
Prometheus实战篇:Prometheus简介
时序数据,是在一段时间内通过重复测量(measurement)而获得的观测值的集合;将这些观测值绘制于图形之上,它会有一个数据轴和一个时间轴;
全干程序员demo
2023/12/22
4400
Prometheus实战篇:Prometheus简介
故障发现、定位提效超70%,去哪儿可观测体系做了哪些优化?
TakinTalks稳定性社区专家团成员。2018年加入去哪儿网,目前负责去哪儿网CI/CD、监控平台和云原生相关平台建设。期间负责落地了去哪儿网容器化平台建设,协助业务线大规模应用迁移至容器平台,完成监控系统Watcher2.0的改造升级和根因分析系统落地。对监控告警、CI/CD、DevOps有深入的理解和实践经验。
TakinTalks稳定性社区
2023/12/04
7350
故障发现、定位提效超70%,去哪儿可观测体系做了哪些优化?
这 5 种常用运维监控工具都不会?你算啥运维人
运维监控工具千千万,仅开源的解决方案就有流量监控(MRTG、Cacti、SmokePing、Graphite 等)和性能告警(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供选择。
互联网老辛
2021/04/22
2.9K0
这 5 种常用运维监控工具都不会?你算啥运维人
【系统设计】指标监控和告警系统
在本文中,我们将探讨如何设计一个可扩展的指标监控和告警系统。一个好的监控和告警系统,对基础设施的可观察性,高可用性,可靠性方面发挥着关键作用。
全球技术精选
2022/09/05
1.9K0
【系统设计】指标监控和告警系统
大数据下的精准实时监控系统 | Promethus or Zabbix?
我们先来了解什么是监控,监控的重要性以及监控的目标,当然每个人所在的行业不同、公司不同、业务不同、岗位不同、对监控的理解也不同,但是我们需要注意,监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用。
王知无-import_bigdata
2021/03/26
3.3K0
大数据下的精准实时监控系统 | Promethus or Zabbix?
58HBase平台实践和应用—时序数据库篇
OpenTSDB是一个分布式、可伸缩的时序数据库,支持高达每秒百万级的写入能力,支持毫秒级精度的数据存储,不需要降精度也可以永久保存数据。其优越的写性能和存储能力,得益于其底层依赖的HBase,HBase采用LSM树结构存储引擎加上分布式的架构,提供了优越的写入能力,底层依赖的完全水平扩展的HDFS提供了优越的存储能力。
Spark学习技巧
2019/10/31
1.2K0
京东智联云云原生实践,告诉你何为监控和日志的黄金法则
出品| 区块链大本营(ID:blockchain_camp ) 在当下,云原生的火爆不容小觑。随着虚拟化技术的成熟和分布式框架的普及,在容器技术、可持续交付、编排系统等开源社区的推动下,以及微服务等开发理念的带动下,应用上云已经是不可逆转的趋势,云原生(Cloud Native)的概念也应运而生,更是火得一塌糊涂。 Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。 而作为云
区块链大本营
2023/03/31
4520
京东智联云云原生实践,告诉你何为监控和日志的黄金法则
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
监控是运维系统的基础,我们衡量一个公司/部门的运维水平,看他们的监控系统就可以了。一个完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统。
章为忠学架构
2023/03/23
12.7K0
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
节约资源、提升性能,字节跳动超大规模 Metrics 数据采集的优化之道
在 ArchSummit 2023 北京站上,字节跳动刘浩杨分享了《字节跳动超大规模 Metrics 数据采集的实践和探索》,他从字节跳动可观性平台的建设入手,讨论了字节跳动数据采集所面临的问题和挑战,介绍了在数据采集方面的内核优化和工程实践,为许多在数据采集方面的企业提供了可落地的参考思路,本文为分享文章整理~
深度学习与Python
2023/08/09
1.4K0
节约资源、提升性能,字节跳动超大规模 Metrics 数据采集的优化之道
监控系统选型,这篇不可不读!
目前我所经历的几家公司,监控系统都是自研的。其实业界有很多优秀的开源产品可供选择,能满足绝大部分的监控需求,如果能从中选择一款满足企业当下的诉求,显然最省时省力。
码哥字节
2020/09/24
2.9K0
监控系统选型,这篇不可不读!
vivo服务端监控架构设计与实践
当今时代处在信息大爆发的时代,信息借助互联网的潮流在全球自由的流动,产生了各式各样的平台系统和软件系统,越来越多的业务也会导致系统的复杂性。
2020labs小助手
2022/02/21
1.3K0
vivo服务端监控架构设计与实践
构建企业级监控平台系列(十三):Prometheus Server 配置详解
更多关于企业级监控平台系列的学习文章,请参阅:构建企业级监控平台,本系列持续更新中。
民工哥
2023/10/23
1.7K0
构建企业级监控平台系列(十三):Prometheus Server 配置详解
实战 Prometheus 搭建监控系统
Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于做视频分享的 YouTube,由于他们在微服务架构的道路上越走越远,出现了成百上千的服务,使用传统的监控系统 StatsD 和 Graphite 存在大量的局限性,于是他们在 2012 年开始着手开发一套全新的监控系统。Prometheus 的原作者是 Matt T. Proud,他也是在 2012 年加入 SoundCloud 的,实际上,在加入 SoundCloud 之前,Matt 一直就职于 Google,他从 Google 的集群管理器 Borg 和它的监控系统 Borgmon 中获取灵感,开发了开源的监控系统 Prometheus,和 Google 的很多项目一样,使用的编程语言是 Go。
Spark学习技巧
2021/03/05
1.3K0
实战 Prometheus 搭建监控系统
最流行的云原生监控解决方案:Prometheus+Grafana
prometheus是由SoundCloud开源的CNCF旗下的监控系统,是Google BorgMon监控系统的开源版本,提供了完善的监控和告警功能.
MCNU云原生
2023/03/17
2.7K0
最流行的云原生监控解决方案:Prometheus+Grafana
推荐阅读
相关推荐
国产监控之光-夜莺监控(Nightingale)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档