CN112035312A - 一种检测Kafka集群中Leader进程的可用状态方法及装置 - Google Patents

一种检测Kafka集群中Leader进程的可用状态方法及装置 Download PDF

Info

Publication number
CN112035312A
CN112035312A CN202010712356.3A CN202010712356A CN112035312A CN 112035312 A CN112035312 A CN 112035312A CN 202010712356 A CN202010712356 A CN 202010712356A CN 112035312 A CN112035312 A CN 112035312A
Authority
CN
China
Prior art keywords
kafka cluster
preset
information
monitoring
state
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
CN202010712356.3A
Other languages
English (en)
Other versions
CN112035312B (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.)
Dazhu Hangzhou Technology Co ltd
Original Assignee
Dazhu Hangzhou Technology 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 Dazhu Hangzhou Technology Co ltd filed Critical Dazhu Hangzhou Technology Co ltd
Priority to CN202010712356.3A priority Critical patent/CN112035312B/zh
Publication of CN112035312A publication Critical patent/CN112035312A/zh
Application granted granted Critical
Publication of CN112035312B publication Critical patent/CN112035312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种检测Kafka集群中Leader进程的可用状态方法及装置,涉及数据处理技术领域,为解决现有技术中Kafka集群本身无法检测因数据磁盘问题引起的功能不可用的问题而发明。主要方法包括:根据预置检测方法,监控数据磁盘的读写状态;如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。本发明主要应用于运行Kafka集群的过程中。

Description

