CN110659174A - 监控告警方法、装置和系统 - Google Patents

监控告警方法、装置和系统 Download PDF

Info

Publication number
CN110659174A
CN110659174A CN201810690579.7A CN201810690579A CN110659174A CN 110659174 A CN110659174 A CN 110659174A CN 201810690579 A CN201810690579 A CN 201810690579A CN 110659174 A CN110659174 A CN 110659174A
Authority
CN
China
Prior art keywords
monitoring
machine
data
item
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
CN201810690579.7A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810690579.7A priority Critical patent/CN110659174A/zh
Publication of CN110659174A publication Critical patent/CN110659174A/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种监控告警方法、装置和系统。其中,该方法包括:获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;根据监控数据进行监控告警。本发明解决了现有技术中无法确定某个监控项是否覆盖机器的技术问题。

Description

监控告警方法、装置和系统
技术领域
本发明涉及服务器监控领域,具体而言,涉及一种监控告警方法、装置和系统。
背景技术
在大规模的分布式系统中,报警项的部署,通常是以集群或者机器组为单位,通过API(Application Programming Interface,应用程序变成接口)来部署某个监控模版(包含多个监控项和配置)。
采用这种方式,可以获取某个机器组是否部署了某个监控模版,但并不能知晓某台机器是否成功地部署了某个监控项,或者某个监控项是否在机器上正常运行,以及正在运行的监控项是否为最新版本。而监控告警对系统的保障是至关重要的,监控告警的覆盖是否存在遗漏关系着整个系统的安危。
针对现有技术中无法确定某个监控项是否覆盖机器的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种监控告警方法、装置和系统,以至少解决现有技术中无法确定某个监控项是否覆盖机器的技术问题。
根据本发明实施例的一个方面,提供了一种监控告警方法,包括:获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;根据监控数据进行监控告警。
根据本发明实施例的另一方面,还提供了一种监控告警方法,包括:获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;将监控数据上传至预定数据库,其中,监控数据用于进行监控告警。
根据本发明实施例的另一方面,还提供了一种监控告警装置,包括:第一获取模块,用于获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;告警模块,用于根据监控数据进行监控告警。
根据本发明实施例的另一方面,还提供了一种监控告警装置,包括:第二获取模块,用于获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;上传模块,用于将监控数据上传至预定数据库,其中,监控数据用于进行监控告警。
根据本发明实施例的另一方面,还提供了一种监控告警装置,包括:至少一个处理器和存储器,所述存储器存储有程序指令,当所述程序指令被所述处理器运行时执行上述的方法。
根据本发明实施例的另一方面,还提供了一种监控告警系统,包括:监控客户端和分布式系统中的机器集群中的至少一台机器,其中,所述至少一台机器,用于运行至少一个监控项;所述监控客户端,用于获取所述至少一台机器的监控数据,并根据所述监控数据进行监控告警,其中,所述监控数据至少包括:所述至少一台机器运行的所述至少一个监控项对应的监控结果。
在现有技术中,只能知晓机器上是否部署有监控模板,但不能知晓是否部署成功,以及晓监控项是否在机器上正常运行。如果在每个监控项种都加入一个心跳输出,并通过收集心跳输出来判断监控项是否在机器上正常运行,则有可能由于心跳输出故障,开发者失误、代码运行异常等问题,无法针对每个机器进行监控。
在本发明实施例中,根据监控数据进行监控告警,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果,通过设置不同的监控项,对分布式系统中的每个机器进行监控,确保了心跳输出一定存在并被收集,从而实现了对分布式系统中的每个机器进行监控的技术效果,进而解决了现有技术中无法确定某个监控项是否覆盖机器的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现监控告警方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种监控告警方法的流程图;
图3是根据本申请实施例1的一种监控告警方法的示意图;
图4是根据本申请实施例2的一种监控告警方法的流程图;
图5是根据本申请实施例3的一种监控告警装置的示意图;
图6是根据本申请实施例4的一种监控告警装置的示意图;以及
图7是根据本发明实施例6的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
监控项:监控项是从主机收集的监控信息,在配置主机后,添加监控项以开始获取监控数据。一个监控项是一个独立的指标。
分布式系统:distributed system,是由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点组成的系统。
实施例1
根据本发明实施例,还提供了一种监控告警方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现监控告警方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的监控告警方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的监控告警方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的监控告警方法。图2是根据本申请实施例1的一种监控告警方法的流程图。
步骤S21,获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果。
具体的,分布式系统中的机器可以为服务器,每个机器作为系统中的一个节点,协同完成任务。监控项可以为默认的监控项,也可以为用户自定义添加的监控项。
分布式系统包括能够协同工作的机器集群,在上述方案中,监控数据可以是任意一个机器的任意一个监控项对应的监控结果,即机器集群中每个机器在每个监控项上都可以存在一组监控数据,也可以是集群中的部分机器人在部分监控项上存在对应的监控结果。
在一种可选的实施例中,上述方案可以通过在分布式系统中的每个机器上部署监控客户端的方式实现,后端的监控中心根据每个客户端检测的监控数据,对机器进行监控。
步骤S23,根据监控数据进行监控告警。
具体的,根据监控数据进行监控告警的方式包括多种,例如:发送监控报告、远程发送告警信息等。
进行监控告警的触发条件可以包括多种,例如:某个监控项的数据异常,或监控项没有覆盖到机器等。
此处需要说明的是,在现有技术中,只能知晓机器上是否部署有监控模板,但不能知晓是否部署成功,以及监控项是否在机器上正常运行。如果在每个监控项中都加入一个心跳输出,并通过收集心跳输出来判断监控项是否在机器上正常运行,则有可能由于心跳输出故障、开发者失误、或代码运行异常等问题,无法针对每个机器进行监控。
而本申请上述方案根据监控数据进行监控告警,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果,通过设置不同的监控项,对分布式系统中的每个机器进行监控,确保了心跳输出一定存在并被收集,从而确保系统中监控告警覆盖率达到100%。
由此可知,本申请上述实施例解决了现有技术中无法确定某个监控项是否覆盖机器的技术问题。
作为一种可选的实施例,获取监控数据包括:从预定数据库中获取监控数据,其中,预定数据库存储有由机器集群中的每个机器的监控客户端上传的所属客户端的监控项的监控数据。
在上述步骤中,机器集群中的每个机器与至少一个监控客户端具有一一对应的关系,每个机器由其所属的监控客户端进行监控,从而得到针对每个机器的每个监控项的监控数据。
仍以在每个机器上设置监控客户端为例,监控客户端根据监控项对机器进行监控,监控客户端用于负责监控脚本的部署、配置、升级、运行、告警以及检测等。监控客户端可以根据用户设置的频率调用监控脚本,监控脚本不负责告警,只负责采集信息并输出。监控客户端获取监控脚本输出的信息,根据用户的配置确定是否告警。
作为一种可选的实施例,预定数据库以监控项和机器名的联合字段对监控数据进行存储。
具体的,联合字段即为将多个字段一起作为主键的字段。上述监控项和机器名的联合字段在存储时可以作为主键,预定数据库中可以只存储每个机器在每个监控项采集到的最新数据。
在一种可选的实施例中,可以以监控项ID和机器名构成的联合字段作为主键,例如:监控项ID为monitorNum,机器名为machineNum,通过primary key(monitorNum,machineNum)将监控项ID和机器名的联合字段作为数据库中的主键。
本申请上述方案通过将监控项和机器名的联合字段作为主键存储监控数据的方式,使得预定数据库中的监控数据至少包括每个监控数据中的一个监控项对应的监控结果。
作为一种可选的实施例,根据监控数据进行监控告警包括:将监控数据存储于内存表;通过扫描内存表的方式,确定监控项没有覆盖到机器上,进行监控告警。
具体的,上述内存表为监控中心根据后端分析程序维护的一个内存表,该内存表根据分析程序高频获取预定数据库中最新上传的监控数据,并根据获取的监控数据更新内存表。
在上述方案中,通过扫描内存表中的数据,检测监控项是否覆盖到机器上,在确定监控项没有覆盖到机器上时,进行监控告警。
作为一种可选的实施例,通过扫描内存表的方式,确定监控项没有覆盖到机器上,进行监控告警包括:
通过扫描内存表的方式,在机器的监控项存在以下情况至少之一时,确定监控项没有覆盖到机器上,进行监控告警:机器的监控项在内存表中不存在;机器不连通;机器下线;机器的监控客户端调用的监控脚本运行异常;机器的监控客户端调用的监控脚本的版本不满足机器要求的版本;机器的监控客户端调用的监控脚本运行超时。
下面对上述监控项出现的几种情况依次进行说明:
1、机器的监控项在内存表中不存在
如果机器的监控项在内存表中不存在,则说明内存表从预定数据库中未能获取到该机器在该监控项的监控数据,进而可以确定监控脚本部署失败,或未部署。
2、机器不连通和机器下线
机器集群的管理节点可以以一个较高的预设频率通过ssh(Secure Shell,安全外壳协议)命令判断集群内各台机器的连通性和上线状态,如果机器已经下线或者不连通,则监控失败属于预期情况,无需处理。
3、机器的监控客户端调用的监控脚本运行异常和机器的监控客户端调用的监控脚本运行超时
当监控客户端检测到监控脚本异常时,监控客户端会获取到异常输出及其返回码,当监控客户端检测到监控脚本超时时,将监控脚本终止,并记录为运行异常,返回至监控客户端。具体的,如果检测到当前时间-上一次采集数据的时间-监控项运行间隔>预定的延时容忍时间,则说明监控客户端检测到监控脚本超时。
4、机器的监控客户端调用的监控脚本的版本不满足机器要求的版本
监控客户端还负责计算监控脚本代码内容的MD5(Message-Digest Algorithm5,信息摘要算法5),以此来确定监控脚本的版本。当监控脚本MD5与最新版本的MD5值不符时,确定当前监控客户端的监控脚本不为最新版本。
作为一种可选的实施例,根据监控数据进行监控告警包括:在检测到监控项没有覆盖到机器上时,直接进行监控告警;在检测到监控项没有覆盖到机器上后,统计预定时间段内的监控告警,对统计的监控告警进行汇总后上报。
上述方案提供了两种监控报警方案,包括即时告警和缓存告警两种方式,用户可以根据监控项选择报警方式。
在一种可选的实施例中,如果某一监控项的告警方式为即时告警,则当根据监控数据确定监控项没有覆盖到机器时,立刻进行监控告警。
在另一种可选的实施例中,如果某一监控项的告警方式为缓存告警,设置有预定的报告发送时间,则当根据监控数据确定监控项没有覆盖到机器时,缓存该监控告警,当时间到达预定的报告发送时间时,发送监控报告。
图3是根据本申请实施例1的一种监控告警方法的示意图,下面结合图3所示进行说明。
机器集群中的每台机器上都部署监控客户端,监控客户端按照一定频率运行监控脚本,并获取监控脚本的输出结果,该输出结果可能为标准的输出结果,也可能为异常的输出结果。监控客户端还计算监控脚本代码的MD5,并将MD5上传至数据库。
集群管理节点定期判断各个机器的连通性以及各个机器是否下线,并将判断结果上传至数据库。
数据库接收监控客户端和集群管理节点上传的信息,并更新数据库,更新失败时进行缓存重试。
后端分析程序维护一个内存表,记录每台机器的每个监控项最近一次的数据及其时间,并高频获取数据库中上传的数据,根据获取的数据更新内存表。在更新内存表后对内存表进行扫描,如果确定监控客户端部署或运行异常则告警,或缓存告警,定期发送报告。
实施例2
本申请还提供了如图4所示的监控告警方法。图4是根据本申请实施例2的一种监控告警方法的流程图。
步骤S41,获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果。
具体的,分布式系统中的机器可以为服务器,每个机器作为系统中的一个节点协同完整任务。监控项可以为默认的监控项,也可以为用户自定义添加的监控项。
分布式系统包括能够协同工作的机器集群,在上述方案中,监控数据可以是任意一个机器的任意一个监控项对应的监控结果,即机器集群中每个机器在每个监控项上都可以存在一组监控数据,也可以是集群中的部分机器人在部分监控项上存在对应的监控结果。
在一种可选的实施例中,上述步骤可以由在分布式系统中的每个机器上部署的监控客户端执行。
步骤S43,将监控数据上传至预定数据库,其中,监控数据用于进行监控告警。
部署在每个机器上的监控客户端将获取的监控数据上传至预定数据库,监控中心的后端分析程序存储有内存表,内存表从预定数据库中读取监控数据,通过扫描内存表确定监控项是否覆盖机器,如果监控项未覆盖机器,则进行监控告警。
在本申请上述方案中,至少获取分布式系统中的机器集群中的一台机器的一个监控项的监控数据,并将监控数据上传至预定数据库,从而使得后台分析程序能够从预订数据库中获取监控数据,并根据监控数据进行监控告警。
本申请上述方案根据监控数据进行监控告警,监控数据至少包括分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果,通过设置不同的监控项,对分布式系统中的每个机器进行监控,确保了心跳输出一定存在并被收集,从而确保系统中监控告警覆盖率达到100%。
由此可知,本申请上述实施例解决了现有技术中无法确定某个监控项是否覆盖机器的技术问题。
作为一种可选的实施例,获取监控数据包括:通过机器上的监控客户端调用监控脚本的方式,获取监控数据。
具体的,上述监控脚本可以为预先写入监控客户端的代码,在运行时根据用户设置的频率调用监控脚本,监控脚本不负责告警,只负责采集信息并输出。监控客户端获取监控脚本输出的信息,从而根据监控脚本输出的信息确定监控数据。
作为一种可选的实施例,监控数据包括以下至少之一:监控脚本运行的输出结果;监控脚本运行是否异常的异常信息;监控脚本的版本是否满足机器要求的版本的版本信息;机器是否不连通的连通信息;机器是否在线的在线状态信息。
具体的,上述监控数据用于确定是否进行监控告警。在一种可选的实施例中,当监控脚本运行异常、监控脚本的版本不满足机器要求的版本、机器不连通和/或机器已下线的情况下,进行监控告警。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述实施例1的监控告警方法的监控告警装置,图5是根据本申请实施例3的一种监控告警装置的示意图,如图5所示,该装置500包括:
第一获取模块502,用于获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果。
告警模块504,用于根据监控数据进行监控告警。
此处需要说明的是,上述第一获取模块502和告警模块504对应于实施例1中的步骤S21至步骤S23,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
作为一种可选的实施例,第一获取模块包括:第一获取子模块,用于从预定数据库中获取监控数据,其中,预定数据库存储有由机器集群中的每个机器的监控客户端上传的所属客户端的监控项的监控数据。
作为一种可选的实施例,预定数据库以监控项和机器名的联合字段对监控数据进行存储。
作为一种可选的实施例,告警模块包括:存储子模块,用于将监控数据存储于内存表;扫描子模块,用于通过扫描内存表的方式,确定监控项没有覆盖到机器上,进行监控告警。
作为一种可选的实施例,扫描子模块包括:确定单元,用于通过扫描内存表的方式,在机器的监控项存在以下情况至少之一时,确定监控项没有覆盖到机器上,进行监控告警:机器的监控项在内存表中不存在;机器不连通;机器下线;机器的监控客户端调用的监控脚本运行异常;机器的监控客户端调用的监控脚本的版本不满足机器要求的版本;机器的监控客户端调用的监控脚本运行超时。
作为一种可选的实施例,告警模块还包括:检测子模块,用于在检测到监控项没有覆盖到机器上时,直接进行监控告警;统计子模块,用于在检测到监控项没有覆盖到机器上后,统计预定时间段内的监控告警,对统计的监控告警进行汇总后上报。
实施例4
根据本发明实施例,还提供了一种用于实施上述实施例2的监控告警方法的监控告警装置,图6是根据本申请实施例4的一种监控告警装置的示意图,如图6所示,该装置600包括:
第二获取模块602,用于获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果。
上传模块604,用于将监控数据上传至预定数据库,其中,监控数据用于进行监控告警。
此处需要说明的是,上述第二获取模块602和上传模块604对应于实施例2中的步骤S41至步骤S43,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
作为一种可选的实施例,第二获取模块包括:第二获取子模块,用于通过机器上的监控客户端调用监控脚本的方式,获取监控数据。
作为一种可选的实施例,监控数据包括以下至少之一:监控脚本运行的输出结果;监控脚本运行是否异常的异常信息;监控脚本的版本是否满足机器要求的版本的版本信息;机器是否不连通的连通信息;机器是否在线的在线状态信息。
实施例5
根据本发明实施例,还提供了一种监控告警装置,包括:至少一个处理器和存储器,存储器存储有程序指令,当程序指令被处理器运行时执行实施例1或实施例2的监控告警方法。
实施例6
根据本发明实施例,还提供了一种监控告警系统,该系统包括:监控客户端和分布式系统中的机器集群中的至少一台机器,其中,
至少一台机器,用于运行至少一个监控项。
具体的,分布式系统中的机器可以为服务器,每个机器作为系统中的一个节点,协同完成任务。监控项可以为默认的监控项,也可以为用户自定义添加的监控项。
分布式系统包括能够协同工作的机器集群,在上述方案中,监控数据可以是任意一个机器的任意一个监控项对应的监控结果,即机器集群中每个机器在每个监控项上都可以存在一组监控数据,也可以是集群中的部分机器人在部分监控项上存在对应的监控结果。
监控客户端,用于获取至少一台机器的监控数据,并根据监控数据进行监控告警,其中,监控数据至少包括:至少一台机器运行的至少一个监控项对应的监控结果。
具体的,根据监控数据进行监控告警的方式包括多种,例如:发送监控报告、远程发送告警信息等。
进行监控告警的触发条件可以包括多种,例如:某个监控项的数据异常,或监控项没有覆盖到机器等。
此处需要说明的是,在现有技术中,只能知晓机器上是否部署有监控模板,但不能知晓是否部署成功,以及监控项是否在机器上正常运行。如果在每个监控项中都加入一个心跳输出,并通过收集心跳输出来判断监控项是否在机器上正常运行,则有可能由于心跳输出故障、开发者失误、或代码运行异常等问题,无法针对每个机器进行监控。
而本申请上述方案根据监控数据进行监控告警,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果,通过设置不同的监控项,对分布式系统中的每个机器进行监控,确保了心跳输出一定存在并被收集,从而确保系统中监控告警覆盖率达到100%。
由此可知,本申请上述实施例解决了现有技术中无法确定某个监控项是否覆盖机器的技术问题。
作为一种可选的实施例,上述系统还包括:集群管理节点,其中,集群管理节点,用于对分布式系统中的机器集群中的机器的状态进行采集。
具体的,上述机器的状态可以包括机器的连通性和上下线情况,也即,集群管理节点用于定期判断各个机器的连通性以及各个机器是否下线,并将判断结果上传至数据库。
作为一种可选的实施例,上述系统还包括:数据库,其中,数据库用于存储至少一个监控客户端上传的监控数据,和/或在预定时间段内对至少一个监控客户端上传的监控数据进行更新。
具体的,数据库可以以监控项和机器名的联合字段为主键,对监控数据进行存储,预定数据库中可以只存储每个机器在每个监控项采集到的最新数据,也即,当接收到监控项采集的最新监控数据时,使用最新监控数据对当前存储的监控数据进行更新。
在一种可选的实施例中,可以以监控项ID和机器名构成的联合字段作为主键,例如:监控项ID为monitorNum,机器名为machineNum,通过primary key(monitorNum,machineNum)将监控项ID和机器名的联合字段作为数据库中的主键。
实施例7
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行监控告警方法中以下步骤的程序代码:获取监控数据,其中,监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控数据;根据监控数据进行监控告警。
可选地,图7是根据本发明实施例6的一种计算机终端的结构框图。如图7所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器702、存储器704、以及传输装置706。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的监控告警方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的监控告警方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取监控数据,其中,监控数据针对分布式系统中的机器集群中的一台机器的一个监控项;根据监控数据进行监控告警。
可选的,上述处理器还可以执行如下步骤的程序代码:从预定数据库中获取监控数据,其中,预定数据库存储有由机器集群中的每个机器的监控客户端上传的所属客户端的监控项的监控数据。
可选的,上述处理器还可以执行如下步骤的程序代码:预定数据库以监控项和机器名的联合字段对监控数据进行存储。
可选的,上述处理器还可以执行如下步骤的程序代码:将监控数据存储于内存表;通过扫描内存表的方式,确定监控项没有覆盖到机器上,进行监控告警。
可选的,上述处理器还可以执行如下步骤的程序代码:通过扫描内存表的方式,在机器的监控项存在以下情况至少之一时,确定监控项没有覆盖到机器上,进行监控告警:机器的监控项在内存表中不存在;机器不连通;机器下线;机器的监控客户端调用的监控脚本运行异常;机器的监控客户端调用的监控脚本的版本不满足机器要求的版本;机器的监控客户端调用的监控脚本运行超时。
可选的,上述处理器还可以执行如下步骤的程序代码:在检测到监控项没有覆盖到机器上时,直接进行监控告警;在检测到监控项没有覆盖到机器上后,统计预定时间段内的监控告警,对统计的监控告警进行汇总后上报。
采用本发明实施例,根据监控数据进行监控告警,监控数据针对分布式系统中的机器集群中的一台机器的一个监控项,通过设置不同的监控项,对分布式系统中的每个机器进行监控,确保了心跳输出一定存在并被收集,从而确保系统中监控告警覆盖率达到100%。
本领域普通技术人员可以理解,图7所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端7还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例8
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的监控告警方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取监控数据,其中,所述监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;根据所述监控数据进行监控告警。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种监控告警方法,包括:
获取监控数据,其中,所述监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;
根据所述监控数据进行监控告警。
2.根据权利要求1所述的方法,其中,获取监控数据包括:
从预定数据库中获取所述监控数据,其中,所述预定数据库存储有由所述机器集群中的每个机器的监控客户端上传的所属客户端的监控项的监控数据。
3.根据权利要求2所述的方法,其中,所述预定数据库以监控项和机器名的联合字段对监控数据进行存储。
4.根据权利要求2所述的方法,其中,根据所述监控数据进行监控告警包括:
将所述监控数据存储于内存表;
通过扫描所述内存表的方式,确定所述监控项没有覆盖到所述机器上,进行监控告警。
5.根据权利要求4所述的方法,其中,通过扫描所述内存表的方式,确定所述监控项没有覆盖到所述机器上,进行监控告警包括:
通过扫描所述内存表的方式,在所述机器的监控项存在以下情况至少之一时,确定所述监控项没有覆盖到所述机器上,进行监控告警:
所述机器的监控项在所述内存表中不存在;
所述机器不连通;
所述机器下线;
所述机器的监控客户端调用的监控脚本运行异常;
所述机器的监控客户端调用的监控脚本的版本不满足所述机器要求的版本;
所述机器的监控客户端调用的监控脚本运行超时。
6.根据权利要求5所述的方法,其中,根据所述监控数据进行监控告警包括:
在检测到所述监控项没有覆盖到所述机器上时,直接进行监控告警;
在检测到所述监控项没有覆盖到所述机器上后,统计预定时间段内的监控告警,对统计的监控告警进行汇总后上报。
7.一种监控告警方法,包括:
获取监控数据,其中,所述监控数据至少包括:分布式系统中的机器集群中的一台机器的一个监控项对应的监控结果;
将所述监控数据上传至预定数据库,其中,所述监控数据用于进行监控告警。
8.根据权利要求7所述的方法,其中,获取监控数据包括:
通过所述机器上的监控客户端调用监控脚本的方式,获取所述监控数据。
9.根据权利要求8所述的方法,其中,所述监控数据包括以下至少之一:
所述监控脚本运行的输出结果;
所述监控脚本运行是否异常的异常信息;
所述监控脚本的版本是否满足所述机器要求的版本的版本信息;
所述机器是否不连通的连通信息;
所述机器是否在线的在线状态信息。
10.一种监控告警装置,包括:至少一个处理器和存储器,所述存储器存储有程序指令,当所述程序指令被所述处理器运行时执行权利要求1至9中任一项所述的方法。
11.一种监控告警系统,包括:监控客户端和分布式系统中的机器集群中的至少一台机器,其中,
所述至少一台机器,用于运行至少一个监控项;
所述监控客户端,用于获取所述至少一台机器的监控数据,并根据所述监控数据进行监控告警,其中,所述监控数据至少包括:所述至少一台机器运行的所述至少一个监控项对应的监控结果。
12.根据权利要求11所述的监控告警系统,其中,还包括:集群管理节点,其中,所述集群管理节点,用于对所述分布式系统中的机器集群中的机器的状态进行采集。
13.根据权利要求12所述的监控告警系统,其中,还包括:数据库,其中,所述数据库用于存储至少一个监控客户端上传的监控数据,和/或在预定时间段内对所述至少一个监控客户端上传的监控数据进行更新。
CN201810690579.7A 2018-06-28 2018-06-28 监控告警方法、装置和系统 Pending CN110659174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810690579.7A CN110659174A (zh) 2018-06-28 2018-06-28 监控告警方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810690579.7A CN110659174A (zh) 2018-06-28 2018-06-28 监控告警方法、装置和系统

