从应对日十亿量级监控项解密浪潮云平台大规模集群监控

栏目: 编程工具 · 发布时间: 6年前

浪潮云平台InCloud OpenStack是面向下一代云数据中心和云原生应用的智慧云操作系统,全面基于OpenStack,采用开放标准技术路线,实现用户业务的自动感知、业务的智能管理和服务的自动化交付,为用户构建开放、融合、安全的云,支撑面向未来的智慧计算世界。浪潮云平台InCloud OpenStack已成功应用于金融、政府、能源、环保、教育等行业,累计拥有3000+用户。

OpenStack是开源 IaaS解决方案,组件众多,架构复杂,并且技术栈长。随着基于OpenStack的客户系统和业务规模的快速提升,实现对系统和业务进行高效、快速、灵活监控和告警的需求越来越迫切,既要保证服务的高可用、高性能、可扩展,又要提高异常处理效率,降低损失。

以zabbix、为代表的传统监控,具有采集方式多样、插件成熟、配置灵活等优点,但在大规模OpenStack集群监控中,却存在如下缺点:

配置麻烦,无法根据节点上运行的服务自动配置监控项。 性能瓶颈,多采用关系型数据库,并发能力、读写性能等无法支撑大规模集群。 用户界面专业复杂,不够简单易用。 不易扩展,以监控为目标,不易添加智能分析等功能。

浪潮云平台InCloud OpenStack监控模块,提升监控效率

浪潮云平台InCloud OpenStack监控模块就是在这个背景下诞生并不断进行优化的,其整体架构图如下所示,此架构能够有效提升监控数据获取密度与存储数量级,为运维决策提供数据支撑。

从应对日十亿量级监控项解密浪潮云平台大规模集群监控

浪潮云平台InCloud OpenStack监控模块

浪潮云平台InCloud OpenStack监控模块提供了简单易用的页面供用户进行监控管理配置及查看,包括:支持资源实时指标、历史曲线;支持采集配置、告警配置、通知配置;支持配置的及时下发和快速生效;支持告警历史记录、通知历史记录的管理。

从应对日十亿量级监控项解密浪潮云平台大规模集群监控 浪潮云平台InCloud OpenStack监控页面

面对日十亿量级监控项,浪潮InCloud OpenStack如何实现秒级监控?

大规模监控是浪潮云平台InCloud OpenStack解决的最核心问题。以某行业客户的InCloud OpenStack项目为例,其监控模块的物理服务器规模有500+台,性能数据采集周期10秒,服务数据周期1-5分钟,当全部监控项都设置为采集时,每个节点约2000+监控项/周期,每天集群约产生50亿项监控数据。

面对如此庞大量级的监控项,并实现秒级监控,需要解决五个主要问题:大规模部署和海量监控的采集配置该如何进行?大规模集群的采集压力如何化解?监控数据的实时性和高并发如何应对?多OpenStack集群的集中监控如何实现?面对海量告警,又该怎样快速定位问题?

面对这五个棘手问题,浪潮云平台InCloud OpenStack逐一给出了解决方案:

1、容器化一键部署

集群规模的扩大对于云平台监控的部署特别是监控的配置的要求很高,浪潮云平台InCloud OpenStack监控模块的安装部署实现了容器化,采用Kolla-ansible进行一键化部署,部署流程包括采集配置、容器部署、配置表初始化、脚本发布、监控变量导入、页面导入等,部署时根据OpenStack节点角色自动配置采集项,例如当此节点部署有mariadb服务,则此节点配置mariadb相关采集;当此节点部署nova-compute服务时,则此节点配置nova-compute相关采集。通过此方案InCloud OpenStack实现了监控一键部署。

2、主被动混合采集机制

浪潮云平台InCloud OpenStack监控模块数据采集支持集中采集、代理采集以及事件采集三种采集方式,如下图所示,可实现异构设备的数据采集,具体包括OpenStack系统本身(宿主机、虚拟机、集群、容器、核心服务)、原生OpenStack(宿主机、虚拟机、集群、核心服务)、操作系统、数据库、存储服务、中间件、CEPH存储等。

这种主被动混合采集机制,既减少了性能数据的采集压力,有效地校验了关键资源的数据完整性,又提高了关键数据的实时性。

从应对日十亿量级监控项解密浪潮云平台大规模集群监控 混合采集机制

3、高效缓存,兼顾时效

浪潮云平台InCloud OpenStack采集控器采用客户端缓存机制,可以配置时间和缓存量两个缓存阈值,默认时间阈值,只有达到阈值时,才能触发数据发送,这种机制大大减低了存储端的写入并发,同时兼顾了数据的时效性。另外客户端采集采用 go 语言开发,具有并发好、资源占用低、插件开发简单等优点。

从应对日十亿量级监控项解密浪潮云平台大规模集群监控 高效缓存,兼顾时效

4、多OpenStack监控级联架构

随着多云的应用越来越广泛,多数据中心的集中监控亟待解决。浪潮云平台InCloud OpenStack采用自研监控管理组件pluto级联方案,每个OpenStack集群采用独立的pluto用于配置管理上层pluto的接口进行调用;而上层的监控平台的pluto对所有集群的pluto进行统管,并对各集群数据进行分析。其架构图如下所示:

从应对日十亿量级监控项解密浪潮云平台大规模集群监控 监控级联架构

5、智能告警聚合及分析

大规模集群的海量洪水告警及问题的快速定位是运维过程中需解决的最大难题,浪潮云平台InCloud OpenStack监控模块采用两种方式解决此问题:一是以资源为粒度发送通知。例如宿主机、云主机等为资源类型,宿主机A为一个资源,监控模块会对该资源的所有监控项进行聚合,以告警项最严重的状态为资源状态发送通知,如下图所示;二是根因分析,采用jaccard等算法对告警进行分析,得到根本原因,供运维人员参考。

从应对日十亿量级监控项解密浪潮云平台大规模集群监控 告警聚合流程

此外,整个浪潮云平台InCloud OpenStack监控系统采用松耦合的架构,可以添加Hadoop存储历史数据,实现高吞吐量和超大规模数据集的处理,也可以添加Spark作为监控告警数据分析工具。

浪潮云平台InCloud OpenStack已经在多个行业完成部署,其监控模块帮助某金融机构和商业公司实现了大规模集群监控,其中,某商业公司InCloud OpenStack私有云单集群建设规模超过1000台服务器,位列全球TOP5,借助先进的数据中心架构,核心业务实现了弹性计算资源及稳定的平台,监控模块亦满足其对数据实时性、高并发的监控需求,保证了服务的高可用、高性能、可扩展,有效提升数据中心运维保障效率。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序设计语言

程序设计语言

斯科特 / 裘宗燕 / 电子工业出版社 / 2007-6 / 99.00元

★列为全球上百所大学标准教材和首席参考书! ★图书馆必备典藏,作者Michael L.Scott 是计算机领域的著名学者,译者是北京大学的裘宗燕教授,他熟悉专业,译笔流畅,因此,这是一本难得的著、译双馨的佳作。 这是一本很有特色的教材,其核心是讨论程序设计语言的工作原理和技术。本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构......一起来看看 《程序设计语言》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具