一种检测Kafka集群中Leader进程的可用状态方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种检测Kafka集群中Leader进程的可用状态方法及装置。
背景技术
Kafka集群是由Apache软件基金会开发的开源流处理平台,即是高吞吐量的分布式发布订阅消息系统,通过Hadoop的并行加载机制统一线上和离线的消息处理,处理用户在网站中的网页浏览、搜索和访问等所有动作的数据消息。
Leader是Kafka集群中一台服务器上运行的进程,负责读写数据。如果Leader进程出现宕机情况,Kafka则通过Zookeeper进程自动选举出新的Leader进程。如果Leader进程显示状态正常,可以正常的写入和读取数据,则说明Leader进程处于可用状态,如果Leader进程显示进程正常运行,却不能写入和读取数据,则说明Leader进程处于不可用状态。如果Leader进程显示状态正常,没有出现宕机情况,只是存储数据的数据磁盘出现问题,而Kafka集群本身无法检测因数据磁盘问题引起的功能不可用,使得Kafka集群无法正常提供服务。
发明内容
有鉴于此,本发明提供一种检测Kafka集群中Leader进程的可用状态方法及装置,主要目的在于解决现有技术中Kafka集群本身无法检测因数据磁盘问题引起的功能不可用的问题。
依据本发明一个方面,提供了一种检测Kafka集群中Leader进程的可用状态方法,包括:
根据预置检测方法,监控数据磁盘的读写状态;
如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
依据本发明另一个方面,提供了一种检测Kafka集群中Leader进程的可用状态装置,包括:
监控模块,用于根据预置检测装置,监控数据磁盘的读写状态;
查找模块,用于如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
捕获模块,用于如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
生成模块,用于如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
根据本发明的又一方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一种可执行指令,所述可执行指令使处理器执行如上述检测Kafka集群中Leader进程的可用状态方法对应的操作。
根据本发明的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一种可执行指令,所述可执行指令使所述处理器执行上述检测Kafka集群中Leader进程的可用状态方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种检测Kafka集群中Leader进程的可用状态方法及装置,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本发明实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种检测Kafka集群中Leader进程的可用状态方法流程图;
图2示出了本发明实施例提供的另一种检测Kafka集群中Leader进程的可用状态方法流程图;
图3示出了本发明实施例提供的一种检测Kafka集群中Leader进程的可用状态装置组成框图;
图4示出了本发明实施例提供的另一种检测Kafka集群中Leader进程的可用状态装置组成框图;
图5示出了本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在Kafka集群的运行机制中没有对磁盘功能的验证,并且内部的组件相对固定,修改固定组件而达到检测可用状态的目的比较繁琐,不利于方案的推广与实施。故而,本发明实施例提供了一种检测Kafka集群中Leader进程的可用状态方法,如图1所示,该方法包括:
101、根据预置检测方法,监控数据磁盘的读写状态。
数据磁盘用于存储Kafka集群在运行过程中所需的存储空间。只有在磁盘能够正常运行的前提下,Kafka集群才能正常运行。监控数据磁盘也就是监控数据磁盘的读写状态。在监控过程中可采用的预置检测方法包括:hdparm命令、dd命令或zabbix监控。
102、如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息。
读写状态异常是指数据磁盘不能进行读操作、写操作或者读写的速度较慢。一旦监控到磁盘的读写状态异常,则获取Kafka集群的日志,并查找Kafka集群日志在是否包括第一预置异常状态信息。第一预置异常信息可以为kafka.common.NotLeaderForPartitionException。
103、如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息。
磁盘测试程序,可以是向磁盘写入一条测试数据,也可以是从磁盘读出一条存储数据。由于磁盘出现异常,正在运行的Leader进程不能有任何实质的数据处理进展,所以暂停正在运行的Leader进程。导入并执行磁盘测试程序,以进一步检测,磁盘异常状态产生的原因。第二预置异常状态信息是指在执行磁盘测试程序过程中产生的任意异常状态信息。在捕获第二预置异常状态信息时,可采用catch语句进行捕获操作。在执行磁盘测试程序中,可以采用createAndValidateLogDirs方法中校验程序是否成功执行。
104、如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息。
如果查找到第一预置异常状态信息,或者捕获第二异常状态信息,则认为Leader进程处于不可用状态,生成不可用状态告警信息,以便于运维人员对Kafka集群进行维护。
如果未查找到第一预置异常状态信息,并且未捕获第二异常状态信息,则说明该磁盘的读写状态异常,可能是由于Kafka集群本身的问题导致的。
本发明提供了一种检测Kafka集群中Leader进程的可用状态方法,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本发明实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。
本发明实施例提供了另一种检测Kafka集群中Leader进程的可用状态方法,如图2所示,该方法包括:
201、根据预置检测方法,监控数据磁盘的读写状态。
数据磁盘用于存储Kafka集群在运行过程中所需的存储空间。只有在磁盘能够正常运行的前提下,Kafka集群才能正常运行。监控数据磁盘也就是监控数据磁盘的读写状态。在监控过程中可采用的预置检测方法包括:hdparm命令、dd命令或zabbix监控。
如果采用zabbix监控方式监控数据磁盘,则具体包括:加载磁盘监控的配置文件;根据预置监控参数,配置所述读写状态的监控项,所述监控项包括读操作耗时、写操作耗时和I/O操作耗时;根据所述监控参数和所述配置文件,监控所述数据磁盘的磁盘地址。
在数据磁盘正常读写操作,其读操作耗时、写操作耗时和I/O操作耗时都具有固定的可容忍耗时范围,当监控的磁盘地址的监控项耗时超过可容易耗时范围时,则判断数据磁盘的读写状态异常。可容忍耗时范围记录在预置监控参数中。
202、如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息。
读写状态异常是指数据磁盘不能进行读操作、写操作或者读写的速度较慢。一旦监控到磁盘的读写状态异常,则获取Kafka集群的日志,并查找Kafka集群日志在是否包括第一预置异常状态信息。第一预置异常信息可以为kafka.common.NotLeaderForPartitionException。
查找具体过程可以包括:根据预置日志存储路径,获取Kafka集群日志中的文本信息,所述Kafka集群日志是指根据预置存储空间或者预置时间间隔动态更新的部分集群日志;通过文本编辑器vim,查找所述文本信息中是否包括所述第一预置异常状态信息。按照预置存储空间动态更新,是指当Kafka集群日志中存储的日志信息所占用的存储空间大于预置存储空间后,重新生成Kafka集群日志文件保存新的日志信息,也就是当前Kafka集群日志中,最多保留日志信息所摘要的存储空间小于等于预置存储空间。按照预置时间间隔动态更新,是指当Kafka集群日志中存储的日志信息,按照日志生成的时间顺序存储,当日志信息的记录时间达到预置时间间隔,则重新生成Kafka集群日志文件保存新的日志信息,也就是当前Kafka集群日志中,最多保留预置时间间隔时长范围内的日志信息。
查找具体过程还可以包括:通过轻量型日志采集器filebeat获取所述Kafka集群日志;根据搜索服务器elasticsearch查找所述Kafka集群日志中是否包括所述第一预置异常状态信息。在查找过程中,也可以借助现有的日志采集和搜索程序查找Kafka集群日志中是否包括所述第一预置异常状态信息。
203、如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息。
磁盘测试程序,可以是向磁盘写入一条测试数据,也可以是从磁盘读出一条存储数据。由于磁盘出现异常,正在运行的Leader进程不能有任何实质的数据处理进展,所以暂停正在运行的Leader进程。导入并执行磁盘测试程序,以进一步检测,磁盘异常状态产生的原因。第二预置异常状态信息是指在执行磁盘测试程序过程中产生的任意异常状态信息。在捕获第二预置异常状态信息时,可采用catch语句进行捕获操作。在执行磁盘测试程序中,可以采用createAndValidateLogDirs方法中校验程序是否成功执行。
204、如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息。
如果查找到第一预置异常状态信息,或者捕获第二异常状态信息,则认为Leader进程处于不可用状态,生成不可用状态告警信息,以便于运维人员对Kafka集群进行维护。如果未查找到第一预置异常状态信息,并且未捕获第二异常状态信息,则说明该磁盘的读写状态异常,可能是由于Kafka集群本身的问题导致的。
205a、将不可用状态告警信息,发送至Leader进程的运行状态显示终端。
通过运行状态显示终端,不断地重复地显示不可用状态告警信息,已提示运维人员对Kafka集群进行维护。
205b将不可用状态告警信息,发送至手持终端通信地址。
随着远程控制技术的不断发展,通过远程监控、远控控制、远程解决问题的方式越来越普遍。为了解决运维人员不会实时观察运行状态显示终端而导致的发现不可用状态告警信息滞后的问题,可以将不可用状态告警信息,发送至手持终端通信地址。其中,手持终端通信地址包括但不限于邮箱、微信账号和QQ账号。通过手持终端通信地址,以使得运维人员能够即时接收到Leader进程的运行状态,以便Kafka集群的运行故障能够被及时处理。
本发明提供了一种检测Kafka集群中Leader进程的可用状态方法,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本发明实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种检测Kafka集群中Leader进程的可用状态装置,如图3所示,该装置包括:
监控模块31,用于根据预置检测装置,监控数据磁盘的读写状态;
查找模块32,用于如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
捕获模块33,用于如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
生成模块34,用于如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
本发明提供了一种检测Kafka集群中Leader进程的可用状态装置,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本发明实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种检测Kafka集群中Leader进程的可用状态装置,如图4所示,该装置包括:
监控模块41,用于根据预置检测装置,监控数据磁盘的读写状态;
查找模块42,用于如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
捕获模块43,用于如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
生成模块44,用于如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
进一步地,所述监控模块41,包括:
加载单元411,用于加载磁盘监控的配置文件;
配置单元412,用于根据预置监控参数,配置所述读写状态的监控项,所述监控项包括读操作耗时、写操作耗时和I/O操作耗时;
监控单元413,用于根据所述监控参数和所述配置文件,监控所述数据磁盘的磁盘地址。
进一步地,所述查找模块42,包括:
获取单元421,用于根据预置日志存储路径,获取Kafka集群日志中的文本信息,所述Kafka集群日志是指根据预置存储空间或者预置时间间隔动态更新的部分集群日志;
查找单元422,用于通过文本编辑器vim,查找所述文本信息中是否包括所述第一预置异常状态信息。
进一步地,所述查找模块42,包括:
所述获取单元421,还用于通过轻量型日志采集器filebeat获取所述Kafka集群日志;
所述查找单元422,还用于根据搜索服务器elasticsearch查找所述Kafka集群日志中是否包括所述第一预置异常状态信息。
进一步地,所述装置还包括:
发送模块45,用于所述生成所述Leader进程的不可用状态告警信息之后,将所述不可用状态告警信息,发送至所述Leader进程的运行状态显示终端;和/或,
所述发送模块45,还用于所述生成所述Leader进程的不可用状态告警信息之后,将所述不可用状态告警信息,发送至手持终端通信地址,所述手持终端通信地址包括邮箱、微信账号和QQ账号。
本发明提供了一种检测Kafka集群中Leader进程的可用状态装置,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本发明实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。
根据本发明一个实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的检测Kafka集群中Leader进程的可用状态方法。
图5示出了根据本发明一个实施例提供的一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
如图5所示,该计算机设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述检测Kafka集群中Leader进程的可用状态方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
根据预置检测方法,监控数据磁盘的读写状态;
如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种检测Kafka集群中Leader进程的可用状态方法,其特征在于,包括:
根据预置检测方法,监控数据磁盘的读写状态;
如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
2.根据权利要求1所述的方法,其特征在于,所述根据预置检测方法,监控数据磁盘的读写状态,包括:
加载磁盘监控的配置文件;
根据预置监控参数,配置所述读写状态的监控项,所述监控项包括读操作耗时、写操作耗时和I/O操作耗时;
根据所述监控参数和所述配置文件,监控所述数据磁盘的磁盘地址。
3.根据权利要求1所述的方法,其特征在于,所述查找Kafka集群日志中是否包括第一预置异常状态信息,包括:
根据预置日志存储路径,获取Kafka集群日志中的文本信息,所述Kafka集群日志是指根据预置存储空间或者预置时间间隔动态更新的部分集群日志;
通过文本编辑器vim,查找所述文本信息中是否包括所述第一预置异常状态信息。
4.根据权利要求1所述的方法,其特征在于,所述查找Kafka集群日志中是否包括第一预置异常状态信息,包括:
通过轻量型日志采集器filebeat获取所述Kafka集群日志;
根据搜索服务器elasticsearch查找所述Kafka集群日志中是否包括所述第一预置异常状态信息。
5.根据权利要求1所述的方法,其特征在于,所述生成所述Leader进程的不可用状态告警信息之后,所述方法还包括:
将所述不可用状态告警信息,发送至所述Leader进程的运行状态显示终端;和/或,
将所述不可用状态告警信息,发送至手持终端通信地址,所述手持终端通信地址包括邮箱、微信账号和QQ账号。
6.一种检测Kafka集群中Leader进程的可用状态装置,其特征在于,包括:
监控模块,用于根据预置检测装置,监控数据磁盘的读写状态;
查找模块,用于如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
捕获模块,用于如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
生成模块,用于如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。
7.根据权利要求6所述的装置,其特征在于,所述监控模块,包括:
加载单元,用于加载磁盘监控的配置文件;
配置单元,用于根据预置监控参数,配置所述读写状态的监控项,所述监控项包括读操作耗时、写操作耗时和I/O操作耗时;
监控单元,用于根据所述监控参数和所述配置文件,监控所述数据磁盘的磁盘地址。
8.根据权利要求6所述的装置,其特征在于,所述查找模块,包括:
获取单元,用于根据预置日志存储路径,获取Kafka集群日志中的文本信息,所述Kafka集群日志是指根据预置存储空间或者预置时间间隔动态更新的部分集群日志;
查找单元,用于通过文本编辑器vim,查找所述文本信息中是否包括所述第一预置异常状态信息。
9.根据权利要求6所述的装置,其特征在于,所述查找模块,包括:
所述获取单元,还用于通过轻量型日志采集器filebeat获取所述Kafka集群日志;
所述查找单元,还用于根据搜索服务器elasticsearch查找所述Kafka集群日志中是否包括所述第一预置异常状态信息。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
发送模块,用于所述生成所述Leader进程的不可用状态告警信息之后,将所述不可用状态告警信息,发送至所述Leader进程的运行状态显示终端;和/或,
所述发送模块,还用于所述生成所述Leader进程的不可用状态告警信息之后,将所述不可用状态告警信息,发送至手持终端通信地址,所述手持终端通信地址包括邮箱、微信账号和QQ账号。
CN202010712356.3A 2020-07-22 2020-07-22 一种检测Kafka集群中Leader进程的可用状态方法及装置 Active CN112035312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010712356.3A CN112035312B (zh) 2020-07-22 2020-07-22 一种检测Kafka集群中Leader进程的可用状态方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010712356.3A CN112035312B (zh) 2020-07-22 2020-07-22 一种检测Kafka集群中Leader进程的可用状态方法及装置