Publications (1)

Publication Number Publication Date
CN110659174A true CN110659174A (zh) 2020-01-07

Family

ID=69027480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810690579.7A Pending CN110659174A (zh) 2018-06-28 2018-06-28 监控告警方法、装置和系统

Country Status (1)

Country Link
CN (1) CN110659174A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431733A (zh) * 2020-02-20 2020-07-17 拉扎斯网络科技(上海)有限公司 服务告警覆盖信息的评估方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630823A (zh) * 2014-11-04 2016-06-01 阿里巴巴集团控股有限公司 基于分布式系统的缓存数据的监控方法、装置和系统
CN106100938A (zh) * 2016-08-19 2016-11-09 浪潮(北京)电子信息产业有限公司 一种分布式集群系统的监控和告警方法及系统
JP2017016178A (ja) * 2015-06-26 2017-01-19 セイコーエプソン株式会社 ネットワークシステム、サーバー、及び、ネットワークシステムの制御方法
CN106357442A (zh) * 2016-09-13 2017-01-25 郑州云海信息技术有限公司 一种服务器集群监控方法及系统
CN107465575A (zh) * 2017-08-17 2017-12-12 郑州云海信息技术有限公司 一种集群的监控方法及系统
CN107896175A (zh) * 2017-11-30 2018-04-10 北京小度信息科技有限公司 数据采集方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630823A (zh) * 2014-11-04 2016-06-01 阿里巴巴集团控股有限公司 基于分布式系统的缓存数据的监控方法、装置和系统
JP2017016178A (ja) * 2015-06-26 2017-01-19 セイコーエプソン株式会社 ネットワークシステム、サーバー、及び、ネットワークシステムの制御方法
CN106100938A (zh) * 2016-08-19 2016-11-09 浪潮(北京)电子信息产业有限公司 一种分布式集群系统的监控和告警方法及系统
CN106357442A (zh) * 2016-09-13 2017-01-25 郑州云海信息技术有限公司 一种服务器集群监控方法及系统
CN107465575A (zh) * 2017-08-17 2017-12-12 郑州云海信息技术有限公司 一种集群的监控方法及系统
CN107896175A (zh) * 2017-11-30 2018-04-10 北京小度信息科技有限公司 数据采集方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431733A (zh) * 2020-02-20 2020-07-17 拉扎斯网络科技(上海)有限公司 服务告警覆盖信息的评估方法及装置
CN111431733B (zh) * 2020-02-20 2021-06-22 拉扎斯网络科技(上海)有限公司 服务告警覆盖信息的评估方法及装置

