Skip to main content

moregeek program

海量监控数据处理如何做,看华为云sre案例分享-多极客编程

摘要:openGemini的设计和优化都是根据时序数据特点而来,在面对海量运维监控数据处理需求时,openGemini显然更加有针对性。

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基础设施监控数据。

性能测试

写性能

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

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

  • 从4U到32U,openGemini写入性能可以线性扩展(扩展比为0.8)
  • 从4U的155万Metrics/s平稳增长到32U的560万Metrics/s

查询性能

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

测试语句举例:

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

测试规格与集群部署

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

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

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

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

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

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

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

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

测试结论

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

迁移方案

数据双写

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

  1. 如果openGemini出现问题可以迅速把流量切回去,保证现网业务运行平稳。
  2. HBase的数据不能直接迁移到openGemini,如果开发迁移工具成本又很高,故HBase和openGemini双写,在此过渡期间是个好的办法。

查询切流

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

实际效果

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

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

和之前的HBase对比:

  1. 单region下,HBase集群规模从数百计算节点降至数十节点,规模缩减60%以上
  2. 截止目前,上线集群平均每秒写入达到1.81亿条指标数据,存储空间节约超90%,CPU资源上可以节省68%,内存资源可以节省50%
  3. 查询性能大幅提升

总结

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


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

©著作权归作者所有:来自51CTO博客作者华为云开发者联盟的原创作品,如需转载,请与作者联系,否则将追究法律责任

cdh+kylin三部曲之三:kylin官方demo_github.com/zq2599的博客-多极客编程

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本文是《CDH+Kylin三部曲》系列的终篇,先简单回顾前面的内容: 《CDH+Kylin三部曲之一:准备工作》:准备好机器、脚本、安装包; 《CDH+Kylin三部曲之二:部署和设置》:完成CDH和Kylin部署,并在管理页面做好相关的设置;

flink同步kafka数据到clickhouse分布式表_大数据技术派的博客-多极客编程

我的gitee地址:https://gitee.com/ddxygq/bigdata-technical-pai 业务需要一种OLAP引擎,可以做到实时写入存储和查询计算功能,提供高效、稳健的实时数据服务,最终决定ClickHouse。 什么是ClickHouse? ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 列式数据库更适合于OLAP场景(对于大多数

flink sql管理平台flink-streaming-platform-web安装搭建_大数据技术派的博客-多极客编程

我的gitee地址:https://gitee.com/ddxygq/bigdata-technical-pai 最近看到有人在用flink sql的页面管理平台,大致看了下,尝试安装使用,比原生的flink sql界面确实好用多了,我们看下原生的,通过bin/sql-client.sh命令进入那个黑框,一只松鼠,对,就是那个界面。。。。 这个工具不是Flink官方出的,是一个国内的小伙伴写的

工业数据分析为什么要用fusioninsight mrs iotdb?-多极客编程

摘要:MRS IoTDB,它是华为FusionInsight MRS大数据套件中的时序数据库产品,在深度参与Apache IoTDB社区开源版的基础上推出的高性能企业级时序数据库产品。本文分享自华为云社区《​​工业数据分析为什么要用FusionInsight MRS IoTDB?​​》,作者:高深广 。随着工业互联网逐步兴起,在加速工业自动化、智能化的同时,也进一步加速工业生产时间序列数据的产生速

hadoop--hdfs特点-多极客编程

1,分布式存储团叶槲蕨,支持海量数据存储。(GB、TB、PB级别数据)2,高容错性,数据拥有多个副本(副本冗余机制)。副本丢失后,自动恢复。3,低成本部署,hadoop可在廉价的服务器上4,能够检测和快速应对硬件故障,通过RPC心跳机制来实现5,简化的一致性模型,这里指的是用户在使用HDFS时,所有关于文件相关的操作,如文件切块、块的复制、块的存储等细节并不需要去关注,所有的工作都已被框架封装完毕

hdfs细节-多极客编程

DFS架构图 知识点1.HDFS Hadoop Distributed File System  Hadoop的分布式文件系统,可以存储海量数据(文件,图片,影音等),实际工作中,一般存储的都是用户的访问日志(.txt)2.HDFS之所以能够存储海量数据,原因是一个可扩展的分布式架构,硬盘存储空间不够,加服务器即可。3.HDFS是基于Google的一篇论文《Google File Syste

问题解决系列:spark.debug.maxtostringfields-多极客编程

问题场景使用​​spark 2.4.0​​进行统计数据,报错误,错误提示为:WARN Utils:66 - Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.debug.maxToStringFields' in

hadoop生态圈-knox网关的应用案例-多极客编程

一.Knox网关简介  据Knox官网所述(http://knox.apache.org/):Apache Knox Gateway是用于与Apache Hadoop部署的RESTAPI和UI交互的应用程序网关。Knox Gateway为与Apache Hadoop集群的所有REST和HTTP交互提供一个单一的访问点。KNOX提供三组面向用户的服务:    代理服务:Apache Knox项目的主

基于云原生的集群自愈系统 flink cluster inspector-多极客编程

作者: 舟柒、楼台1. 业务背景与挑战1.1 实时计算集群现状关于热点机器处理一直是阿里云 Flink 集群运维的一大痛点,不管在日常还是大促都已经是比较严重的问题,同时这也是分布式系统的老大难问题。而在今年整个阿里云成本控制的背景下,随着集群水位的逐步抬升,热点问题愈发严重。日均有上千次的热点机器出现,并且在晚上业务高峰期,整个热点持续时间会超过 60min,对于业务以及对于平台影响是比较大的。

zookeeper安装和基本操作-多极客编程

一,安装1,解压zookeeper-3.4.7.tar.gz2,cd /conf,复制 cp zoo_sample.cfg zoo.cfg二,启动cd到zookeeper-3.4.7/bin下./zkServer.sh start启动成功后Starting zookeeper ... STARTED三,关闭sh ./zkServer.sh stop关闭成功后Stopping zookeeper .

zookeeper分布式一致性算法--2pc、3pc及其应用-多极客编程

2PC、3PC的基本概念2PC,3PC主要是基于分布式事务的分布式一致性算法(因为分布式事务也可能会导致数据的不一致问题,这跟副本的不一致性从大类上看是都归于数据的不一致)。在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调。由于存在事务机制,可以保证每个独立节点上的数据操作可以满足ACID。但是,相互独立的节点之间无法准确的知道其他节点中的事务执行情况。所以从理论上讲,两台机器

zookeeper基本概述-多极客编程

Zookeeper为分布式应用提供了高效且可靠的分布式协调服务,其实现依赖于ZAB协议,实现了一种主备模式的架构来保持数据的一致性(Zookeeper本身可保证分布式数据的一致性,从而可以提供高效可靠的协调服务)。Zookeeper致力于提供一个高性能、高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺序性)的分布式协调服务。可用于大型的分布式系统中。 Zookeeper作为分布式协调服务