Publications (2)

Publication Number Publication Date
CN112035312A true CN112035312A (zh) 2020-12-04
CN112035312B CN112035312B (zh) 2023-05-26

Family

ID=73582459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010712356.3A Active CN112035312B (zh) 2020-07-22 2020-07-22 一种检测Kafka集群中Leader进程的可用状态方法及装置

Country Status (1)

Country Link
CN (1) CN112035312B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700965A (zh) * 2023-05-30 2023-09-05 北京瑞泰兴成工程技术有限公司 一种基于分布式的数据采集方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425645A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 数据库集群单点故障的监控系统及方法
CN106844137A (zh) * 2016-12-08 2017-06-13 腾讯科技(深圳)有限公司 服务器的监控方法和装置
CN107832189A (zh) * 2017-10-31 2018-03-23 维沃移动通信有限公司 一种i/o系统的监控方法及移动终端
CN110750426A (zh) * 2019-10-30 2020-02-04 北京明朝万达科技股份有限公司 服务状态监测方法、装置、电子设备及可读存储介质
CN111104239A (zh) * 2019-11-21 2020-05-05 北京浪潮数据技术有限公司 一种分布式存储集群的硬盘故障处理方法、系统及装置
CN111314158A (zh) * 2018-12-11 2020-06-19 杭州海康威视数字技术股份有限公司 大数据平台监控方法、装置及设备、介质
CN111352806A (zh) * 2020-03-31 2020-06-30 中国工商银行股份有限公司 日志数据监控方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425645A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 数据库集群单点故障的监控系统及方法
CN106844137A (zh) * 2016-12-08 2017-06-13 腾讯科技(深圳)有限公司 服务器的监控方法和装置
CN107832189A (zh) * 2017-10-31 2018-03-23 维沃移动通信有限公司 一种i/o系统的监控方法及移动终端
CN111314158A (zh) * 2018-12-11 2020-06-19 杭州海康威视数字技术股份有限公司 大数据平台监控方法、装置及设备、介质
CN110750426A (zh) * 2019-10-30 2020-02-04 北京明朝万达科技股份有限公司 服务状态监测方法、装置、电子设备及可读存储介质
CN111104239A (zh) * 2019-11-21 2020-05-05 北京浪潮数据技术有限公司 一种分布式存储集群的硬盘故障处理方法、系统及装置
CN111352806A (zh) * 2020-03-31 2020-06-30 中国工商银行股份有限公司 日志数据监控方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
汪涛;: "Kafka中Broker节点磁盘问题的故障处理方法", 现代信息科技 *
网友: ""Kafka errors NotLeaderForPartitionException, TimeoutException: Batch containing * record(s) expired"", 《HTTPS://BLOG.CSDN.NET/JIECXY/ARTICLE/DETAILS/53369173》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700965A (zh) * 2023-05-30 2023-09-05 北京瑞泰兴成工程技术有限公司 一种基于分布式的数据采集方法及系统

