CN116431429A - 一种中间件的统一监控平台及监控方法 - Google Patents

一种中间件的统一监控平台及监控方法 Download PDF

Info

Publication number
CN116431429A
CN116431429A CN202310186105.XA CN202310186105A CN116431429A CN 116431429 A CN116431429 A CN 116431429A CN 202310186105 A CN202310186105 A CN 202310186105A CN 116431429 A CN116431429 A CN 116431429A
Authority
CN
China
Prior art keywords
monitoring
data
middleware
memory
monitoring data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310186105.XA
Other languages
English (en)
Inventor
王亚飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yusys Technologies Group Co ltd
Original Assignee
Beijing Yusys Technologies Group Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yusys Technologies Group Co ltd filed Critical Beijing Yusys Technologies Group Co ltd
Priority to CN202310186105.XA priority Critical patent/CN116431429A/zh
Publication of CN116431429A publication Critical patent/CN116431429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种中间件的统一监控平台及监控方法,所述监控平台包括:数据采集服务器,用于通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;数据存储器,用于将采集的监控数据写入到文件中进行保存;图形绘制器,用于从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。该中间件的统一监控平台,采用数据采集服务器、数据存储器和图形绘制器,从而能够为各类中间件的健康判断提供丰富的监控数据,并且实现基于监控数据直观的图形化展示,从而有利于运维人员根据运维经验对中间件整体的健康情给出评估。

Description