Similar Documents

Publication Publication Date Title
CN108809679B (zh) 对网络节点的控制方法、装置及监控设备
CN111008026B (zh) 集群管理方法、装置及系统
CN103795580A (zh) 一种数据监控方法、系统及相关设备
CN110691398B (zh) 智能设备的网络交互方法、系统、设备及存储介质
CN111861221A (zh) 设备故障信息的推送方法和装置、存储介质及电子装置
CN112148567A (zh) 一种智能设备主动运维方法、设备及存储介质
CN110889143A (zh) 文件校验方法及装置
CN106604138A (zh) 一种智能电视的远程修复方法及系统
CN114615310A (zh) 一种维护tcp连接的方法、装置及电子设备
CN113259942B (zh) 连接方法、装置、电子设备、系统及计算机可读存储介质
CN110198230B (zh) 应用的监控方法、装置、存储介质和电子装置
CN104796283A (zh) 一种监控报警的方法
CN113794597A (zh) 告警信息处理方法、系统、电子设备及存储介质
CN110659174A (zh) 监控告警方法、装置和系统
CN114157613A (zh) 数据上报的方法、网关、服务器、电子设备以及存储介质
US11290571B2 (en) Many-to-many state identification system of equipment names that are broadcasted from Internet-of-Things
CN116137603A (zh) 链路故障的检测方法和装置、存储介质及电子装置
CN114244686B (zh) 通讯故障的检测方法、装置及系统
CN110597672A (zh) 一种atca交换系统的主备倒换的方法及装置
CN112751706A (zh) 一种目标数据的传输方法和装置
CN113114510B (zh) 一种网络故障信息的同步方法及装置
CN113435368B (zh) 监控数据的识别方法和装置、存储介质及电子装置
CN103795577A (zh) 日志服务器处理日志的方法和装置
US11106527B2 (en) Hardware error corrections based on policies
CN112422381A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200107

RJ01 Rejection of invention patent application after publication