Also Published As

Publication number Publication date
CN112035312B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN104268055B (zh) 一种程序异常的监控方法和装置
CN105653425B (zh) 基于复杂事件处理引擎的监控系统
CN110309130A (zh) 一种用于主机性能监控的方法及装置
CN109818787A (zh) 业务异常检测方法、装置及存储介质
CN103713981A (zh) 一种数据库服务器性能检测和预警方法
CN108170552A (zh) 一种抓取Dump文件的方法、装置和设备
CN110851324B (zh) 基于日志的巡检处理方法、装置以及电子设备、存储介质
US20200057714A1 (en) Testing data changes in production systems
CN114356499A (zh) Kubernetes集群告警根因分析方法及装置
CN114154035A (zh) 一种动环监控的数据处理系统
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN112100048A (zh) 一种服务器自适应巡检方法及装置
CN112035312B (zh) 一种检测Kafka集群中Leader进程的可用状态方法及装置
CN105512000A (zh) 一种操作系统异常信息收集方法、装置及计算机
CN111901172B (zh) 基于云计算环境下的应用服务监控方法及系统
JP2012163997A (ja) 障害解析支援システム、障害解析支援方法、および障害解析支援プログラム
Mos et al. COMPAS: Adaptive performance monitoring of component-based systems
JP2007207213A (ja) ワイヤレスデバイスのリアルタイム診断に適用する診断情報収集手法
CN111130882A (zh) 网络设备的监控系统及方法
CN111756778B (zh) 一种服务器磁盘清理脚本推送的方法、装置和存储介质
CN110928885A (zh) Mysql数据库的数据更新到Es数据库的方法及装置
CN101741600B (zh) 服务器系统与其记录装置
CN112463514A (zh) 分布式缓存集群的监测方法和装置
CN110597603A (zh) 一种分布式排期任务的调度方法与系统
CN113626244B (zh) Anr异常数据的收集方法、显示方法、装置及设备

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