一种中间件的统一监控平台及监控方法
技术领域
本发明涉及金融行业软件开发技术领域,具体涉及一种中间件的统一监控平台及监控方法。
背景技术
在大型的分布式系统中中间件已经成为不可或缺的模块。中间件为系统间通信提供着中间者角色,例如消息队列解耦系统间调用削峰填谷、redis为系统提供高速的缓存功能,使得系统响应更快用户体验更友好、elasticsearch为系统提供文档分词与搜索功能等等。
中间件的运用已经成为当今分布式系统的主流技术,因此中间件的监控就变得尤为重要。每个中间件有自己的监控功能或者后台查询接口,但是当中间件的使用类型越来越多,部署的节点也越来越多时,监控也变得越来越分散,力不从心。
发明内容
有鉴于此,本发明实施例的目的在于提供一种中间件的统一监控平台及监控方法,以解决多个中间件监控不方便的问题。
为达上述目的,第一方面,本发明实施例提供了一种中间件的统一监控平台,所述监控平台包括:
数据采集服务器,用于通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;
数据存储器,用于将采集的监控数据写入到文件中进行保存;
图形绘制器,用于从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。
在一些可能的实施方式中,所述各类待监控的中间件包括:ElasticSearch服务中间件、redis服务中间件和rabbitmq服务中间件中的任意多个。
在一些可能的实施方式中,所述数据采集服务器,具体用于:
通过标准API:/_cluster/health得到ElasticSearch服务中间件对应的如下任意多个第一类监控数据:节点数、数据节点数、活跃的主分片数、主分片数、活跃分片数的占比;和/或,
通过标准API:/_cat/indices得到ElasticSearch服务中间件对应的如下任意多个第二类监控数据:索引所属集群、索引大小、索引名称、索引状态、索引内的数据条数。
在一些可能的实施方式中,所述数据采集服务器,具体用于:
通过标准命令info得到redis服务中间件对应的如下任意多个第三类监控数据:redis的客户端的所属集群、redis的客户端的IP地址、监控指标的名称、监控指标的值;所述监控指标的名称选自如下中的任意一个或多个:客户端连接数、客户端堵塞连接数、已经使用的内存、使用过的内存峰值、系统总内存、内存碎片率、执行过的命令总数、输入字节总数、输出字节总数、缓存命中次数、缓存未命中次数。
在一些可能的实施方式中,所述数据采集服务器,具体用于:
通过标准API:/api/overview得到rabbitmq服务中间件对应的如下任意多个第四类监控数据:rabbitmq服务中间件所属的集群、rabbitmq服务中间件相关联的第一组监控指标的名称、以及rabbitmq服务中间件相关联的第一组监控指标对应的值;其中,rabbitmq服务中间件相关联的第一组监控指标的名称选自如下中的任意一个或多个:接收的消息总数、接收的即将被消费的消息总数、接收的已经被消费等待确认的消息总数、通道总数、连接总数、消费者数量、队列路由数量、队列数量;和/或,
通过标准API:/api/nodes得到rabbitmq服务中间件对应的如下任意多个第五类监控数据:rabbitmq服务中间件的节点标识、rabbitmq服务中间件所属的集群,rabbitmq服务中间件相关联的第二组监控指标的名称、以及rabbitmq服务中间件相关联的第二组监控指标对应的值;其中,rabbitmq服务中间件相关联的第二组监控指标的名称选自如下中的任意一个或多个:操作系统线程最大数、操作系统文件句柄最大数、接收sockets客户端连接最大数、内存最大值、磁盘最大值、运行的队列数、网络延时时间、已用内存、已用文件句柄数、已用socket连接数、已用线程数、磁盘剩余量、垃圾回收次数、垃圾回收数据量、上线文切换次数、Io读次数、Io读字节数、Io读平均时间、Io写次数、IO同步次数、Io同步平均时间、队列写次数、队列读次数。
在一些可能的实施方式中,所述数据存储器,具体用于将采集的监控数据按照预设的数据存储格式写入到文件中进行保存;所述预设的数据存储格式如下:键{标签1=标签1值,标签2=标签2值}值。
在一些可能的实施方式中,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的ElasticSearch服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:集群节点数量、document文档数量、document文档备份成功率、索引基本信息。
在一些可能的实施方式中,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的redis服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:客户端连接数量、内存使用情况、I/O输入输出流情况、命令未命中次数、每分钟命令执行次数、内存碎片率、数据库信息。
在一些可能的实施方式中,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的rabbitmq服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:活跃节点数量、消息滞留情况、文件句柄打开情况、Socket连接建立情况、Erlang进程数量、内存使用情况、磁盘剩余情况、资源使用情况。
第二方面,提供一种中间件的统一监控平台的监控方法,所述监控方法包括:
数据采集服务器通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;
数据存储器将采集的监控数据写入到文件中进行保存;
图形绘制器从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。
上述技术方案具有如下有益效果:
该中间件的统一监控平台,采用数据采集服务器、数据存储器和图形绘制器,从而能够为各类中间件的健康判断提供丰富的监控数据,并且实现基于监控数据直观的图形化展示,从而有利于运维人员根据运维经验对中间件整体的健康情给出评估。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的中间件的统一监控平台的结构示意图;
图2是本发明实施例的ElasticSearch数据采集的工作原理示意图;
图3是本发明实施例的redis数据采集的工作原理示意图;
图4是本发明实施例的rabbitmq数据采集的工作原理示意图;
图5是本发明实施例的数据加工图形化展示的工作原理示意图;
图6是本发明实施例的集群节点数量的图形化展示的示意图;
图7是本发明实施例的document文档数量的图形化展示的示意图;
图8是本发明实施例的document文档备份成功率的图形化展示的示意图;
图9是本发明实施例的索引基本信息的图形化展示的示意图;
图10是本发明实施例的客户端连接数量的图形化展示的示意图;
图11是本发明实施例的内存使用情况的图形化展示的示意图;
图12是本发明实施例的I/O输入输出流情况的图形化展示的示意图;
图13是本发明实施例的命令未命中次数的图形化展示的示意图;
图14是本发明实施例的每分钟命令执行次数的图形化展示的示意图;
图15是本发明实施例的内存碎片率的图形化展示的示意图;
图16是本发明实施例的数据库信息的图形化展示的示意图;
图17是本发明实施例的活跃节点数量的图形化展示的示意图;
图18是本发明实施例的消息滞留情况的图形化展示的示意图;
图19是本发明实施例的文件句柄打开情况的图形化展示的示意图;
图20是本发明实施例的Socket连接建立情况的图形化展示的示意图;
图21是本发明实施例的Erlang进程数量的图形化展示的示意图;
图22是本发明实施例的内存使用情况的图形化展示的示意图;
图23是本发明实施例的磁盘剩余情况的图形化展示的示意图;
图24是本发明实施例的资源使用情况的图形化展示的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例将主流的中间件监控做在了一起,对于大型的分布式系统来说,中间件的统一监控查看将变得尤其方便。本发明实施例的一个目的在于,提供各类中间件相关数据的采集、展示。
本发明实施例主要包括:数据采集服务、数据存储、图形绘制与展示。如图1所示,一种中间件的统一监控平台包括:数据采集服务器,用于通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;数据存储器,用于将采集的监控数据写入到文件中进行保存;以及,图形绘制器,用于从数据存储器中获取采集的监控数据,并且将采集的监控数据进行图形化展示。
在一些实施例中,各类待监控的中间件包括:ElasticSearch服务中间件、redis服务中间件和rabbitmq服务中间件中的任意多个。
在一些实施例中,数据采集服务器,具体可以用于:
通过标准API:/_cluster/health得到ElasticSearch服务中间件对应的如下任意多个第一类监控数据:节点数、数据节点数、活跃的主分片数、主分片数、活跃分片数的占比;和/或,
通过标准API:/_cat/indices得到ElasticSearch服务中间件对应的如下任意多个第二类监控数据:索引所属集群、索引大小、索引名称、索引状态、索引内的数据条数。
在一些实施例中,数据采集服务器,具体可以用于:
通过标准命令info得到redis服务中间件对应的如下任意多个第三类监控数据:redis的客户端的所属集群、redis的客户端的IP地址、监控指标的名称、监控指标的值;监控指标的名称选自如下中的任意一个或多个:客户端连接数、客户端堵塞连接数、已经使用的内存、使用过的内存峰值、系统总内存、内存碎片率、执行过的命令总数、输入字节总数、输出字节总数、缓存命中次数、缓存未命中次数。
在一些实施例中,数据采集服务器,具体可以用于:
通过标准API:/api/overview得到rabbitmq服务中间件对应的如下任意多个第四类监控数据:rabbitmq服务中间件所属的集群、rabbitmq服务中间件相关联的第一组监控指标的名称、以及rabbitmq服务中间件相关联的第一组监控指标对应的值;其中,rabbitmq服务中间件相关联的第一组监控指标的名称选自如下中的任意一个或多个:接收的消息总数、接收的即将被消费的消息总数、接收的已经被消费等待确认的消息总数、通道总数、连接总数、消费者数量、队列路由数量、队列数量;和/或,
通过标准API:/api/nodes得到rabbitmq服务中间件对应的如下任意多个第五类监控数据:rabbitmq服务中间件的节点标识、rabbitmq服务中间件所属的集群,rabbitmq服务中间件相关联的第二组监控指标的名称、以及rabbitmq服务中间件相关联的第二组监控指标对应的值;其中,rabbitmq服务中间件相关联的第二组监控指标的名称选自如下中的任意一个或多个:操作系统线程最大数、操作系统文件句柄最大数、接收sockets客户端连接最大数、内存最大值、磁盘最大值、运行的队列数、网络延时时间、已用内存、已用文件句柄数、已用socket连接数、已用线程数、磁盘剩余量、垃圾回收次数、垃圾回收数据量、上线文切换次数、Io读次数、Io读字节数、Io读平均时间、Io写次数、IO同步次数、Io同步平均时间、队列写次数、队列读次数。
在一些实施例中,数据存储器,具体可以用于将采集的监控数据按照预设的数据存储格式写入到文件中进行保存;预设的数据存储格式如下:键{标签1=标签1值,标签2=标签2值}值。
在一些实施例中,图形绘制器,具体可以用于:从数据存储器中获取采集的ElasticSearch服务中间件对应的监控数据,并且将采集的如下任意一个或多个监控数据进行图形化展示:集群节点数量、document文档数量、document文档备份成功率、索引基本信息。
在一些实施例中,图形绘制器,具体可以用于:从数据存储器中获取采集的redis服务中间件对应的监控数据,并且将采集的如下任意一个或多个监控数据进行图形化展示:客户端连接数量、内存使用情况、I/O输入输出流情况、命令未命中次数、每分钟命令执行次数、内存碎片率、数据库信息。
在一些实施例中,图形绘制器,具体可以用于:从数据存储器中获取采集的rabbitmq服务中间件对应的监控数据,并且将采集的如下任意一个或多个监控数据进行图形化展示:活跃节点数量、消息滞留情况、文件句柄打开情况、Socket连接建立情况、Erlang进程数量、内存使用情况、磁盘剩余情况、资源使用情况。
以下对上述技术方案进行详细说明:
(一)、数据采集服务:
数据采集服务是获取监控数据的源头,通过与各类中间件提供的标准监控API做通讯,得到当前中间件的监控数据,将采集的监控数据定时回传给数据存储器。
中间件的统一监控平台支持的中间件及其监控数据如下:
1、ElasticSearch数据采集,采集原理图如图2所示:
1.1、通过提供的标准API:/_cluster/health可以得到数据如下:
es_server{cluster="no1",param="number_of_nodes",name="es",}1.0
es_server{cluster="no1",param="number_of_data_nodes",name="es",}1.0
es_server{cluster="no1",param="active_primary_shards",name="es",}763.0
es_server{cluster="no1",param="active_shards",name="es",}763.0
es_server{cluster="no1",param="active_shards_percent_as_number",name="es",}50.0
其中,es_server标识为elasticsearch的监控数据,cluster表示所属集群,param表示参数名称,name标识为elasticsearch的监控数据,多一个标签,作为搜索条件,1.0表示参数对应的值。
表1:监控指标与监控指标描述对应关系表一
监控指标 监控指标描述
number_of_nodes 节点数
number_of_data_nodes 数据节点数
active_primary_shards 活跃的主分片数
active_shards 主分片数
active_shards_percent_as_number 活跃分片数的占比
1.2、通过提供的标准API:/_cat/indices可以得到数据如下:
es_index{cluster="no1",size="355mb",name="log-jvm-default-2022-05-11",state="yellow",}302399.0
es_index{cluster="no1",size="272.9kb",name="log-api-default-2022-05-13",state="yellow",}355.0
其中,es_index标识为elasticsearch的索引监控数据,cluster表示索引所属集群,size表示索引大小,name表示索引名称,state表示索引状态,302399.0表示索引内的数据条数。
2、redis数据采集,其采集原理图如图3所示:
2.1、通过提供的标准命令:info得到数据如下:
redis_clients{cluster="r1",ip="192.168.49.43:6379",name="connected_clients",}137.0
redis_clients{cluster="r1",ip="192.168.49.43:6379",name="blocked_clients",}0.0
redis_client{cluster="r1",ip="192.168.49.43:6379",name="used_memory",}6.821396E7
redis_client{cluster="r1",ip="192.168.49.43:6379",name="used_memory_peak",}1.25921448E8
redis_client{cluster="r1",ip="192.168.49.43:6379",name="total_system_memory",}1.6641626112E10
redis_client{cluster="r1",ip="192.168.49.43:6379",name="mem_fragmentation_ratio",}0.89
redis_client{cluster="r1",ip="192.168.49.43:6379",name="total_commands_processed",}7.6329864E7
redis_client{cluster="r1",ip="192.168.49.43:6379",name="total_net_input_bytes",}4.10086952E9
redis_client{cluster="r1",ip="192.168.49.43:6379",name="total_net_output_bytes",}1.81888455778E11
redis_client{cluster="r1",ip="192.168.49.43:6379",name="keyspace_hits",}3656192.0
redis_client{cluster="r1",ip="192.168.49.43:6379",name="keyspace_misses",}1175865.0
其中,redis_clients标识为redis的客户端监控数据,cluster表示所属集群,ip表示IP地址,name表示监控指标的名称,137.0表示监控指标的值。
表2:监控指标与监控指标描述对应关系表二
监控指标 监控指标描述
connected_clients 客户端连接数
blocked_clients 客户端堵塞连接数
used_memory 已经使用的内存
used_memory_peak 使用过的内存峰值
total_system_memory 系统总内存
mem_fragmentation_ratio 内存碎片率
total_commands_processed 执行过的命令总数
total_net_input_bytes 输入字节总数
total_net_output_bytes 输出字节总数
keyspace_hits 缓存命中次数
keyspace_misses 命令未命中次数
3、rabbitmq数据采集,其采集原理图如图4所示:
3.1、通过提供的标准API:/api/overview得到数据如下:
rabbit_queue_totals{cluster="no1",name="messages",}0.0
rabbit_queue_totals{cluster="no1",name="messages_ready",}0.0
rabbit_queue_totals{cluster="no1",name="messages_unacknowledged",}0.0
rabbit_object_totals{cluster="no1",name="channels",}10.0
rabbit_object_totals{cluster="no1",name="connections",}2.0
rabbit_object_totals{cluster="no1",name="consumers",}8.0
rabbit_object_totals{cluster="no1",name="exchanges",}12.0
rabbit_object_totals{cluster="no1",name="queues",}35.0
其中,rabbit_queue_totals表示类型,Cluster表示队列所属集群,name表示采集项,最后的数字表示表示采集项的值,例如:
rabbit_queue_totals{cluster="no1",name="messages",}0.0,表示rabbit_queue_totals类型在集群no1中采集项messages的值为0.0。
表3:监控指标与监控指标描述对应关系表三
监控指标 监控指标描述
messages 接收的消息总数
messages_ready 接收的即将被消费的消息总数
messages_unacknowledged 接收的已经被消费等待确认的消息总数
channels 通道总数
connections 连接总数
consumers 消费者数量
exchanges 队列路由数量
queues 队列数量
3.2、通过提供的标准API:/api/nodes得到数据如下:
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="os_pid",}73706.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="fd_total",}102400.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="sockets_total",}92068.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="mem_limit",}6.656650444E9
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="disk_free_limit",}5.0E7
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="run_queue",}0.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="net_ticktime",}60.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="mem_used",}9.3847552E7
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="fd_used",}34.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="sockets_used",}2.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="proc_used",}504.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="disk_free",}3.7653876736E10
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="gc_num",}2.9536542E8
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="gc_bytes_reclaimed",}1.4140176698608E13
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="context_switches",}6.96988962E8
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_read_count",}5.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_read_bytes",}1.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_read_avg_time",}0.1248
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_write_count",}10.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_write_bytes",}5184.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_write_avg_time",}0.15919999999999998
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_sync_count",}10.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="io_sync_avg_time",}1.5680999999999998
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="queue_index_write_count",}2.0
rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="queue_index_read_count",}0.0
其中,rabbit_node{node="rabbit@yfzx-43",cluster="no2",name="os_pid",}73706.0,表示rabbit_node类型在集群no2中,节点rabbit@yfzx-43上,采集项os_pid(操作系统线程最大数)的值为73706.0。
表4:监控指标与监控指标描述对应关系表四
Figure BDA0004103948410000101
Figure BDA0004103948410000111
(二)、数据存储
前面介绍了各类中间件提供的标准API将各式各样的数据采集后回传给了数据存储器,下面介绍数据存储器。数据库存储器是部署在服务器上的一款软件,数据存储器最核心的功能就是将数据写入到文件中进行保存,供下次使用时获取。
数据存储格式如下:
键{标签1=标签1值,标签2=标签2值}值
形如:http_request{instance="2.0.1.82:9999",application="yusp-monitor"}3.0
http_request称为键,3.0称为值,instance称为标签1,2.0.1.82:9999称为标签1的值,application称为标签2,yusp-monitor称为标签2的值。
键值对是一次采集的对象及其表现的值,标签是对此键值对的一种符号,便于搜索的此键值对。
(三)、数据加工图形化展示(elasticsearch)
如图5所示,数据加工图形化展示原理(以集群节点数量为例)。在图5中按顺时针方向执行,前端页面发起请求,携带参数(例如es_server{cluster="no1",param="number_of_nodes",name="es",})在数据存储容器中找到对应数据得到返回值1.0,前端页面将返回值1.0渲染出来,即渲染成图形,将值1.0填入。
如图6所示,对集群节点数量进行可视化图示。在该示例中,数字1代表集群中节点数量是1个。
如图7所示,document文档数量能够进行图形化展示,图7中横坐标表示时间,其可显示小时、分钟和秒,纵坐标表示document文档数量。document表示文本,在elasticsearch中一条数据是一个document。
如图8所示,document文档备份成功率能够进行图形化展示,图8中横坐标表示时间,其可显示小时、分钟和秒,纵坐标表示document文档备份成功率,从而可以显示document文档备份成功率随时间变化的曲线。在图8的示例中,图8最下面一行的代码表示:数据的来源是es_server类型,no1集群,127.0.0.1这台服务器的yusp-monitor-middle数据指标。
如图9所示,索引基本信息能够进行图形化展示,索引基本信息包括:索引所在集群、索引名称、索引大小、健康情况、以及文档数量。具体地,yellow表示中间件处于非健康状态。
(四)、数据加工图形化展示(redis)
如图10所示,客户端连接数量能够进行图形化展示,该图中可视化展示了客户端连接数和客户堵塞数随时间变化的实时情况。
如图11所示,内存使用情况能够进行图形化展示,该图中可视化展示了已用内存、内存使用峰值、系统总内存随时间变化的情况。其中,标号11A表示系统总内存,标号11B表示内存使用峰值。
如图12所示,I/O输入输出流情况能够进行图形化展示,该图可以分别展示输入、输出随时间变化的情况。在当前的示例性的图12中仅绘出了输出流随时间变化的曲线。
如图13所示,命令未命中次数能够进行图形化展示,该图的纵坐标表示命令未命中次数。
如图14所示,每分钟命令执行次数能够进行图形化展示,以展示每分钟命令执行次数随时间变化的情况。
如图15所示,内存碎片率能够进行图形化展示。
如图16所示,数据库信息能够进行图形化展示,数据库信息包括:集群名称、实例节点、数据库名称、key信息。
(五)、数据加工图形化展示(rabbitmq)
如图17所示,活跃节点数量能够进行图形化展示,例如以仪表盘的形式进行展示。在图17的举例中,数字1表示活跃节点数是1个。
如图18所示,消息滞留情况能够进行图形化展示,消息滞留情况包括消息滞留总数、待消费数和待确认数。该图纵坐标表示消息的数量。在图18中,标号18A表示滞留总数量,标号18B表示待消费数量,标号18C表示待确认数量。
如图19所示,文件句柄打开情况能够进行图形化展示。
如图20所示,Socket连接建立情况能够进行图形化展示。
如图21所示,Erlang进程数量能够进行图形化展示。
如图22所示,内存使用情况能够进行图形化展示。
如图23所示,磁盘剩余情况能够进行图形化展示。
如图24所示,资源使用情况能够进行图形化展示,资源使用情况包括:打开的通道数(channel)、打开的连接数(connection)、消费者数量、交换(exchange)数量、队列数量(queue)。
图24中,标号24A表示队列数量,标号24B表示exchange数量,标号24C表示打开的通道数,标号24D表示消费者数量,标号24E表示打开的连接数量。
本发明实施例的上述技术方案的有益技术效果在于:
1.为各类中间件的健康判断提供了丰富的监控数据。
2.基于监控数据直观的图形化展示。
3.根据运维经验对中间件整体的健康情给出评估。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述中间件的统一监控方法的各步骤。例如,计算机程序被处理器执行时实现如下步骤:
数据采集服务器通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;
数据存储器将采集的监控数据写入到文件中进行保存;
图形绘制器从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种中间件的统一监控平台,其特征在于,所述监控平台包括:
数据采集服务器,用于通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;
数据存储器,用于将采集的监控数据写入到文件中进行保存;
图形绘制器,用于从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。
2.根据权利要求1所述的监控平台,其特征在于,所述各类待监控的中间件包括:ElasticSearch服务中间件、redis服务中间件和rabbitmq服务中间件中的任意多个。
3.根据权利要求2所述的监控平台,其特征在于,所述数据采集服务器,具体用于:
通过标准API:/_cluster/health得到ElasticSearch服务中间件对应的如下任意多个第一类监控数据:节点数、数据节点数、活跃的主分片数、主分片数、活跃分片数的占比;和/或,
通过标准API:/_cat/indices得到ElasticSearch服务中间件对应的如下任意多个第二类监控数据:索引所属集群、索引大小、索引名称、索引状态、索引内的数据条数。
4.根据权利要求2所述的监控平台,其特征在于,所述数据采集服务器,具体用于:
通过标准命令info得到redis服务中间件对应的如下任意多个第三类监控数据:redis的客户端的所属集群、redis的客户端的IP地址、监控指标的名称、监控指标的值;所述监控指标的名称选自如下中的任意一个或多个:客户端连接数、客户端堵塞连接数、已经使用的内存、使用过的内存峰值、系统总内存、内存碎片率、执行过的命令总数、输入字节总数、输出字节总数、缓存命中次数、缓存未命中次数。
5.根据权利要求2所述的监控平台,其特征在于,所述数据采集服务器,具体用于:
通过标准API:/api/overview得到rabbitmq服务中间件对应的如下任意多个第四类监控数据:rabbitmq服务中间件所属的集群、rabbitmq服务中间件相关联的第一组监控指标的名称、以及rabbitmq服务中间件相关联的第一组监控指标对应的值;其中,rabbitmq服务中间件相关联的第一组监控指标的名称选自如下中的任意一个或多个:接收的消息总数、接收的即将被消费的消息总数、接收的已经被消费等待确认的消息总数、通道总数、连接总数、消费者数量、队列路由数量、队列数量;和/或,
通过标准API:/api/nodes得到rabbitmq服务中间件对应的如下任意多个第五类监控数据:rabbitmq服务中间件的节点标识、rabbitmq服务中间件所属的集群,rabbitmq服务中间件相关联的第二组监控指标的名称、以及rabbitmq服务中间件相关联的第二组监控指标对应的值;其中,rabbitmq服务中间件相关联的第二组监控指标的名称选自如下中的任意一个或多个:操作系统线程最大数、操作系统文件句柄最大数、接收sockets客户端连接最大数、内存最大值、磁盘最大值、运行的队列数、网络延时时间、已用内存、已用文件句柄数、已用socket连接数、已用线程数、磁盘剩余量、垃圾回收次数、垃圾回收数据量、上线文切换次数、Io读次数、Io读字节数、Io读平均时间、Io写次数、IO同步次数、Io同步平均时间、队列写次数、队列读次数。
6.根据权利要求1所述的监控平台,其特征在于,所述数据存储器,具体用于将采集的监控数据按照预设的数据存储格式写入到文件中进行保存;所述预设的数据存储格式如下:键{标签1=标签1值,标签2=标签2值}值。
7.根据权利要求2所述的监控平台,其特征在于,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的ElasticSearch服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:集群节点数量、document文档数量、document文档备份成功率、索引基本信息。
8.根据权利要求2所述的监控平台,其特征在于,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的redis服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:客户端连接数量、内存使用情况、I/O输入输出流情况、命令未命中次数、每分钟命令执行次数、内存碎片率、数据库信息。
9.根据权利要求2所述的监控平台,其特征在于,所述图形绘制器,具体用于:
从所述数据存储器中获取采集的rabbitmq服务中间件对应的监控数据,并且将所述采集的如下任意一个或多个监控数据进行图形化展示:活跃节点数量、消息滞留情况、文件句柄打开情况、Socket连接建立情况、Erlang进程数量、内存使用情况、磁盘剩余情况、资源使用情况。
10.一种中间件的统一监控平台的监控方法,其特征在于,所述监控方法包括:
数据采集服务器通过与各类待监控的中间件提供的标准监控API通讯,得到当前待监控的中间件的监控数据,将采集的监控数据回传给数据存储器;
数据存储器将采集的监控数据写入到文件中进行保存;
图形绘制器从所述数据存储器中获取所述采集的监控数据,并且将所述采集的监控数据进行图形化展示。
CN202310186105.XA 2023-03-01 2023-03-01 一种中间件的统一监控平台及监控方法 Pending CN116431429A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310186105.XA CN116431429A (zh) 2023-03-01 2023-03-01 一种中间件的统一监控平台及监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310186105.XA CN116431429A (zh) 2023-03-01 2023-03-01 一种中间件的统一监控平台及监控方法

