对于互联网业务而言,为保证服务的稳定运行,就要时刻关注服务器、服务调用、网络状况等各项指标,单是监控数据就存在非常大的量级。为了应对这种挑战,结合监控数据的特点,许多企业开始选择符合业务需求的时序数据库(Time Series Database),以便更好地支持运维监控。
转转 x TDengine
“使用 TDengine 完成改造后,线上的监控状态达到预期,满足当前业务需求,目前运行非常稳定。且配合 Grafana后,每个域名的流量、连接数、响应时间等信息都能够实时监控到。无论是在成本、性能层面,还是在使用的便利性上,TDengine 都具有非常大的优势,在我们的实践中也得到了证明,尤其是成本管控上效果非常显著。”
业务背景
转转的业务使用了 Nginx 作为反向代理,为保证代理层可用性,需要对 Nginx 进行实时状态监控。在服务器的基础监控的选择上,其将 OpenFalcon 逐步替换为夜莺,对 Nginx 的 reqstat 监控最初也使用了这两种。但是这两大监控都有一个共同缺点,即在展示时有条数限制,导致域名数量和机器数量相乘后数据量增多的情况下,无法满足需求。这种情况下,转转考虑对现有监控模块进行升级改造,重新进行数据库选型,最终在对比 InfluxDB 及 TDengine 之后做出了选择。
架构图
同程旅行 x TDengine
“聚焦到实际效果上,TDengine 数据写入性能很强。原本我们的单套存储系统需要 10 多台高配机器,IO 平均 30% 最高 100% 的情况下才能写完数据;现在只需要 7 台机器,并且 CPU 消耗在 10% 左右、磁盘 IO 消耗在 1% 左右,这点非常的棒。同时,其数据读取接入过程也很顺利。使用 RESTful 接口后,结合 TDengine 自带的强大聚合函数功能,很容易就能计算出想要的结果。”
业务背景
同程旅行有一套自研的基础监控系统“夜鹰监控”。目前夜鹰监控使用情况为百万级别 endpoint、亿级 metric、每秒 200 万并发写入以及 2 万并发查询。其存储组件基于 RRD 存储,RRD 存储虽然拥有很好的性能,却也存在着一些问题——基于内存缓存定期写入 RRD,在机器重启后会丢失部分数据。针对此问题,夜鹰监控做了很多高可用设计,但还是很难满足业务需求。
随着基础监控系统接入指标的增长,目前 2 套存储系统在资源消耗方面一直在增长,同时业务对监控也提出了更多的聚合计算功能要求。基于此,同程旅行需要从 InfluxDB、TDengine、Prometheus 等多款时序数据库中寻找一个新的来代替现有的存储系统,以减少运维成本。
架构图
得物 x TDengine
“目前 TDengine 承载了数百亿数据,在生产环境运行平稳, CPU 使用率日常不到 1 % ,内存使用率稳定在 25 % 以下。大批量的写入,耗时基本也能保持在 10 ms,属于比较理想的范围;不管是大数据量范围的聚合查询,还是指定查询某一小区间内的全部数据,查询效率都非常优异;在存储上,我们的全量数据分散在三台机器中,根据计算得知 TDengine 对于监控数据的压缩率达 10 %,相当可观。”
业务背景
作为一家互联网电商公司,得物有许多系统和场景都需要做流量的监控和防护,一天就能够产生数亿数据,写入速度达到万 TPS ,该数据量级无法用传统的关系型数据库处理,亟需一款能够承载大量的流量监控数据、并能对数据进行存储和高效查询的数据库。在对比了 InfluxDB 、OpenTSDB 、Cassandra 等时序数据库的性能后,其最终选择 TDengine 。
架构图
浙商银行 x TDengine
“我们存储于 TDengine 中的数据主要为时序类数据,如CPU、内存使用率等系统运行数据,微服务调用、分布式锁、数据库操作处理时间,业务线程池、连接池等各类指标数据。目前微服务可视化服务治理平台对并发要求较高,但是 TDengine 可以很好地满足需求,插入/查询平均耗时均在 10ms 以内。”
业务背景
浙商银行微服务可视化治理平台是基于 Java 体系自研的微服务治理监控平台,为行内基于统一的微服务框架开发的应用提供全面、实时的微服务治理监控功能。在这样的业务场景中,数据量大、监控指标繁杂成了主要挑战,浙商银行需要一款能高效处理时序数据的工具。在明确了核心诉求之后,其调研了包括 Apache Druid、InfluxDB 和 TDengine 在内的几款典型时序数据库,在对比后决定尝试 TDengine。
架构图
结语
从上述企业的具体数据架构改造实践中我们能够看到,在应对海量时序数据的 IT 运维监控需求时,时序数据库明显要更加专业,在性能和成本管控上都上升了一个维度。而这些行业的头部企业在众多时序数据库产品中都选择了 TDengine,个中原因从改造效果中也可见一斑,有同样需求的小伙伴也可以通过阅读具体的案例细节了解更多。TDengine 目前已经运营了几十个用户交流群,如果你有要进群沟通了解的需求,可以添加小T微信:tdengine1 。