CN109684158A - 分布式协调***的状态监控方法、装置、设备及存储介质 - Google Patents

分布式协调***的状态监控方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109684158A
CN109684158A CN201811041957.5A CN201811041957A CN109684158A CN 109684158 A CN109684158 A CN 109684158A CN 201811041957 A CN201811041957 A CN 201811041957A CN 109684158 A CN109684158 A CN 109684158A
Authority
CN
China
Prior art keywords
parameter
state parameter
distributed coordination
coordination system
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.)
Granted
Application number
CN201811041957.5A
Other languages
English (en)
Other versions
CN109684158B (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811041957.5A priority Critical patent/CN109684158B/zh
Publication of CN109684158A publication Critical patent/CN109684158A/zh
Application granted granted Critical
Publication of CN109684158B publication Critical patent/CN109684158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种分布式协调***的状态监控方法、装置、设备及存储介质,该方法包括:监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令获取当前状态参数;数据传输组件读取当前状态参数,对当前状态参数进行初始化处理获得初始化状态参数;在接收到数据获取指令时,记录数据获取指令的发送时间;对所述发送时间进行参数重定义,并在完成参数重定义时,将初始化状态参数发送至数据搜索组件进行保存,由于是通过向分布式协调***循环发送预设维度的查询命令来获取分布式协调***的当前状态参数,从而使得监控维度不再局限于***是否正常运行这一单一维度,保证了分布式协调***的信息安全及结构安全。

Description

分布式协调***的状态监控方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式协调***的状态监控方法、装置、设备及存储介质。
背景技术
Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务或分布式***的可靠协调***。通常情况下,Zookeeper为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等,使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器,因此在实际应用中有必要对Zookeeper进行状态监控保证其正常运行,但现有技术在对Zookeeper进行状态监控时,通常只监控Zookeeper是否运行正常而并不监控其它状态参数,监控维度单一,从而导致了Zookeeper进行集群管理时,用户无法及时知晓集群管理情况。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种分布式协调***的状态监控方法、装置、设备及存储介质,旨在解决现有技术在对分布式协调***进行监控时,只监控分布式协调***是否运行正常,监控维度单一的技术问题。
为实现上述目的,本发明提供了一种分布式协调***的状态监控方法,所述方法包括以下步骤:
监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设查询命令获取所述分布式协调***的当前状态参数;
数据传输组件从所述监控主机中读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
所述数据传输组件在接收到数据搜索组件发送的数据获取指令时,记录所述数据搜索组件发送所述数据获取指令的发送时间;
所述数据传输组件对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
优选地,所述预设维度的查询命令包括:状态查询命令和信息查询命令;
所述监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数的步骤,包括:
监控主机响应于接收到的状态监控指令,向分布式协调***发送所述状态查询命令,查询所述分布式协调***是否正常运行;
所述监控主机在查询到所述分布式协调***正常运行时,向所述分布式协调***循环发送所述信息查询命令,采集所述分布式协调***的原始状态参数;
所述监控主机对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地。
优选地,所述监控主机对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地的步骤,包括:
所述监控主机获取采集所述原始状态参数时的采集时间以及所述分布式协调***对应的***标识;
所述监控主机将所述采集时间和所述***标识添加至所述原始状态参数中获得所述当前状态参数,并将所述当前状态参数保存至本地。
优选地,所述数据传输组件从所述监控主机中读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数的步骤,包括:
数据传输组件通过预置监听脚本从所述监控主机中读取所述当前状态参数;
所述数据传输组件对所述当前状态参数中的所述采集时间进行格式化,获得初始化状态参数。
优选地,所述数据传输组件对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存的步骤,包括:
所述数据传输组件调用预置数据过滤插件从所述初始化状态参数中提取目标时间参数,所述目标时间参数为所述采集时间格式化后的时间参数;
所述数据传输组件根据所述目标时间参数中包含的目标日期字段对所述发送时间进行日期字段替换,以实现对所述发送时间的参数重定义;
所述数据传输组件在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
优选地,所述数据传输组件在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存的步骤,包括:
所述数据传输组件在完成所述参数重定义时,在所述数据搜索组件对应的数据库中查找是否存在包含有所述目标日期字段的目标索引信息;
所述数据传输组件在查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索组件,以使所述数据搜索组件将所述初始化状态参数保存至所述目标索引信息对应的存储区域。
优选地,所述数据传输组件在完成所述参数重定义时,在所述数据搜索组件对应的数据库中查找是否存在包含有所述目标日期字段的目标索引的步骤之后,所述方法还包括:
所述数据传输组件在未查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索组件;
所述数据搜索组件根据所述初始化状态参数中包含的所述目标日期字段建立所述目标日期字段和所述初始化状态参数之间的索引信息。
此外,为实现上述目的,本发明还提出一种分布式协调***的状态监控装置,所述装置包括:状态监控模块、数据传输模块和数据搜索模块;
其中,所述状态监控模块,用于在接收到状态监控指令时,向分布式协调***发送预设查询命令获取所述分布式协调***的当前状态参数;
所述数据传输模块,用于读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
所述数据传输模块,用于在接收到所述数据搜索模块发送的数据获取指令时,记录所述数据搜索模块发送所述数据获取指令的发送时间;
所述数据传输模块,用于对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索模块进行保存。
此外,为实现上述目的,本发明还提出一种分布式协调***的状态监控设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式协调***的状态监控程序,所述分布式协调***的状态监控程序配置为实现如上文所述的分布式协调***的状态监控方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有分布式协调***的状态监控程序,所述分布式协调***的状态监控程序被处理器执行时实现如上文所述的分布式协调***的状态监控方法的步骤。
本发明监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取当前状态参数;数据传输组件从监控主机中读取当前状态参数,对当前状态参数进行初始化处理获得初始化状态参数;在接收到数据搜索组件发送的数据获取指令时,记录数据搜索组件发送数据获取指令的发送时间;对所述发送时间进行参数重定义,并在完成参数重定义时,将初始化状态参数发送至数据搜索组件进行保存,由于是通过向分布式协调***循环发送预设维度的查询命令来获取分布式协调***的当前状态参数,从而使得获取到的状态参数的维度不再局限于***是否正常运行这一单一维度,能够实现对分布式协调***运行状态的多维度监控,保证了分布式协调***的信息安全及结构安全。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的分布式协调***的状态监控设备的结构示意图;
图2为本发明分布式协调***的状态监控方法第一实施例的流程示意图;
图3为本发明分布式协调***的状态监控方法第二实施例的流程示意图;
图4为本发明分布式协调***的状态监控方法第三实施例的流程示意图;
图5为本发明分布式协调***的状态监控方法第四实施例的流程示意图;
图6为本发明分布式协调***的状态监控装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的分布式协调***的状态监控设备结构示意图。
如图1所示,该分布式协调***的状态监控设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对分布式协调***的状态监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及分布式协调***的状态监控程序。
在图1所示的分布式协调***的状态监控设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明分布式协调***的状态监控设备中的处理器1001、存储器1005可以设置在分布式协调***的状态监控设备中,所述分布式协调***的状态监控设备通过处理器1001调用存储器1005中存储的分布式协调***的状态监控程序,并执行本发明实施例提供的分布式协调***的状态监控方法。
本发明实施例提供了一种分布式协调***的状态监控方法,参照图2,图2为本发明分布式协调***的状态监控方法第一实施例的流程示意图。
本实施例中,所述分布式协调***的状态监控方法包括以下步骤:
步骤S10:监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数;
需要说明的是,所述监控主机可以是承载有分布式协调***Zookeeper的主机设备。所述当前状态参数可以是分布式协调***Zookeeper的运行状态数据,该运行状态数据包括但不限于:服务配置的详细信息(如端口、Zooke eper数据及日志配置路径、最大连接数,session超时时间、serverId等)、连接到Zookeeper的客户端连接/会话的详细信息(如“接受/发送”的数据包数量、session id、操作延迟、最后的操作执行等)、未经处理的会话和临时节点信息和Zookeeper的环境详细信息(如host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin)。
应理解的是,所述查询命令至少包括:conf“列出Zookeeper相关配置的详细信息”、cons“列出所有连接到Zookeeper的客户端全部连接/会话详细信息”、dump“列出重要会话和临时节点”、envi“列出服务环境的详细信息”、reqs“列出未经处理的请求”、ruok“测试Zookeeper服务是否处于正常状态”、stat“列出关于性能和连接的客户端的列表”等Zookeeper常用的四字命令(The Four Letter Words)中的任意两项或多项命令。相应地,所述预设维度可以是工作人员预先定义好的查询命令的类型。
在具体实现中,监控主机在接收到用户发送的状态监控指令时,通过向分布式协调***Zookeeper发送预设查询命令来获取分布式协调***Zookeeper的当前状态参数。
步骤S20:数据传输组件从所述监控主机中读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
需要说明的是,本实施例及下述各实施例中所述数据传输组件可以是ELK日志分析平台(以下简称ELK平台)中的Logstash组件,该组件常用于日志分析平台或***中做日志采集设备。所述初始化处理即数据传输组件通过调用过滤插件Filter来处理流经当前Logstash的事件信息,例如添加字段、移除字段、转换字段类型,通过正则表达式切分数据等,当然也可以根据条件判断来进行不同的数据处理。
应理解的是,所述ELK平台是由Elasticsearch,Logstash,Kibana三种开源工具搭建而成的日志分析***,其中,Elasticsearch是一个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能;Logstash则主要是用于日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式;Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要日志数据。本实施例将ELK平台中的Logstash应用到分布式协调***Zookeeper的状态监控中,能够有效提高监控的时效性。
在具体实现中,数据传输组件从监控主机中读取分布式协调***的当前状态参数,然后通过预置的过滤插件对所述当前状态参数进行初始化处理得到初始化状态参数。
步骤S30:所述数据传输组件在接收到数据搜索组件发送的数据获取指令时,记录所述数据搜索组件发送所述数据获取指令的发送时间;
需要说明的是,本实施例及下述各实施例中所述数据搜索组件可以是ELK平台中的Elasticsearch组件,Elasticsearch组件是一个基于RESTful web接口的分布式多用户能力的全文搜索引擎。一般情况下Elasticsearch组件会从Logstash组件中获取数据并保存,同时它会将从Logstash组件获取到相关数据的时间作为该数据实际的采集时间,但考虑到数据采集的瞬时性本实施例中将Elasticsearch组件向Logstash组件发送数据获取指令时的发送时间作为其进行数据采集的采集时间。
在具体实现中,数据传输组件在接收到数据搜索组件发送的数据获取指令时,记录数据搜索组件发送数据获取指令时对应的指令发送时间。
步骤S40:所述数据传输组件对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
应理解的是,考虑到数据搜索组件ElasticSearch从数据传输组件Logstash中获取各类数据时,会以自身采集到该数据时的时间作为该数据的实际产生时间(例如分布式协调***Zookeeper某一时刻对应的运行状态参数A的实际产生时间为2018-05-11 16:30:30,若数据搜索组件ElasticSearch的采集到该运行状态参数A时间为2018-05-12 10:30:30,则数据搜索组件ElasticSearch就会将2018-05-12 10:30:30作为该运行状态参数A的实际产生时间)。因此为了避免数据搜索组件ElasticSearch后续根据自身采集到数据时的采集时间建立的采集时间和数据之间的索引失真,就需要对所述发送时间进行时间参数的重定义,来保证最终建立的索引的准确性及可靠性。
在具体实现中,数据传输组件可通过调用预置数据过滤插件(如Filter插件)从所述初始化状态参数中提取目标时间参数,然后根据目标时间参数中包含的目标日期字段对发送时间进行日期字段替换,在替换完成时再将初始化状态参数发送至数据搜索组件进行保存。
本实施例监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取当前状态参数;数据传输组件从监控主机中读取当前状态参数,对当前状态参数进行初始化处理获得初始化状态参数;在接收到数据搜索组件发送的数据获取指令时,记录数据搜索组件发送数据获取指令的发送时间;对所述发送时间进行参数重定义,并在完成参数重定义时,将初始化状态参数发送至数据搜索组件进行保存,由于是通过向分布式协调***循环发送预设维度的查询命令来获取分布式协调***的当前状态参数,从而使得获取到的状态参数的维度不再局限于***是否正常运行这一单一维度,能够实现对分布式协调***运行状态的多维度监控,保证了分布式协调***的信息安全及结构安全。
参考图3,图3为本发明分布式协调***的状态监控方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述预设维度的查询命令包括:状态查询命令和信息查询命令,相应地,所述步骤S10包括:
步骤S101:监控主机响应于接收到的状态监控指令,向分布式协调***发送所述状态查询命令,查询所述分布式协调***是否正常运行;
需要说明的是,所述状态查询命令可以是上文所述的四字命令中的“ruok”,用以查询分布式协调***Zookeeper是否正常运行。
在具体实现中,监控主机响应于接收到的状态监控指令,通过预设脚本“zk_mon.sh”先向查询分布式协调***Zookeeper发送四字查询命令“echo ruok|nc$i 2181”来查询分布式协调***Zookeeper是否处于正常运行;如果正常则分布式协调***Zookeeper返回“imok”至监控主机,否则返回空。
步骤S102:所述监控主机在查询到所述分布式协调***正常运行时,向所述分布式协调***循环发送所述信息查询命令,采集所述分布式协调***的原始状态参数;
在具体实现中,当监控主机接收到分布式协调***Zookeeper返回的“imok”的数据信息时,判定分布式协调***Zookeeper此时为正常运行状态,则监控主机可向所述分布式协调***循环发送信息查询命令(如conf、cons、dump、envi和/或reqs等),采集所述分布式协调***当前时刻的运行状态参数,即所述原始状态参数。
步骤S103:所述监控主机对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地。
需要说明的是,监控主机获取到分布式协调***的原始状态参数后,可通过预先编写的格式处理脚本将获取到的原始状态参数组合上分布式协调***Zookeeper的***标识(如***名称、编号等)以及参数的采集时间后,处理成JS对象简谱(JavaScript ObjectNotation,JSON)格式的数据即所述当前状态参数,然后再将所述当前状态参数保存到监控主机的本地回环接口127.0.0.1的1234网络端口,以便于数据传输组件Logstash通过监听该1234网络端口获取所述当前状态参数。
在具体实现中,所述监控主机获取采集所述原始状态参数时的采集时间以及所述分布式协调***对应的***标识;将所述采集时间和所述***标识添加至所述原始状态参数中获得所述当前状态参数,并将所述当前状态参数保存至本地。
参考图4,图4为本发明分布式协调***的状态监控方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S20可具体包括:
步骤S201:数据传输组件通过预置参数监听脚本从所述监控主机中读取所述当前状态参数;
在具体实现中,数据传输组件Logstash通过调用预先编写的参数监听脚本来监听所述监控主机的本地回环接口127.0.0.1的1234网络端口以获取所述当前状态参数。
步骤S202:所述数据传输组件对所述当前状态参数中的所述采集时间进行格式化,获得初始化状态参数。
在本步骤中,数据传输组件Logstash通过调用自身配置的Filter过滤插件来将当前状态参数中包含的字符串格式(如,2018-05-11 16:30:30.830)或Unix时间戳格式的所述采集时间格式化为ISO8601时间格式的日期字段,获得初始化状态参数,例如将北京时间2018年5月11日下午4点30分30秒,转换成ISO8601时间格式的日期字段则为:2018-05-11T16:30:30+08:00或20180511T163030+08。
在具体实现中,数据传输组件Logstash通过过滤插件从当前状态参数中分析出监控主机采集所述原始状态参数时的采集时间,然后将所述采集时间格式化成目标时间格式的日期字段后放入@timestamp字段中,从而得到初始化状态参数。
本实施例数据传输组件通过预置参数监听脚本从监控主机中读取当前状态参数,对当前状态参数中的采集时间进行格式化,获得初始化状态参数,保证了采集到的分布式协调***的状态参数的时效性。
参考图5,图5为本发明分布式协调***的状态监控方法第四实施例的流程示意图。
基于上述各实施例,在本实施例中所述步骤S40可具体包括:
步骤S401:所述数据传输组件调用预置数据过滤插件从所述初始化状态参数中提取目标时间参数,所述目标时间参数为所述采集时间格式化后的时间参数;
应理解的是,ElasticSearch是基于Lucene框架的全文搜索引擎,它可将所有文档的信息写入到索引(Index)的数据结构中,索引建立的是索引中词和文档之间的映射关系,通常情况下为了能够便于工作人员后续查询分布式协调***各个时间节点的运行状态参数,ElasticSearch在建立索引时,会以日期字段和日期字段对应的初始化状态参数之间的映射关系来建立索引,但考虑到数据搜索组件ElasticSearch从数据传输组件Logstash中获取各类数据时,会以自身采集到该数据时的时间对应的日期字段来建立日期字段和数据之间的索引从而导致建立的索引不能真实反映出分布式协调***各个时间节点的运行状态参数,故而本实施例中采取对时间参数重定义的方式来解决这类问题。
在具体实现中,数据传输组件Logstash调用预置数据过滤插件(Filter插件)从获取到的初始化状态参数中提取出已经格式化后的采集时间对应的时间参数,即所述目标时间参数。
步骤S402:所述数据传输组件根据所述目标时间参数中包含的目标日期字段对所述发送时间进行日期字段替换,以实现对所述发送时间的参数重定义;
应理解的是,所述发送时间即数据搜索组件ElasticSearch采集初始化状态参数时的默认采集时间,为了避免数据搜索组件ElasticSearch将所述默认采集时间作为该初始化状态参数的实际产生时间,需要对所述发送时间进行重定义,所谓重定义即根据提取出的目标时间参数中包含的目标日期字段对所述发送时间进行日期字段替换,例如数据搜索组件ElasticSearch的默认采集时间(即所述发送时间)对应的日期字段为2018-05-11T16:30:30+08:00,但监控主机本次采集初始化状态参数的时间对应的日期字段为2018-05-11T16:29:12+08:00,此时就需要将日期字段“2018-05-11T16:30:30+08:00”重定义为日期字段“2018-05-11T16:29:12+08:00”来保证最终建立的索引的准确性。
步骤S403:所述数据传输组件在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
在具体实现中,数据传输组件Logstash在完成时间参数的重定义时,将初始化状态参数发送至数据搜索组件ElasticSearch进行保存。
本实施例数据传输组件调用预置数据过滤插件从初始化状态参数中提取目标时间参数,根据目标时间参数中包含的目标日期字段对发送时间进行日期字段替换以实现对发送时间的参数重定义,在完成参数重定义时,将初始化状态参数发送至数据搜索组件进行保存,保证了数据搜索组件建立的索引准确性和可靠性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有分布式协调***的状态监控程序,所述分布式协调***的状态监控程序被处理器执行时实现如上文所述的分布式协调***的状态监控方法的步骤。
参照图6,图6为本发明分布式协调***的状态监控装置第一实施例的结构框图。
如图6所示,本发明实施例提出的分布式协调***的状态监控装置包括:状态监控模块601、数据传输模块602和数据搜索模块603;
其中,所述状态监控模块601,用于在接收到状态监控指令时,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数;
需要说明的是,所述分布式协调***的状态监控装置可以是承载有分布式协调***Zookeeper的装置。所述当前状态参数可以是分布式协调***Zookeeper的运行状态数据,该运行状态数据包括但不限于:服务配置的详细信息(如端口、Zookeeper数据及日志配置路径、最大连接数,session超时时间、serverId等)、连接到Zookeeper的客户端连接/会话的详细信息(如“接受/发送”的数据包数量、session id、操作延迟、最后的操作执行等)、未经处理的会话和临时节点信息和Zookeeper的环境详细信息(如host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin)。
应理解的是,所述查询命令至少包括:conf“列出Zookeeper相关配置的详细信息”、cons“列出所有连接到Zookeeper的客户端全部连接/会话详细信息”、dump“列出重要会话和临时节点”、envi“列出服务环境的详细信息”、reqs“列出未经处理的请求”、ruok“测试Zookeeper服务是否处于正常状态”、stat“列出关于性能和连接的客户端的列表”等Zookeeper常用的四字命令(The Four Letter Words)中的任意两项或多项命令。相应地,所述预设维度可以是工作人员预先定义好的查询命令的类型。
所述数据传输模块602,用于读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
需要说明的是,本实施例及下述各实施例中所述数据传输组件可以是ELK日志分析平台(以下简称ELK平台)中的Logstash组件,该组件常用于日志分析平台或***中做日志采集设备。所述初始化处理即数据传输组件通过调用过滤插件Filter来处理流经当前Logstash的事件信息,例如添加字段、移除字段、转换字段类型,通过正则表达式切分数据等,当然也可以根据条件判断来进行不同的数据处理。
应理解的是,所述ELK平台是由Elasticsearch,Logstash,Kibana三种开源工具搭建而成的日志分析***,其中,Elasticsearch是一个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能;Logstash则主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式;Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。本实施例将ELK平台中的Logstash应用到分布式协调***Zookeeper的状态监控中,能够有效提高监控的时效性。
所述数据传输模块602,用于在接收到所述数据搜索模块603发送的数据获取指令时,记录所述数据搜索模块603发送所述数据获取指令的发送时间;
需要说明的是,本实施例及下述各实施例中所述数据搜索组件可以是ELK平台中的Elasticsearch组件,Elasticsearch组件是一个基于RESTful web接口的分布式多用户能力的全文搜索引擎。一般情况下数据搜索组件ElasticSearch会从数据传输组件Logstash中获取数据并保存,同时它会将从数据传输组件Logstash获取到相关数据的时间作为该数据实际的采集时间,但考虑到数据采集的瞬时性本实施例中将数据搜索组件ElasticSearch向数据传输组件Logstash发送数据获取指令时的发送时间作为其进行数据采集的采集时间。
所述数据传输模块602,用于对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索模块603进行保存。
应理解的是,考虑到数据搜索组件ElasticSearch从数据传输组件Logstash中获取各类数据时,会以自身采集到该数据时的时间作为该数据的实际产生时间(例如分布式协调***Zookeeper某一时刻对应的运行状态参数A的实际产生时间为2018-05-11 16:30:30,若数据搜索组件ElasticSearch的采集到该运行状态参数A时间为2018-05-12 10:30:30,则数据搜索组件ElasticSearch就会将2018-05-12 10:30:30作为该运行状态参数A的实际产生时间)。因此为了避免数据搜索组件ElasticSearch后续根据自身采集到数据时的采集时间建立的采集时间和数据之间的索引失真,就需要对所述发送时间进行时间参数的重定义,来保证最终建立的索引的准确性及可靠性。
在具体实现中,数据传输组件可通过调用预置数据过滤插件(如Filter插件)从所述初始化状态参数中提取目标时间参数,然后根据目标时间参数中包含的目标日期字段对发送时间进行日期字段替换,在替换完成时再将初始化状态参数发送至数据搜索组件进行保存。
本实施例监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取当前状态参数;数据传输组件从监控主机中读取当前状态参数,对当前状态参数进行初始化处理获得初始化状态参数;在接收到数据搜索组件发送的数据获取指令时,记录数据搜索组件发送数据获取指令的发送时间;对所述发送时间进行参数重定义,并在完成参数重定义时,将初始化状态参数发送至数据搜索组件进行保存,由于是通过向分布式协调***循环发送预设维度的查询命令来获取分布式协调***的当前状态参数,从而使得获取到的状态参数的维度不再局限于***是否正常运行这一单一维度,能够实现对分布式协调***运行状态的多维度监控,保证了分布式协调***的信息安全及结构安全。
基于本发明上述分布式协调***的状态监控装置第一实施例,提出本发明分布式协调***的状态监控装置的第二实施例。
在本实施例中,所述预设维度的查询命令包括:状态查询命令和信息查询命令,相应地,所述状态监控模块601,还用于在接收到状态监控指令时,向分布式协调***发送所述状态查询命令,查询所述分布式协调***是否正常运行;在查询到所述分布式协调***正常运行时,向所述分布式协调***循环发送所述信息查询命令,采集所述分布式协调***的原始状态参数;对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地。
进一步地,所述状态监控模块601,还用于获取采集所述原始状态参数时的采集时间以及所述分布式协调***对应的***标识;将所述采集时间和所述***标识添加至所述原始状态参数中获得所述当前状态参数,并将所述当前状态参数保存至本地。
进一步地,所述数据传输模块602,还用于通过预置监听脚本从所述监控主机中读取所述当前状态参数;对所述当前状态参数中的所述采集时间进行格式化,获得初始化状态参数。
进一步地,所述数据传输模块602,还用于调用预置数据过滤插件从所述初始化状态参数中提取目标时间参数,所述目标时间参数为所述采集时间格式化后的时间参数;根据所述目标时间参数中包含的目标日期字段对所述发送时间进行日期字段替换,以实现对所述发送时间的参数重定义;在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索模块603进行保存。
进一步地,所述数据传输模块602,还用于在完成所述参数重定义时,在所述数据搜索模块603对应的数据库中查找是否存在包含有所述目标日期字段的目标索引信息;在查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索模块603,以使所述数据搜索模块603将所述初始化状态参数保存至所述目标索引信息对应的存储区域。
进一步地,所述数据传输模块602,还用于在未查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索模块603;相应地,所述数据搜索模块603根据所述初始化状态参数中包含的所述目标日期字段建立所述目标日期字段和所述初始化状态参数之间的索引信息。
本发明分布式协调***的状态监控装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分布式协调***的状态监控方法,其特征在于,所述方法包括:
监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数;
数据传输组件从所述监控主机中读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
所述数据传输组件在接收到数据搜索组件发送的数据获取指令时,记录所述数据搜索组件发送所述数据获取指令的发送时间;
所述数据传输组件对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
2.如权利要求1所述的方法,其特征在于,所述预设维度的查询命令包括:状态查询命令和信息查询命令;
所述监控主机响应于接收到的状态监控指令,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数的步骤,包括:
监控主机响应于接收到的状态监控指令,向分布式协调***发送所述状态查询命令,查询所述分布式协调***是否正常运行;
所述监控主机在查询到所述分布式协调***正常运行时,向所述分布式协调***循环发送所述信息查询命令,采集所述分布式协调***的原始状态参数;
所述监控主机对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地。
3.如权利要求2所述的方法,其特征在于,所述监控主机对所述原始状态参数进行格式化处理得到当前状态参数,将所述当前状态参数保存至本地的步骤,包括:
所述监控主机获取采集所述原始状态参数时的采集时间以及所述分布式协调***对应的***标识;
所述监控主机将所述采集时间和所述***标识添加至所述原始状态参数中获得所述当前状态参数,并将所述当前状态参数保存至本地。
4.如权利要求3所述的方法,其特征在于,所述数据传输组件从所述监控主机中读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数的步骤,包括:
数据传输组件通过预置监听脚本从所述监控主机中读取所述当前状态参数;
所述数据传输组件对所述当前状态参数中的所述采集时间进行格式化,获得初始化状态参数。
5.如权利要求4所述的方法,其特征在于,所述数据传输组件对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存的步骤,包括:
所述数据传输组件调用预置数据过滤插件从所述初始化状态参数中提取目标时间参数,所述目标时间参数为所述采集时间格式化后的时间参数;
所述数据传输组件根据所述目标时间参数中包含的目标日期字段对所述发送时间进行日期字段替换,以实现对所述发送时间的参数重定义;
所述数据传输组件在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存。
6.如权利要求5所述的方法,其特征在于,所述数据传输组件在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索组件进行保存的步骤,包括:
所述数据传输组件在完成所述参数重定义时,在所述数据搜索组件对应的数据库中查找是否存在包含有所述目标日期字段的目标索引信息;
所述数据传输组件在查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索组件,以使所述数据搜索组件将所述初始化状态参数保存至所述目标索引信息对应的存储区域。
7.如权利要求6所述的方法,其特征在于,所述数据传输组件在完成所述参数重定义时,在所述数据搜索组件对应的数据库中查找是否存在包含有所述目标日期字段的目标索引的步骤之后,所述方法还包括:
所述数据传输组件在未查找到所述目标索引信息时,将所述初始化状态参数发送至所述数据搜索组件;
所述数据搜索组件根据所述初始化状态参数中包含的所述目标日期字段建立所述目标日期字段和所述初始化状态参数之间的索引信息。
8.一种分布式协调***的状态监控装置,其特征在于,所述装置包括:状态监控模块、数据传输模块和数据搜索模块;
其中,所述状态监控模块,用于在接收到状态监控指令时,向分布式协调***循环发送预设维度的查询命令,获取所述分布式协调***的当前状态参数;
所述数据传输模块,用于读取所述当前状态参数,对所述当前状态参数进行初始化处理获得初始化状态参数;
所述数据传输模块,用于在接收到所述数据搜索模块发送的数据获取指令时,记录所述数据搜索模块发送所述数据获取指令的发送时间;
所述数据传输模块,用于对所述发送时间进行参数重定义,并在完成所述参数重定义时,将所述初始化状态参数发送至所述数据搜索模块进行保存。
9.一种分布式协调***的状态监控设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式协调***的状态监控程序,所述分布式协调***的状态监控程序配置为实现如权利要求1至7中任一项所述的分布式协调***的状态监控方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有分布式协调***的状态监控程序,所述分布式协调***的状态监控程序被处理器执行时实现如权利要求1至7任一项所述的分布式协调***的状态监控方法的步骤。
CN201811041957.5A 2018-09-07 2018-09-07 分布式协调***的状态监控方法、装置、设备及存储介质 Active CN109684158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811041957.5A CN109684158B (zh) 2018-09-07 2018-09-07 分布式协调***的状态监控方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811041957.5A CN109684158B (zh) 2018-09-07 2018-09-07 分布式协调***的状态监控方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109684158A true CN109684158A (zh) 2019-04-26
CN109684158B CN109684158B (zh) 2022-07-12

Family

ID=66185674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811041957.5A Active CN109684158B (zh) 2018-09-07 2018-09-07 分布式协调***的状态监控方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109684158B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641549A (zh) * 2021-03-08 2021-11-12 万翼科技有限公司 任务监控方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101307A1 (en) * 2001-03-15 2003-05-29 Riccardo Gemelli System of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
CN104503894A (zh) * 2014-12-31 2015-04-08 中国石油天然气股份有限公司 分布式服务器状态实时监测***及方法
CN107562448A (zh) * 2016-07-01 2018-01-09 中兴通讯股份有限公司 终端初始化方法及装置
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法
CN108255687A (zh) * 2017-12-29 2018-07-06 五八同城信息技术有限公司 终端的应用程序内存监控测试方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101307A1 (en) * 2001-03-15 2003-05-29 Riccardo Gemelli System of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
CN104503894A (zh) * 2014-12-31 2015-04-08 中国石油天然气股份有限公司 分布式服务器状态实时监测***及方法
CN107562448A (zh) * 2016-07-01 2018-01-09 中兴通讯股份有限公司 终端初始化方法及装置
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法
CN108255687A (zh) * 2017-12-29 2018-07-06 五八同城信息技术有限公司 终端的应用程序内存监控测试方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641549A (zh) * 2021-03-08 2021-11-12 万翼科技有限公司 任务监控方法、装置、电子设备和存储介质
CN113641549B (zh) * 2021-03-08 2024-05-17 万翼科技有限公司 任务监控方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109684158B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN110245078B (zh) 一种软件的压力测试方法、装置、存储介质和服务器
CN107943951B (zh) 一种区块链业务信息的检索方法及***
US10853124B2 (en) Managing user data in a multitenant deployment
CN107220142B (zh) 执行数据恢复操作的方法及装置
US6282175B1 (en) Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
CN111930355B (zh) 一种web后端开发框架及其构建方法
US20100088197A1 (en) Systems and methods for generating remote system inventory capable of differential update reports
CN109460343A (zh) 基于日志的***异常监控方法、装置、设备及存储介质
US20070078841A1 (en) System and method for network resource management
CN114791846B (zh) 一种针对云原生混沌工程实验实现可观测性的方法
WO2019051948A1 (zh) 监控数据的处理方法、设备、服务器及存储介质
CN110245145A (zh) 关系型数据库到Hadoop数据库的结构同步方法和装置
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
CN112685270A (zh) 一种***监控日志的采集方法、装置、电子设备及介质
CN109802842B (zh) 应用拓扑的生成方法及相关设备
CN117389830A (zh) 集群日志采集方法、装置、计算机设备及存储介质
CN110061876B (zh) 运维审计***的优化方法及***
CN112559525B (zh) 数据检查***、方法、装置和服务器
CN104967667A (zh) 一种基于云服务的软件稳定性测试远程监控***
CN109684158A (zh) 分布式协调***的状态监控方法、装置、设备及存储介质
CN109474386B (zh) 信令跟踪方法、***、网元设备和存储介质
US10353792B2 (en) Data layering in a network management system
CN109684159A (zh) 分布式消息***的状态监控方法、装置、设备及存储介质
CN113810475A (zh) 一种基于大数据架构的Wifi探针设备管控***
CN115348185B (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
GR01 Patent grant
GR01 Patent grant