Publications (1)

Publication Number Publication Date
CN116431429A true CN116431429A (zh) 2023-07-14

Family

ID=87086255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310186105.XA Pending CN116431429A (zh) 2023-03-01 2023-03-01 一种中间件的统一监控平台及监控方法

Country Status (1)

Country Link
CN (1) CN116431429A (zh)

Similar Documents

Publication Publication Date Title
CN109726074A (zh) 日志处理方法、装置、计算机设备和存储介质
CN111339175B (zh) 数据处理方法、装置、电子设备及可读存储介质
CN105468492A (zh) 一种基于搜索引擎的数据监控方法和系统
CN101707632A (zh) 一种动态监控服务器集群性能并实时报警的方法
CN112380473B (zh) 数据采集与同步方法、装置、设备及存储介质
CN111813573B (zh) 管理平台与机器人软件的通信方法及其相关设备
CN111176937A (zh) 消息中间件监控告警系统、方法、终端设备及存储介质
CN107302569B (zh) 一种面向云平台的安全监控数据采集与存储方法
CN103645904A (zh) 一种接口调用的缓存实现方法
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN111143158A (zh) 一种监控数据实时存储方法、系统、电子设备及存储介质
CN111984495A (zh) 一种大数据监控方法、装置和存储介质
CN110784377A (zh) 一种多云环境下的云监控数据统一管理的方法
CN113420043A (zh) 数据实时监控方法、装置、设备及存储介质
CN110071951A (zh) 一种大数据条件下的数据查询展示系统及方法
CN111339052A (zh) 一种非结构化日志数据处理方法及装置
CN111221890A (zh) 通用指标类自动监控预警方法及装置
CN114090529A (zh) 一种日志管理方法、装置、系统和存储介质
CN113010542A (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN116431429A (zh) 一种中间件的统一监控平台及监控方法
CN112579552A (zh) 日志存储及调用方法、装置及系统
CN110677271A (zh) 基于elk的大数据告警方法、装置、设备及存储介质
CN110941536B (zh) 监控方法及系统、第一服务器集群
CN105446707A (zh) 一种数据转换方法
CN116701525A (zh) 一种基于实时数据分析的预警方法、系统和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination