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

性能测试

写性能

上述测试结果显示了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的应用能够提升运维效率,降低运维成本,真正帮助企业实现降本增效。

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

海量监控数据处理如何做,看华为云SRE案例分享的更多相关文章

  1. “3+3”看华为云FusionInsight如何引领“数据新基建”持续发展

    摘要:一个统一的现代化的数据基建需要三类架构来实践三种不同的应用场景. 近期,美国知名科技企业风投机构A16Z总结出一套通用的技术架构服务,分为以下三种场景. 一.数据基建架构全景 数据流向显示,左侧 ...

  2. 当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性

    摘要:当前MySQL所有版本不支持分布式事务的崩溃恢复安全,这严重影响了分布式事务的高可用保障. 华为云数据库内核高级技术专家,拥有十多年MySQL内核研发经验,目前在华为云数据库团队研发华为云数据库 ...

  3. AI本质就是“暴力计算”?看华为云如何应对算力挑战

    随着AI人工智能技术的飞速发展,相关的AI应用场景已经拓宽至各行各业.你可能想象不到的是,现在大家手上的智能手机的运算能力,甚至比美国航空航天局1969年登月计划中最先进计算机还高出几百上千万倍乃至更 ...

  4. 【华为云网络技术分享】HTTP重定向HTTPS配置指南

    [摘要] 本文介绍使用华为云弹性负载均衡配置Http重定向到Https的方法. 1. HTTP.HTTPS 头部标识 ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了  ...

  5. 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致

    摘要:在KV数据库领域,"强一致性"不仅是一个技术名词,它更是业务与运维的重要需求. 清明刚过,五一假期就要来了.大好春光,不如去婺源看油菜花吧!小云迅速打开APP刷出余票2张,赶 ...

  6. 解构华为云HE2E项目中的容器技术应用

    摘要:本文从容器技术应用的角度解构了HE2E项目的代码仓库配置.镜像构建.及docker-compose的部署方式.希望通过本篇文章分享可以使更多的开发者了解容器技术和华为云. 本文分享自华为云社区& ...

  7. Python正则表达式,看完这篇文章就够了...#华为云·寻找黑马程序员#【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  8. 华为“方舟编译器”到底是啥?一文看懂TA如何让手机性能再突破【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  9. 《一张图看懂华为云BigData Pro鲲鹏大数据解决方案》

    8月27日,华为云重磅发布了业界首个鲲鹏大数据解决方案--BigData Pro.该方案采用基于公有云的存储与计算分离架构,以可无限弹性扩容的鲲鹏算力作为计算资源,以支持原生多协议的OBS对象存储服务 ...

  10. 揭秘丨7分钟看懂华为云鲲鹏Redis背后的自研技术【华为云技术分享】

    2019年5月,华为云发布全球首个基于自研ARM架构的分布式缓存鲲鹏Redis,搭载华为LibOS+华为编译器+安全容器引擎三项黑科技,在保证Redis强劲高性能外,还降低客户30%的使用成本,真正实 ...

随机推荐

  1. React框架的基本运行原理与组件定义方式

    React框架的基本运行原理 React的本质是内部维护了一套虚拟DOM树,这个虚拟DOM树就是一棵js对象树,它和真实DOM树是一致的,一一对应的. 当某一个组件的state发生修改时,就会生成一个 ...

  2. Centos7安装Promethus

    安装Prometheus(普罗米修斯)监控: 实验环境准备: 服务器 IP地址 Prometheus服务器 192.168.1.22 被监控服务器 192.168.1.20 grafana服务器 19 ...

  3. 采药(lgP1048)

    emmm 01 背包模板... 设 f[i] 表示背包容积为 i 时所得的最大价值. 则状态转移方程为 f[j] = f[j - w[i]] + c[i] . #include<bits/std ...

  4. CSS色域、色彩空间、CSS Color 4新标准

    引言 近期,三大主流浏览器引擎均发布最新版本,支持W3C的CSS Color 4标准,包含新的取色方法color()和相应语法,可展示更多的色域及色彩空间,这意味着web端能展示更丰富更高清的色彩.虽 ...

  5. P1522 [USACO2.4] 牛的旅行 Cow Tours

    Problem 题目简述 给你两个独立的联通块,求:在两个联通块上各找一个点连起来,使得新的联通块的直径的最小值. 思路 本题主要做法:\(Floyd\). 首先,Floyd求出任意两个点之间的最短路 ...

  6. 【Javaweb】Servlet九 | base标签的作用【详细介绍】 Web路径相关知识

    base标签的作用 导言:路径跳转 <a href="/a/b/c.html">这是a下的b下的c</a></br> <a href=&q ...

  7. 如何用excel制作图表?

    Excel是一个非常强大的电子表格软件,其中包含了很多绘制图表的功能.下面是一些基本步骤,可以帮助你用Excel制作图表: 打开Excel并输入数据.在Excel中,首先需要输入需要制作图表的数据.可 ...

  8. bi报表软件开发的特点什么,产品和流程?

    BI报表软件是一种针对企业数据分析和决策支持的工具,具有高度灵活性和易用性.在当前数据化的时代,越来越多的企业开始关注BI报表软件的开发和应用,因为它们可以帮助企业更好地管理数据,更好地进行商业决策. ...

  9. js实现关闭子窗口时刷新父窗口

    当我们在子窗口中关闭窗口时,可以使用JavaScript来刷新父窗口.下面是一个详细的介绍: 1. 获取父窗口对象: - 在子窗口中,可以使用`window.parent`属性获取父窗口的全局对象. ...

  10. C#/.NET/.NET Core优秀项目和框架2023年11月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(公众号每周至少推荐两个优秀的项目和框架当然节假日除外),公众号推文有项目和框架的介绍.功能特点以及部分截图等(打不开或 ...