写点什么

海量监控数据处理如何做,看华为云 SRE 案例分享

  • 2022-12-20
    中国香港
  • 本文字数:1952 字

    阅读完需:约 6 分钟

海量监控数据处理如何做,看华为云SRE案例分享

IT 运维诞生于最早的信息化时代。在信息化时代,企业的信息化系统,主要为了满足企业内部管理的需求。通常是集中、可控和固化的烟囱式架构。传统 IT 运维,以人力运维为主,在单点式和烟囱式的架构中,的确起到了非常重要的作用。


我们知道,传统运维模式关注的是单台 IT 设备的故障率或单套应用系统的可用性,系统与系统之间,设备与设备之间,是彼此孤立的,因此产生的数据量也相对有限。


但进入到云计算时代之后,IT 的边界被完全打开,更多的联接、更多的设备、更多的服务,使得系统规模开始变得越来越大,随着监控粒度越来越细,监控数据呈现出爆炸式增长的态势,每天将产生上百 TB 的数据,如何对如此海量的数据进行处理成为华为云 SRE 面临的一大难题。

业务背景


华为云 SRE 基础设施监控系统是一个先进的平台,用于监控和管理华为云在全球各个 region 的基础设施。该系统需要实时监测各种资源,包括网络、存储、计算、安全和各个云服务。

现状


业务诞生之初,适逢“大数据”时代,Hadoop 作为批量离线计算系统已经得到了业界的普遍认可,并经过了工业上的验证,所以 HBase 具备“站在巨人肩膀之上”的优势,其发展势头非常迅猛。HBase 还是一种 NoSQL 数据库,支持水平扩展和大规模数据的存储能力,故选型 HBase。当然内部也基于 HBase 做过很多优化,比如缩短 row key,减少 Key-Value 数,按照时间维度分表,将单行多列变为单行单列。

痛点


随着华为云业务扩展,特别是近些年,华为云在全球布局的速度也突飞猛进,所要监控的设备也越来越多,颗粒度越来越细,查询场景也逐渐丰富,HBase 明显已经无法满足当前业务需要,问题主要体现在以下几点:


  1. HBase 不支持高阶聚合查询,时间范围太大的查询性能比较差,无法渲染图表

  2. HBase 没有特定的压缩算法,应对每天上百 TB 数据,存储成本长期居高不下

  3. HBase 部署需要依赖第三方组件 HDFS 和 Zookeeper,运维成本高

技术选型


为了解决这些痛点,我们将目光投向时下流行的时序数据库(Time-Series Database)。首先在 DBEngines 排名前 20 的开源时序数据库中甄别,排除商业品类、开源协议不友好的,初步拟选了 InfluxDB、Druid、Prometheus、OpenTSDB 几款,经过技术对比,InfluxDB 只有单机版,功能和性能受限大,故排除。OpenTSDB 底层存储仍然是 HBase,存储成本问题仍然存在,故排除。Prometheus 不适合在大规模数据场景下使用。Druid 是一个实时分析型的数据库,用于大规模实时数据导入、快速查询分析的场景,基本满足需求,但在时空聚合查询场景时延相对较大。徘徊之际,了解到华为云开源的 openGemini,经过测试对比,openGemini 在数据压缩效率、读写性能方面优势明显,经过和 openGemini 社区团队交流后,最后选择了 openGemini 存储全网华为云 SRE 基础设施监控数据。

性能测试

写性能


上述测试结果显示了 openGemini 从 4U 扩展到 32U 的性能表现,可以看出:


  • 从 4U 到 32U,openGemini 写入性能可以线性扩展(扩展比为 0.8)

  • 从 4U 的 155 万 Metrics/s 平稳增长到 32U 的 560 万 Metrics/s

查询性能


查询性能是我们重点考虑的方面,测试工具 Jmeter,测试场景从业务中挑选了使用频率较高的三种类型查询语句,在此基础上变化查询并发数、查询时间范围、聚合算子等进行测试。


测试语句举例:



测试规格与集群部署



测试结果(20 并发 6h 表示查询并发为 20,时间范围为 6 小时)


精确查询整体性能表现如下:



时间聚合查询整体性能表现如下:



时空聚合查询整体性能表现如下:



测试结论


整体上,openGemini 在上述三种查询场景下,相比 Druid 性能大幅领先。openGemini 写入性能满足目前同样流量大小的 HBase 集群,而且使用的规模要小不少。此外,openGemini 不依赖任何第三方组件或应用,同时还有非常丰富的监控指标,更好的观察系统的运行状况,快速定位和解决问题。

迁移方案

数据双写


采用 openGemini 后,并没有立即拆除已有系统。主要考虑两方面:


  1. 如果 openGemini 出现问题可以迅速把流量切回去,保证现网业务运行平稳。

  2. HBase 的数据不能直接迁移到 openGemini,如果开发迁移工具成本又很高,故 HBase 和 openGemini 双写,在此过渡期间是个好的办法。

查询切流


我们给 openGemini 和 HBase 配置了不同的 DNS,切换 DNS 就可以非常方便地查询不同数据库的数据,对现网可靠性也不会产生影响。

实际效果


截止目前,已实现全网流量切入 openGemini,系统平稳运行超过半年。

和之前的 HBase 对比:

  1. 单 region 下,HBase 集群规模从数百计算节点降至数十节点,规模缩减 60%以上

  2. 截止目前,上线集群平均每秒写入达到 1.81 亿条指标数据,存储空间节约超 90%,CPU 资源上可以节省 68%,内存资源可以节省 50%

  3. 查询性能大幅提升

总结


openGemini 的设计和优化都是根据时序数据特点而来,在面对海量运维监控数据处理需求时,openGemini 显然更加有针对性,而以上的事实证明,在运维监控场景中,openGemini 的应用能够提升运维效率,降低运维成本,真正帮助企业实现降本增效。


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
海量监控数据处理如何做,看华为云SRE案例分享_数据库_华为云开发者联盟_InfoQ写作社区