CN109861878B - kafka集群的topic数据的监控方法及相关设备 - Google Patents
kafka集群的topic数据的监控方法及相关设备 Download PDFInfo
- Publication number
- CN109861878B CN109861878B CN201910042494.2A CN201910042494A CN109861878B CN 109861878 B CN109861878 B CN 109861878B CN 201910042494 A CN201910042494 A CN 201910042494A CN 109861878 B CN109861878 B CN 109861878B
- Authority
- CN
- China
- Prior art keywords
- data
- topic
- kafka
- kafka cluster
- topic 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Alarm Systems (AREA)
Abstract
本申请涉及数据处理技术领域,特别是涉及一种kafka集群的topic数据的监控方法及相关设备。kafka集群的topic数据的监控方法包括:访问所有kafka集群,获取所有所述kafka集群中的topic数据;将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。本技术方案可以同时监控多个kafka集群,topic数据以动态形式呈现,提供了可追溯的历史topic数据。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种kafka集群的topic数据的监控方法及相关设备。
背景技术
随着Kakfa在流处理中的广泛应用,Kafka中可能存在几百上千的topic,kafka集群可能一个也可能是多个,因此,对Kafka中每个topic的数据变化量、消费者的消费进度的监控越来越重要。
目前市面上比较常用的kafka的监控工具主要是KafkaOffsetMonitor和KafkaManager。其中,KafkaOffsetMonitor可以获取每个消费者的对应的topic的变化量、消费进度等相关数据,但是只能监控单个kafka集群,也不能监控未被消费的topic的变化量;KafkaManager虽然可以管理多个集群,但是topic的相关数据是静态的,无法展示历史数据。综上所述,现有的两个监控工具在topic变化量、多集群管理、历史数据存储等方面存在各自不同的缺陷。
发明内容
基于此,有必要针对目前的kafka的监控工具,在topic变化量、多集群管理、历史数据存储等方面存在的技术问题,提供一种kafka集群的topic数据的监控方法及相关设备。
一种kafka集群的topic数据的监控方法,包括:
访问所有kafka集群,获取所有所述kafka集群中的topic数据;
将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;
对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
在其中一个可能的实施例中,所述访问所有kafka集群,获取所有所述kafka集群中的topic数据,包括:
从预设的配置中心调取所有所述kafka集群的访问地址和取数时间粒度;
每间隔一所述取数时间粒度,通过所述kafka集群的访问地址访问一次所述kafka集群;
通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据。
在其中一个可能的实施例中,所述将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据,包括:
提取每一所述kafka集群的唯一标识;
用所述kafka集群的唯一标识对相应的topic数据进行标注;
建立kafka集群数据表,以所述kafka集群的唯一标识对所述kafka集群数据表命名;
将标注好的topic数据分别存储到对应的所述kafka集群数据表中;
读取所述kafka集群数据表中topic数据,以图表的形式显示topic数据。
在其中一个可能的实施例中,所述对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示,包括:
读取最新存储至所述kafka集群数据表中的topic数据;
获取预设的告警阈值;
将所述topic数据与所述告警阈值进行比较;
若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示。
在其中一个可能的实施例中,所述通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据,包括:
使用所述kafka集群自带的管理命令获取所述topic的最新数据量大小;
查看缓存文件中是否存在所述topic上一次的数据量大小,若存在,则计算数据变化量,计算公式为:logchangesize=logsize-prelogsize,其中logchangesize为数据变化量,logsize为最新数据量大小,prelogsize为上一次的数据量大小;
将所述数据变化量和所述最新数据量大小输出,并将最新数据量大小更新作为topic上一次的数据量大小,留待下次计算使用;
使用开源KafkaOffsetMonitor,收集所述topic的每个消费者consumer的消费位置consumeroffset和消费延时lag,所述数据变化量、所述最新数据量大小、所述消费位置consumeroffset和所述消费延时则为获取的所述topic数据。
在其中一个可能的实施例中,所述将所述topic数据与所述告警阈值进行比较,包括:
提取所述topic数据中的数据变化量和消费延时lag,提取所述告警阈值中的数据变化量告警阈值和消费延时告警阈值;
将所述数据变化量与所述数据变化量阈值进行比较,当所述数据变化量低于或等于所述数据变化量告警阈值,则所述数据变化量达到所述数据变化量告警阈值,即所述topic数据达到所述告警阈值;
将所述消费延时与是所述消费延时告警阈值进行比较,当所述消费延时超过所述消费延时告警阈值,则所述消费延时达到所述消费延时告警阈值,即所述topic数据达到所述告警阈值。
在其中一个可能的实施例中,所述若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示,包括:
若所述数据变化量达到所述数据变化量告警阈值,或所述消费延时达到所述消费延时告警阈值,则向值班人员发送一级告警邮件;
若所述数据变化量达到所述数据变化量告警阈值,且所述消费延时达到所述消费延时告警阈值,则向值班人员发送二级告警邮件。
基于相同的构思,本申请提出一种kafka集群的topic数据的监控装置,包括:
数据获取模块,设置为访问所有kafka集群,获取所有所述kafka集群中的topic数据;
数据存储模块,设置为将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;
数据监控模块,设置为对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
基于相同的构思,本申请提出一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行上述kafka集群的topic数据的监控方法的步骤。
基于相同的构思,本申请提出一种存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个所述处理器执行上述kafka集群的topic数据的监控方法的步骤。
与现有技术相比,本申请中,通过预设配置中心配置kafka集群地址、取数时间粒度等信息访问kafka集群并使用kafka集群自带的管理命令获取kafka集群中的topic数据,可以同时监控多个kafka集群;使用独立的topic变化量收集进程,使得topic的数据变化量不再依赖是否被消费,无需创建消费者;对获取的topic数据按照kafka集群的唯一标识进行分类存储,并以图表的形式显示topic数据,使得topic数据以动态形式呈现,对历史数据也清晰可见;加入异常告警功能,增强了topic的数据变化量和消费者延时报警的实效性,达到监控的目的。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为本申请在一个实施例中的一种kafka集群的topic数据的监控方法的整体流程图;
图2为本申请在一个实施例中的一种kafka集群的topic数据的监控方法中的数据获取过程的示意图;
图3为本申请在一个实施例中的一种kafka集群的topic数据的监控方法中的数据监控过程的示意图;
图4为本申请在一个实施例中的一种kafka集群的topic数据的监控装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一阈值称为第二阈值,且类似地,可将第二阈值称为第一阈值。
图1为本申请在一个实施例中的一种kafka集群的topic数据的监控方法的整体流程图,如图1所示,一种kafka集群的topic数据的监控方法,包括:
步骤S1,访问所有kafka集群,获取所有所述kafka集群中的topic数据。
上述步骤执行时,首先,从预设的配置中心调取所有所述kafka集群的访问地址和取数时间粒度,通过连接所述kafka集群的访问地址来访问所述kafka集群,可以同时访问多个kafka集群;取数时间粒度是指两个相邻数据的时间距离,例如第二个数据比第一个数据晚一分钟,则取数时间粒度为1分钟,因此,根据所述取数时间粒度来确定访问所述kafka集群的次数,每间隔一所述取数时间粒度,则通过所述kafka集群的访问地址访问一次kafka集群;再通过每个kafka集群自带的管理命令获取本kafka集群中的topic数据。
在一种较佳的实施例中,本申请还包括一个取数进程维护模块,取数进程维护模块对每个kafka集群启动独立的取数进程,并检测取数进程是否正常运行,取数进程模块主要包括topic数据变化量、数据量大小的收集进程和消费者消费位置、消费延时的收集进程。取数进程维护模块每分钟读取配置中心的配置信息,如果存在新集群或者已失败的集群,则根据kafka集群的访问地址和取数时间粒度分别启动对应的kafka集群的topic数据变化量、数据量大小的收集进程和消费者消费位置、消费延时的收集进程”。
步骤S2,将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据。
上述步骤执行时,从kafka集群中获取所述topic数据时,会提取每一所述kafka集群的唯一标识,其中,集群唯一标示是唯一区分kafka集群的信息,可以是集群名称,例如:guanlan_elk_kafka;用所述kafka集群的唯一标识对来自该kafka集群的topic数据进行标注;为每个kafka集群建立kafka集群数据表,并以所述kafka集群的唯一标识对所述kafka集群数据表命名;将标注kafka集群的唯一标识的topic数据分别存储到对应名称的所述kafka集群数据表中,后续存储时,则可以直接按照标注的kafka集群的唯一标识将topic数据存储到与标注对应的kafka集群数据表中。将topic数据分类存储好后,同时,读取kafka集群数据表中topic数据,以图表的形式显示topic数据,每个kafka集群对应一个图表。
步骤S3,对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
本步骤实施时,首先,从所述kafka集群数据表中读取最新存储进来的topic数据;再从预设的配置中心中获取预设的告警阈值;将所述最新存储进来的topic数据与所述告警阈值进行比较;若所述最新存储进来的topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示。
本实施例,通过预设配置中心配置kafka集群地址、取数时间粒度等信息访问kafka集群并使用kafka集群自带的管理命令获取topic数据,可以同时监控多个kafka集群,使用独立的topic数据收集进程,使得topic变化量不再依赖是否被消费,无需创建消费者,topic数据以动态形式呈现,对历史数据也清晰可见,加入异常告警功能,达到监控的目的。
在一个实施例中,图2为本申请在一个实施例中的一种kafka集群的topic数据的监控方法中的数据获取过程的示意图,如图2所示,所述S1,访问所有kafka集群,获取所有所述kafka集群中的topic数据,包括:
步骤S101,从预设的配置中心调取所有所述kafka集群的访问地址和取数时间粒度;
上述步骤执行时,其中,配置中心是一个管理后台,可以在浏览器中访问该后台,然后对所述kafka集群的访问地址和取数时间粒度进行关键字查询,从而调取所述kafka集群的访问地址和取数时间粒度。
具体的,配置中心的作用主要是基础信息的配置,例如kafka集群的访问地址、kafka集群唯一标示(集群名称)、数据收集的时间间隔、kafka集群状态(新集群、已失败集群、正常集群)、数据存储地址等系统初始化信息。配置中心是一个web界面,在此web页面上填写kafka集群的访问地址和对应的取数时间粒度。
步骤S102,每间隔一所述取数时间粒度,通过所述kafka集群的访问地址访问一次所述kafka集群;
具体的,Kafka集群的访问地址是kafka集群的服务器IP地址和端口,例如:30.4.100.120:9092。取数时间粒度是两个相邻数据的时间距离,例如第二个数据比第一个数据晚一分钟,则取数时间粒度为1分钟。
上述步骤执行时,获取上一次访问所述kafka集群结束的时间节点,当间隔所述取数时间粒度的时间节点到来时,开始连接所述kafka集群的访问地址来访问所述kafka集群。
步骤S103,通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据。
具体的,所述topic数据包括数据变化量logchangesize、数据量大小logsize、消费者的消费位置consumeroffset和消费延时lag。
本步骤实施时,使用kafka集群自带的管理命令kafka-topics.sh获取kafka集群中的所有topic。
具体的,获取数据变化量和数据量大小的方法包括:对每个topic使用kafka集群自带的管理命令kafka-run-class.sh kafka.tools.GetOffsetShell获取最新数据量大小logsize;接着,查看缓存文件中是否存在所述topic的上一次的数据量大小,若存在,则计算数据变化量,计算公式为:logchangesize=logsize-prelogsize,其中,logchangesize为数据变化量,logsize为最新数据量大小,prelogsize为上一次的数据量大小;而最新数据量大小则为需要获取的数据量大小。另外,在获取到数据变化量和数据量大小之后,会用最新数据量大小替换上一次的数据量大小,留待下次计算使用,作为下次获取数据变化量时的上一次的数据量大小。
获取消费者的消费位置和消费延时的方法包括:对每个topic使用开源KafkaOffsetMonitor,收集所述topic的每个消费者consumer的消费位置和消费延时。
本实施例,使用独立的topic数据收集进程,使得topic数据变化量不再依赖是否被消费,无需创建消费者,提高了数据获取的效率。
在一个实施例中,所述S2,将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据,包括:
提取每一所述kafka集群的唯一标识;
本步骤中,kafka集群的唯一标示是唯一区分kafka集群的信息,可以是集群名称,例如:“guanlan_elk_kafka”。本步骤实施时,从所述配置中心中提取所述kafka集群的名称。
用所述kafka集群的唯一标识对相应的topic数据进行标注;
本步骤实施时,利用上述步骤提取的所述kafka集群的名称的关键词对从该kafka集群中获取的topic数据进行标注。例如所述kafka集群的名称为“guanlan_elk_kafka”,则其关键词可以为“gek”,即kafka集群的名称的首字母。
建立kafka集群数据表,以所述kafka集群的唯一标识对所述kafka集群数据表命名;
本步骤实施时,给每一个kafka集群建立一个对应的数据表,用来存储从该kafka集群获取的topic数据。每个kafka集群数据表的名称为其对应的kafka集群的名称或者kafka集群的名称的关键词。比如“guanlan_elk_kafka”或“gek”。
将标注好的topic数据分别存储到对应的所述kafka集群数据表中;
本步骤实施时,首先找到标注好的topic数据和与其对应的kafka集群数据表,可以使用关键词搜索匹配,之后再将topic数据分别存储到对应的kafka集群数据表中。
读取所述kafka集群数据表中topic数据,以图表的形式显示topic数据。
本步骤实施时,每一个kafka集群都对应的有一个图表,实时读取存储至kafka集群数据表中的topic数据并展示在相应的图表中。具体的,展示的指标为数据变化量logchangesize、数据量大小logsize、消费者的消费位置consumeroffset和消费延时lag。
本实施例,对每个kafka集群的topic数据做相应的图表展示,方便用户快速筛选想要查看的特定kafka集群的相关数据,加快数据查看的速度。
在一个实施例中,图3为本申请在一个实施例中的一种kafka集群的topic数据的监控方法中的数据监控过程的示意图,如图3所示,所述S3,对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示,包括:
步骤S301、读取最新存储至所述kafka集群数据表中的topic数据;
本步骤实施时,可以预先设置一个执行周期,当执行周期的时间节点到来时,开始发送预读取指令,接收来自数据存储模块的反馈信息,从反馈信息中判断数据存储模块是否加入了新的topic数据,若是,则开始读取最新存储的topic数据,若否,则不读取,等待下次执行周期的时间节点到来。
步骤S302、获取预设的告警阈值;
本步骤实施时,具体的,预设的告警阈值是根据历史数据预先设置并存储在配置中心的。配置中心是一个管理后台,可以在浏览器中访问该后台,然后对所述预设的告警阈值进行关键字查询,从而获取所述预设的告警阈值。
步骤S303、将所述topic数据与所述告警阈值进行比较;
本步骤实施时,提取所述topic数据中的数据变化量和消费延时lag,提取所述告警阈值中的数据变化量告警阈值和消费延时告警阈值;将所述数据变化量与所述数据变化量阈值进行比较,当所述数据变化量低于或等于所述数据变化量告警阈值,则所述数据变化量达到所述数据变化量告警阈值,即所述topic数据达到所述告警阈值;将所述消费延时与是所述消费延时告警阈值进行比较,当所述消费延时超过所述消费延时告警阈值,则所述消费延时达到所述消费延时告警阈值,即所述topic数据达到所述告警阈值。
步骤S304、若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示。
本步骤实施时,若所述数据变化量达到所述数据变化量告警阈值,或所述消费延时达到所述消费延时告警阈值,则向值班人员发送一级告警邮件;若所述数据变化量达到所述数据变化量告警阈值,且所述消费延时达到所述消费延时告警阈值,则向值班人员发送二级告警邮件。
本实施例,加入异常告警功能,增强了topic的数据变化量和消费者延时告警的实效性,达到监控的目的。
在一个实施例中,所述通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据,包括:
使用所述kafka集群自带的管理命令获取所述topic的最新数据量大小;
查看缓存文件中是否存在所述topic上一次的数据量大小,若存在,则计算数据变化量,计算公式为:logchangesize=logsize-prelogsize,其中logchangesize为数据变化量,logsize为最新数据量大小,prelogsize为上一次的数据量大小;
本步骤实施时,查看缓存文件中是否存在所述topic上一次的数据量大小,若不存在,则将最新数据量大小作为获取的数据变化量。
将所述数据变化量和所述最新数据量大小输出,并将最新数据量大小更新作为topic上一次的数据量大小,留待下次计算使用;
使用开源KafkaOffsetMonitor,收集所述topic的每个消费者consumer的消费位置consumeroffset和消费延时lag,所述数据变化量、所述最新数据量大小、所述消费位置consumeroffset和所述消费延时则为获取的所述topic数据。
在一个实施例中,所述将所述topic数据与所述告警阈值进行比较,包括:
提取所述topic数据中的数据变化量和消费延时lag,提取所述告警阈值中的数据变化量告警阈值和消费延时告警阈值;
具体的,topic数据包括数据变化量logchangesize、数据量大小logsize、消费者的消费位置consumeroffset和消费延时lag。数据变化量是指最新产生的数据量大小与上一次数据量大小的差值,消费位置是指数据读到了第几条,消费延时是指数据还剩余多少条没有读完。
将所述数据变化量与所述数据变化量阈值进行比较,当所述数据变化量低于或等于所述数据变化量告警阈值,则所述数据变化量达到所述数据变化量告警阈值,即所述topic数据达到所述告警阈值;
具体的,数据变化量告警阈值根据不同的topic的情况和不同监控规则指定,不适合统一设置一个阈值,在实际使用中会不断调整。例如,所述数据变化量告警阈值可以设为0,即当数据变化量等于或低于0,则所述数据变化量达到所述数据变化量告警阈值。、消费延时大于1000等。
将所述消费延时与是所述消费延时告警阈值进行比较,当所述消费延时超过所述消费延时告警阈值,则所述消费延时达到所述消费延时告警阈值,即所述topic数据达到所述告警阈值。
具体的,消费延时告警阈值根据不同的topic的情况和不同监控规则指定,不适合统一设置一个阈值,在实际使用中会不断调整。例如,当所述消费延时告警阈值为1000,即当所述消费延时超过1000,则所述消费延时达到所述消费延时告警阈值。
本实施例,告警阈值不做统一设置,在实际使用中不断调整,比较灵活,提高了监控的效率。
在一个实施例中,所述若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示,包括:
若所述数据变化量达到所述数据变化量告警阈值,或所述消费延时达到所述消费延时告警阈值,则向值班人员发送一级告警邮件;
若所述数据变化量达到所述数据变化量告警阈值,且所述消费延时达到所述消费延时告警阈值,则向值班人员发送二级告警邮件。
其中,一级告警是指数据变化量和消费延时任一个达到告警阈值,二级告警是指数据变化量和消费延时同时达到告警阈值。
本实施例,通过设置告警级别,可以有效的提升值班人员的工作效率,更好的达到了监控的目的。
在一个实施例中,提出了一种kafka集群的topic数据的监控装置,如图4所示,包括如下模块:
数据获取模块,设置为访问所有kafka集群,获取所有所述kafka集群中的topic数据;
数据存储模块,设置为将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;
数据监控模块,设置为对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行计算机可读指令时实现上述各实施例中所述的kafka集群的topic数据的监控方法的步骤。
在一个实施例中,提出了一种存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中所述的kafka集群的topic数据的监控方法的步骤。其中,所述存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种kafka集群的topic数据的监控方法,其特征在于,包括:
访问所有kafka集群,获取所有所述kafka集群中的topic数据;
所述访问所有kafka集群,获取所有所述kafka集群中的topic数据,包括:
从预设的配置中心调取所有所述kafka集群的访问地址和取数时间粒度;
每间隔一所述取数时间粒度,通过所述kafka集群的访问地址访问一次所述kafka集群;
通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据;
将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;
对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
2.如权利要求1所述的kafka集群的topic数据的监控方法,其特征在于,所述将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据,包括:
提取每一所述kafka集群的唯一标识;
用所述kafka集群的唯一标识对相应的topic数据进行标注;
建立kafka集群数据表,以所述kafka集群的唯一标识对所述kafka集群数据表命名;
将标注好的topic数据分别存储到对应的所述kafka集群数据表中;
读取所述kafka集群数据表中topic数据,以图表的形式显示topic数据。
3.如权利要求2所述的kafka集群的topic数据的监控方法,其特征在于,所述对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示,包括:
读取最新存储至所述kafka集群数据表中的topic数据;
获取预设的告警阈值;
将所述topic数据与所述告警阈值进行比较;
若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示。
4.如权利要求1所述的kafka集群的topic数据的监控方法,其特征在于,所述通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据,包括:
使用所述kafka集群自带的管理命令获取所述topic的最新数据量大小;
查看缓存文件中是否存在所述topic上一次的数据量大小,若存在,则计算数据变化量,计算公式为:logchangesize=logsize-prelogsize,其中logchangesize为数据变化量,logsize为最新数据量大小,prelogsize为上一次的数据量大小;
将所述数据变化量和所述最新数据量大小输出,并将最新数据量大小更新作为topic上一次的数据量大小,留待下次计算使用;
使用开源KafkaOffsetMonitor,收集所述topic的每个消费者consumer的消费位置consumeroffset和消费延时lag,所述数据变化量、所述最新数据量大小、所述消费位置consumeroffset和所述消费延时则为获取的所述topic数据。
5.如权利要求3所述的kafka集群的topic数据的监控方法,其特征在于,所述将所述topic数据与所述告警阈值进行比较,包括:
提取所述topic数据中的数据变化量和消费延时lag,提取所述告警阈值中的数据变化量告警阈值和消费延时告警阈值;
将所述数据变化量与所述数据变化量告警阈值进行比较,当所述数据变化量低于或等于所述数据变化量告警阈值,则所述数据变化量达到所述数据变化量告警阈值,即所述topic数据达到所述告警阈值;
将所述消费延时与所述消费延时告警阈值进行比较,当所述消费延时超过所述消费延时告警阈值,则所述消费延时达到所述消费延时告警阈值,即所述topic数据达到所述告警阈值。
6.如权利要求5所述的kafka集群的topic数据的监控方法,其特征在于,所述若所述topic数据达到所述告警阈值,则通过向值班人员发送告警邮件进行告警提示,包括:
若所述数据变化量达到所述数据变化量告警阈值,或所述消费延时达到所述消费延时告警阈值,则向值班人员发送一级告警邮件;
若所述数据变化量达到所述数据变化量告警阈值,且所述消费延时达到所述消费延时告警阈值,则向值班人员发送二级告警邮件。
7.一种kafka集群的topic数据的监控装置,其特征在于,包括如下模块:
数据获取模块,设置为访问所有kafka集群,获取所有所述kafka集群中的topic数据;
所述访问所有kafka集群,获取所有所述kafka集群中的topic数据,包括:
从预设的配置中心调取所有所述kafka集群的访问地址和取数时间粒度;
每间隔一所述取数时间粒度,通过所述kafka集群的访问地址访问一次所述kafka集群;
通过每一所述kafka集群自带的管理命令获取每一所述kafka集群中的所述topic数据;
数据存储模块,设置为将获取的所述topic数据按照所述kafka集群的唯一标识进行分类存储,并以图表的形式显示所述topic数据;
数据监控模块,设置为对最新存储的所述topic数据进行监测,当最新存储的所述topic数据达到告警阈值,发出告警提示。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如权利要求1至6中任一项所述kafka集群的topic数据的监控方法的步骤。
9.一种存储介质,其特征在于,所述存储介质可被处理器读写,所述存储介质存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个所述处理器执行如权利要求1至6中任一项所述kafka集群的topic数据的监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042494.2A CN109861878B (zh) | 2019-01-17 | 2019-01-17 | kafka集群的topic数据的监控方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042494.2A CN109861878B (zh) | 2019-01-17 | 2019-01-17 | kafka集群的topic数据的监控方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109861878A CN109861878A (zh) | 2019-06-07 |
CN109861878B true CN109861878B (zh) | 2022-03-25 |
Family
ID=66894944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910042494.2A Active CN109861878B (zh) | 2019-01-17 | 2019-01-17 | kafka集群的topic数据的监控方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109861878B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247812A (zh) * | 2019-07-22 | 2019-09-17 | 深信服科技股份有限公司 | 一种多集群管理方法、装置、系统及相关组件 |
CN110278133B (zh) * | 2019-07-31 | 2021-08-13 | 中国工商银行股份有限公司 | 由服务器执行的检查方法、装置、计算设备以及介质 |
CN110647547A (zh) * | 2019-09-20 | 2020-01-03 | 北京百分点信息科技有限公司 | 消费延迟监控方法、装置、电子设备及计算机可读存储介质 |
CN110928491B (zh) * | 2019-10-30 | 2022-04-19 | 平安科技(深圳)有限公司 | 存储分区动态选择方法、系统、计算机设备及存储介质 |
CN111126933B (zh) * | 2019-11-11 | 2023-09-29 | 中盈优创资讯科技有限公司 | Kafka生产和消费进度监控方法及装置 |
CN110908956B (zh) * | 2019-11-19 | 2023-06-02 | 许继集团有限公司 | 一种保信主站系统及其故障信息归档方法 |
CN110990438A (zh) * | 2019-12-09 | 2020-04-10 | 北京明略软件系统有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN112235361B (zh) * | 2020-09-28 | 2022-12-27 | 青海绿能数据有限公司 | 一种光伏电站数据转接平台 |
CN115174423A (zh) * | 2022-07-12 | 2022-10-11 | 中国建设银行股份有限公司 | Kafka的查询方法、装置、存储介质及设备 |
CN115460062A (zh) * | 2022-08-04 | 2022-12-09 | 内蒙古蒙商消费金融股份有限公司 | 一种数据监控方法、装置及电子设备 |
CN116431430A (zh) * | 2023-03-01 | 2023-07-14 | 合芯科技有限公司 | 一种对Zookeeper集群监控分析系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451147A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 一种kafka集群动态切换的方法和装置 |
CN107645423A (zh) * | 2016-07-21 | 2018-01-30 | 中国科学院计算机网络信息中心 | 一种监控数据的展示系统及其方法 |
WO2018103315A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海壹账通金融科技有限公司 | 监控数据的处理方法、装置、服务器及存储设备 |
CN109039727A (zh) * | 2018-07-24 | 2018-12-18 | 中国银行股份有限公司 | 基于深度学习的消息队列监控方法及装置 |
-
2019
- 2019-01-17 CN CN201910042494.2A patent/CN109861878B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451147A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 一种kafka集群动态切换的方法和装置 |
CN107645423A (zh) * | 2016-07-21 | 2018-01-30 | 中国科学院计算机网络信息中心 | 一种监控数据的展示系统及其方法 |
WO2018103315A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海壹账通金融科技有限公司 | 监控数据的处理方法、装置、服务器及存储设备 |
CN109039727A (zh) * | 2018-07-24 | 2018-12-18 | 中国银行股份有限公司 | 基于深度学习的消息队列监控方法及装置 |
Non-Patent Citations (3)
Title |
---|
《Kafka Manager Kafka 管理工具》;红薯;《OSCHINA - 中文开源技术交流社区》;20150205;4 * |
《基于MapReduce和移动智能终端的人体行为识别系统研究与实现》;李润超;《中国优秀博硕士学位论文全文数据库(硕士)》;20180215;13-14,70-71 * |
《蚂蚁金服消息队列运维平台的设计与实现》;韩旭;《中国优秀博硕士学位论文全文数据库(硕士)》;20181115;2-5 * |
Also Published As
Publication number | Publication date |
---|---|
CN109861878A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109861878B (zh) | kafka集群的topic数据的监控方法及相关设备 | |
CN103532780B (zh) | 用于it领域的运维监控一体化系统及一体化监控方法 | |
US8533193B2 (en) | Managing log entries | |
WO2021068814A1 (zh) | 硬件设备异常监控方法、装置、服务器及计算机可读存储介质 | |
EP2472402A1 (en) | Remote management systems and methods for mapping operating system and management controller located in a server | |
US10922204B2 (en) | Efficient behavioral analysis of time series data | |
CN107241242B (zh) | 一种数据处理方法和装置 | |
CN105404581A (zh) | 一种数据库的评测方法和装置 | |
CN111124830B (zh) | 一种微服务的监控方法及装置 | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN107102929A (zh) | 故障的检测方法及装置 | |
CN111314158B (zh) | 大数据平台监控方法、装置及设备、介质 | |
WO2015192664A1 (zh) | 设备监控方法及装置 | |
CN112737800A (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN111478792B (zh) | 一种割接信息处理方法、系统及装置 | |
CN111488258A (zh) | 一种用于软硬件运行状态分析与预警的系统 | |
CN112131196A (zh) | 一种分布式日志处理方法、装置、终端设备及存储介质 | |
CN112636942A (zh) | 业务主机节点的监测方法及装置 | |
CN112199249A (zh) | 监控数据的处理方法、装置、设备和介质 | |
CN111221890B (zh) | 通用指标类自动监控预警方法及装置 | |
CN108337100B (zh) | 一种云平台监测的方法和装置 | |
CN112506969A (zh) | 一种bmc地址查询方法、系统、设备及可读存储介质 | |
CN110363381B (zh) | 一种信息处理方法和装置 | |
CN111367584A (zh) | 一种电源适配方法、装置和计算机可读存储介质 | |
CN113342608B (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 |