智能采集发布器( Kubernetes为代表的云原生技术正在吞噬世界(组图))
优采云 发布时间: 2022-02-15 13:03智能采集发布器(
Kubernetes为代表的云原生技术正在吞噬世界(组图))
2011年,马克·安德森(网景创始人、硅谷著名风险投资家)留下了一句经典的话,软件正在吞噬世界。这种看似耸人听闻的说法早已习以为常。近10年来,在互联网浪潮下,IT技术发展迅速,软件、开源、云计算、云原生掀起一波又一波的高潮,创新技术不断涌现。
如今,以 Kubernetes 为代表的云原生技术正在吞噬世界。随着Kubernetes成为容器编排领域的事实标准,Prometheus也击败了以Zabbix为代表的metrics领域的诸多前辈,成为云原生时代容器监控的事实标准。
Prometheus 使用 Pull 方法采集被监控对象的监控指标数据,然后将数据保存在 TSDB(时序数据库)中,以便以后按时间检索。但是由于大部分监控都不能直接提供监控接口,exporter就应运而生了。exporter是采集监控数据的组件,通过Prometheus监控规范对外提供数据。
业务痛点
目前,既有 Prometheus 提供的官方出口商,也有第三方出口商。正是出口商让华夏银行的基础技术研究团队大放异彩,因为他们缺少对openGauss数据库的监控组件。
据华夏银行基础技术研究团队负责人胡杰介绍,华夏银行从去年开始在银行推广应用openGauss数据库,效果不错。
众所周知,银行金融服务的性能和稳定性非常重要,而交易数据库服务的可用性、可靠性和稳定性是核心环节。openGauss性能卓越,满足海量事务处理和快速稳定响应的要求;结合单元化部署模式,可实现高效灵活的横向扩展和业务支持。
胡杰表示:“openGauss是一个正在成长的开源数据库。一方面它比较新,并且深度融合了华为在数据库领域多年的经验。它有很多优势,比如高性能、高可用性、高安全性、并且易于运维。一方面,它还有进一步的成长空间,依托openGauss开源社区,大家可以共同努力,完善产品,推动产品向前发展。”
对于胡杰的团队来说,为了保证业务的正常运行,构建以Prometheus为核心的完整监控体系至关重要。但是,他们没有合适的监控组件从 openGauss 数据库中获取监控信息并将其发送给 Prometheus。
踏上自研之路
如何获取这个监控组件成为胡杰团队的一大课题。
由于市面上没有合适的产品,自研成为华夏银行基础技术研究团队的唯一出路。
这时,外界也传来了好消息。2021新创“大比拼”鲲鹏基础软件开发赛道启动。由信息技术应用创新工作委员会指导,华为主办,重庆鲲鹏创新中心、北京鲲鹏联合创新中心、openEuler开源社区、openGauss开源社区和openLooKeng开源社区共同主办。
胡杰的团队打算做的事情和比赛的主题很吻合,所以他们积极报名参加比赛。
据悉,本次比赛分为三个赛道:openEuler赛道、openGauss赛道和openLooKeng赛道。胡杰团队选择了openGauss赛道,他说:“选择这条赛道可以把比赛和我们的实际应用结合起来。一方面,参与比赛,检验我们产品方案的技术水平,了解我们的技术进步。” “行业;一方面,丰富我们自己的产品应用。可以说,这是一个双赢的选择。”
在 openGauss 赛道上,他们的标题是“Prometheus exporter 为 采集 提供指标和数据并监控 openGauss 服务”。
华夏银行基础技术研究团队
从7月14日开始报名到8月31日截止提交作品,时间不到两个月。在了解了比赛问题后,他们迅速行动,明确了项目组成员和个人职责。具体来说,胡杰是项目经理,陈曦是需求分析,陈伟是设计实施,王辉负责用户测试,田亮负责系统运维。时间紧、压力大、节奏快,给整个团队带来了巨大的挑战。
站在巨人的肩膀上
在项目开始时,团队根据希腊神话将项目命名为 Hermes。据了解,赫尔墨斯是古希腊神话中的商人、旅行者、盗贼和牲畜之神,也是众神的使者。之所以取这个名字,是因为它可以快速准确地从openGauss数据库中获取监控信息,并传输给Prometheus。
作为“信使”,Hermes一方面连接Prometheus,另一方面连接openGauss数据库。
据悉,openGauss数据库采集所有监测信息,并存储在自己的数据表中。“我们在使用的时候直接引用这些数据,非常方便。”
之后,您需要以 采集器 的 Hermes 身份出现。
Hermes直接采集从openGauss数据库中对应的表、视图和函数监控指标,包括SQL执行次数、基本运行信息、锁、会话、同步、活动链接、快照、复制、检查点、冲突、写入过程等等。
Hermes获取到这些监控指标后,将获取到的数据包封装成Prometheus要求的格式。最后将监控信息发送给 Prometheus。
陈薇说:“我们的工作相当于站在一个巨人的肩膀上,把这些数据拿出来,合理整合,然后送到后端使用。这样,就为我们节省了< @采集data,工作量很大。因为data采集最重要的部分,也是最耗时的地方之一就是如何采集数据,现在openGauss数据库已经把监控数据整理好了,我们只是需要提取它并在最后完成拼图只是一块。”
在这个过程中,他深刻认识到openGauss是关系型数据库的代表,深度融合了华为在数据库领域多年的内核经验,对架构、事务、存储引擎、优化器和ARM架构进行了适配和优化。可以满足银行业企业级场景的需求。同时,它的语法高度兼容传统的Oracle和MySQL数据库,非常容易进行数据库的本地化改造。
开源监控组件 Hermes
据陈伟介绍,他们在产品设计上下了很大功夫,简化了代码。在充分分析采集需求的基础上,进行一般的归纳和抽取,然后在模型设计时进行抽象,将通用代码存放在基类或接口上。这样,对于每个特定的 采集 需求,代码量就大大减少了。
作为项目设计实施者,陈伟表示:“无论如何实现这个组件,核心必须满足低耦合、高扩展、可维护、易用四大特性。”
据他介绍,在设计产品时,他将爱马仕设计为普罗米修斯的出口商。在实现基础数据采集能力的基础上,让它主动将数据推送到Push Gateway,以更好地适应业务网络隔离场景下的监控数据抓取。这样就完成了Prometheus系统的监控数据采集能力。
然后,将 Hermes 视为一个独立的服务,提供一套完整的 Restful API 接口,可以直接连接其他需要监控数据的应用,从而扩展其应用场景,不再局限于 Prometheus。
“所有Hermes采集配置、推送配置等控制参数都可以在运行时动态修改并实时生效,大大提高了它的灵活性和易用性。” 他加了。
另外,Hermes使用java语言开发,而不是Prometheus系统常用的go语言,打消了很多客户不想多语言混用的顾虑。
当然,这个产品开发过程并非一帆风顺。
团队遇到的最大挑战是Prometheus及其exporter、Push Gateway等组件的学习和应用。普罗米修斯虽然很成熟,应用范围很广,但对陈薇等人来说却是全新的。因此,他们需要对 Prometheus 监控系统以及从 0 到 1 的各种组件有一个完整的了解。比如向 Prometheus 和 Push Gateway 发送数据时,发送的数据是否应该收录时间戳是需要特殊处理的事情。
此外,团队遇到的另一个主要问题是如何平衡工作和参与项目。由于项目组成员的日常工作非常忙碌,大家利用业余时间为参与的项目进行宣传。
经过两个月的紧张开发,爱马仕在作品提交之前就已经定稿。
据悉,它是由华夏银行基础技术研究团队完全自主研发,Java开发,全面采集openGauss数据库监控指标的开源项目。
凭借这款产品,陈薇团队突破了初赛,进入了决赛,从决赛中脱颖而出,最终进入了鑫创“大比拼”的总决赛。
决赛中,爱马仕完全自主研发,充分利用openGauss数据库*敏*感*词*奖。
陈薇说,比赛为他们提供了展示的舞台。华夏银行一直致力于信息技术创新,成功应用鲲鹏、openEuler、openGauss等众多优秀的本土化创新科技产品,为用户提供优质的金融产品和服务。
融入openGauss生态,壮大社区
作为一个初出茅庐的产品,爱马仕还有很多需要改进的地方。例如,虽然现在已经实现了很*敏*感*词*,但在操作中只能通过 RESTful API 进行交互。将来可以提供一个易于使用的管理控制台。
接下来,Hermes 将开源并为 openGauss 开源社区做出贡献。在社区的帮助下,陈薇团队将爱马仕打造成了更好的产品。
这样,一方面可以为openGauss生态系统增加一个有价值的开源工具,使其监控系统更加完善;另一方面,随着更多好工具的加持和生态系统的完善,openGauss 更容易被企业采用。
更重要的是,爱马仕的加入可以进一步壮大社区,吸引更多人参与社区,为社区做出贡献。这样,openGauss社区才能更好地不断构建创新能力。
在陈薇团队看来,本次比赛是一个很好的方式,可以给社区带来热情,通过不断的刺激带来不断的创新。“爱马仕加入社区后,相当于为openGauss社区生态增添了一份力量。通过产品本身的不断迭代和各种活动,社区的知名度不断提升,企业和个人也在不断的加入,不断的带来新的血液。”
陈薇表示:“未来,只要openGauss不断丰富应用场景、迭代、修复bug、增加新功能,它对企业和开发者的粘性会不断增加,参与的人也会越来越多, “openGauss 社区必将不断壮大。带来持续的创新和技术发展。”
写在最后
如果说操作系统是基础软件的根,那么数据库就是基础软件的皇冠上的明珠。2020年6月30日,openGauss数据库正式开源。据了解,已有70多家企业合作伙伴加入社区,2000多名开发贡献者,12家合作伙伴发布了基于openGauss的商业发行版。摩邪、神舟通用等合作产品已部署在金融、政府、电力、制造等行业的核心业务系统中,并进入加速规模化应用阶段。经过一年多的发展,可以说openGauss不仅成为了这个行业的一支新兴力量,而且还在大踏步前进。
此外,随着企业数字化转型进入深水区,企业核心数据库升级迫在眉睫,开始寻找更开放、技术更先进的开源数据库。与传统数据库相比,以openGauss为代表的开源数据库显然是企业更好的选择。这不仅有利于企业掌握自主创新的主动权,也有利于企业在未来创造新的竞争优势。