CN105610648B - 一种运维监控数据的采集方法及服务器 - Google Patents

一种运维监控数据的采集方法及服务器 Download PDF

Info

Publication number
CN105610648B
CN105610648B CN201610014809.9A CN201610014809A CN105610648B CN 105610648 B CN105610648 B CN 105610648B CN 201610014809 A CN201610014809 A CN 201610014809A CN 105610648 B CN105610648 B CN 105610648B
Authority
CN
China
Prior art keywords
server
acquisition
data
client
monitoring
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
Application number
CN201610014809.9A
Other languages
English (en)
Other versions
CN105610648A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201610014809.9A priority Critical patent/CN105610648B/zh
Publication of CN105610648A publication Critical patent/CN105610648A/zh
Application granted granted Critical
Publication of CN105610648B publication Critical patent/CN105610648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种运维监控数据的采集方法及服务器,属于信息安全领域。服务器根据服务器配置文件中各个监控项的采集间隔,获取有满足采集条件的监控项,将满足采集条件的监控项对应的监控信息发送至客户端,接收客户端返回的采集结果,对所述采集结果进行处理。采用本发明的技术方法,监控针对的粒度更小,从原来的机器,降到机器上的某个可以监控的资源上。在机器需要新增监控资源时,***程序不需做修改,只需编写对应的监控数据采集应用并配置到***中即可。提高了***的稳定性,并且增加了***的可扩展性。

Description

一种运维监控数据的采集方法及服务器
技术领域
本发明涉及信息安全领域,尤其涉及一种运维监控数据的采集方法及服务器。
背景技术
在现有的灾备***中,运维监控的扩展性只能是在机器层级的,不能是在单台机器上的资源上,且每台机器上的监控的资源都是预先设计好的,不易在单台机器上增加新的监控资源。
因此,如需新增监控资源,需要在***层级上做开发支持,不利于***的稳定性和可维护性。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种运维监控数据的采集方法及服务器。
本发明采用的技术方案是:一种运维监控数据的采集方法,包括:
步骤S1:服务器根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1;
步骤S2:所述服务器将满足所述采集条件的监控项对应的监控信息发送至客户端;所述客户端安装在被监控的机器上;
步骤S3:所述服务器接收所述客户端返回的采集结果;所述采集结果是由所述客户端根据接收到的所述监控信息在所述被监控的机器上采集到的数据;
步骤S4:所述服务器对所述采集结果进行处理,返回步骤S1。
所述方法还包括:所述服务器获取更新后的服务器配置文件,根据所述更新后的服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1’。
所述步骤S1具体为:所述服务器根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,当检测到有定时事件触发时,则有监控项满足采集条件,执行步骤S2,否则继续执行步骤S1。
所述根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,具体为:所述服务器从所述服务器配置文件中解析得到所有监控项,根据所有监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
所述客户端包括数据采集应用,则所述步骤S2与所述步骤S3之间还包括:
步骤d1:所述客户端将接收到的所述监控信息发送至所述数据采集应用;
步骤d2:所述数据采集应用根据接收到的所述监控信息采集对应的所述客户端中的数据,将采集得到的采集结果发送至所述服务器。
所述步骤S2具体为:当所述服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
所述步骤S2具体为:当所述服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
所述步骤S4具体包括:
步骤e1:所述服务器判断所述采集结果是否异常,如果是,则执行步骤e2,否则返回步骤S1;
步骤e2:所述服务器根据所述监控项的监控信息,判断异常的采集结果是否需要报警,如果是,则执行步骤e3,否则返回步骤S1;
步骤e3:所述服务器根据所述监控项中的监控信息,判断是否允许发送报警通知,如果是,则执行步骤e4,否则返回步骤S1;
步骤e4:所述服务器选择报警通知方式,将报警信息发送至管理员,返回步骤S1。
所述步骤S4具体为:所述服务器根据所述服务器配置文件判断是否需要分析所述采集结果的变化趋势,如果是,则将所述采集结果保存,返回步骤S1,否则直接返回步骤S1。
所述步骤S4具体为:所述服务器根据所述采集结果判断是否需要记录日志信息,如果是,则记录日志信息,返回步骤S1,否则直接返回步骤S1。
所述步骤S3之前还包括:所述客户端加载客户端配置文件,根据所述客户端配置文件中的配置参数,监听与所述服务器的连接端口,等待接收所述服务器的监控信息。
所述步骤S3之前还包括:
步骤f1:所述客户端接收到所述服务器发送的所述监控信息后,根据所述客户端配置文件,判断所述服务器是否为允许接入的设备,如果是,则执行步骤f2,否则继续等待接收监控信息;
步骤f2:所述客户端根据所述客户端配置文件,判断所述监控信息是否为允许执行的监控信息,如果是,则执行步骤f3,否则继续等待接收监控信息;
步骤f3:所述客户端根据接收到的所述监控信息采集对应的数据,将采集得到的采集结果发送至所述服务器。
所述步骤S2具体为:当所述服务器获取所述服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至客户端。
所述步骤S2和所述步骤S3替换为:当所述服务器获取所述服务器配置文件中的采集数据方式为SNMP代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至SNMP代理,接收所述SNMP代理返回的采集结果,执行步骤S4。
所述服务器包括数据采集器,所述步骤S2具体为:
步骤b1:所述服务器将满足所述采集条件的监控项对应的监控信息发送至所述数据采集器;
步骤b2:所述数据采集器将接收到的所述监控信息发送至所述客户端。
所述步骤b1与所述步骤b2之间还包括:所述数据采集器获取所述监控信息中的数据采集的执行方式为本机执行,所述数据采集器根据所述监控信息采集所述服务器中的数据,得到采集结果,将所述采集结果发送至所述服务器,执行步骤S4。
所述步骤b2具体为:当所述数据采集器获取所述监控信息中的数据采集的执行方式为客户端执行时,将接收到的所述监控信息发送至所述客户端。
所述服务器包括数据采集应用,则所述数据采集器根据所述监控信息采集所述服务器中的数据,具体为:
步骤c1:所述数据采集器将所述监控信息发送至所述数据采集应用;
步骤c2:所述数据采集应用根据接收到的所述监控信息采集对应的服务器中的数据;
步骤c3:所述数据采集应用将采集到的所述服务器中的数据发送至所述数据采集器。
所述步骤b2之前还包括:所述数据采集器判断接收到的监控信息中是否包含辅助信息,如果是,则显示所述辅助信息,结束,否则执行步骤b2。
所述步骤S2与所述步骤S3之间,还包括:
步骤g1:所述客户端根据接收到的所述监控信息采集对应的数据,将采集得到的采集结果发送至所述数据采集器;
步骤g2:所述数据采集器根据所述采集结果中的校验和,判断所述采集结果是否正确,如果是,则执行步骤g3,否则报错,结束;
步骤g3:所述数据采集器将所述采集结果发送至所述服务器。
所述步骤S1与所述步骤S2之间,还包括:所述服务器根据所述服务器配置文件中的操作***信息,判断是否能够采集所述客户端中的数据,如果是,则执行步骤S2,否则报错,返回步骤S1。
所述判断是否能够采集所述客户端中的数据,具体为:所述服务器向所述客户端发送获取客户端操作***信息的请求,接收所述客户端返回的客户端操作***信息,判断所述服务器配置文件中的操作***信息与接收到的所述客户端操作***信息是否匹配,如果是,则执行步骤S2,否则报错,返回步骤S1。
一种运维监控数据采集的服务器,包括:
第一判断模块,用于根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件;
第一发送模块,用于当所述第一判断模块判断有监控项满足采集条件时,将满足所述采集条件的监控项对应的监控信息发送至客户端;
第一接收模块,用于接收所述客户端返回的采集结果;
处理模块,用于对所述第一接收模块接收到的所述采集结果进行处理,触发所述第一判断模块。
所述服务器,还包括第二判断模块;
所述第二判断模块,用于获取更新后的服务器配置文件,根据所述更新后服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,判断为是时,触发所述第一发送模块,判断为否时,继续触发所述第二判断模块。
所述第一判断模块,具体包括注册单元和检测单元;
所述注册单元,用于根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件;
所述检测单元,用于检测定时事件,当检测到有定时事件触发时,触发所述第一发送模块。
所述注册单元,具体用于从所述服务器配置文件中解析得到所有监控项,根据监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
所述第一发送模块,具体用于当所述服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
所述第一发送模块,具体用于当所述服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
所述处理模块,具体包括:第一判断单元、第二判断单元、第三判断单元和报警单元;
所述第一判断单元,用于判断所述接收模块接收到的所述采集结果是否异常,判断为是时,触发所述第二判断单元,判断为否时,触发所述第一判断模块;
所述第二判断单元,用于根据所述监控项的监控信息,判断异常的采集结果是否需要报警,判断为是时,触发所述第三判断单元,判断为否时,触发所述第一判断模块;
所述第三判断单元,用于根据所述监控项中的监控信息,判断是否允许发送报警通知,判断为是时,触发所述报警单元,判断为否时,触发所述第一判断模块;
所述报警单元,用于当所述第三判断单元判断为是时,选择报警通知方式,将报警信息发送至管理员,触发所述第一判断模块。
所述服务器还包括存储模块;
所述处理模块,具体用于根据所述服务器配置文件判断是否需要分析所述采集数据的变化趋势,判断为是时,触发所述存储模块,判断为否时,触发所述第一判断模块;
所述存储模块,用于将所述采集结果保存,触发所述第一判断模块。
所述服务器还包括记录日志模块;
所述处理模块,具体用于根据所述采集数据判断是否需要记录日志信息,判断为是时,触发所述记录日志模块,判断为否时,触发所述第一判断模块;
所述记录日志模块,用于记录日志信息,触发所述第一判断模块。
所述第一发送模块,具体用于当获取所述服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足所述采集条件的监控项对应的监控信息发送至客户端。
所述第一发送模块,还用于当获取所述服务器配置文件中的采集数据方式为SNMP方式采集数据方式时,满足采集条件的监控项对应的监控信息发送至SNMP代理;
所述第一接收模块,还用于接收所述SNMP代理返回的采集结果,触发所述处理模块。
所述服务器还包括数据采集器模块;
所述数据采集器模块包括第一接收单元和第一发送单元;
所述第一发送模块,还用于当所述第一判断模块判断有监控项满足采集条件时,将满足所述采集条件的监控项对应的监控信息发送至所述第一接收单元;
所述第一接收单元,用于接收所述第一发送模块发送的所述监控信息;
所述第一发送单元,用于将所述第一接收单元接收到的所述监控信息发送至所述客户端。
所述数据采集器模块还包括第一采集单元;
所述第一采集单元,用于当获取所述监控信息中的数据采集的执行方式为本机执行时,根据所述监控信息采集所述服务器中的数据,触发所述第一发送单元。
所述第一发送单元,具体用于当获取所述监控信息中的数据采集的执行方式为客户端执行时,将所述第一接收单元接收到的所述监控信息发送至所述客户端。
所述服务器包括数据采集应用模块;
所述数据采集应用模块包括第二接收单元、第二采集单元和第二发送单元;
所述第二接收单元,用于接收所述数据采集器模块发送的监控信息;
所述第二采集单元,用于根据所述第二接收单元接收到的所述监控信息采集对应的服务器中的数据;
所述第二发送单元,用于所述第二采集单元采集到的所述服务器中的数据发送至所述数据采集器模块。
所述数据采集器模块还包括第四判断单元和显示单元;
所述第四判断单元,用于判断所述第一接收单元接收到的所述监控信息中是否包含辅助信息,判断为是时,触发所述显示单元,判断为否时,触发所述第一发送单元;
所述显示单元,用于显示所述辅助信息。
所述服务器还包括第三判断模块和报错模块;
所述第三判断模块,用于当所述第一判断模块判断为是时,根据所述服务器配置文件中的操作***信息,判断是否能够采集所述客户端中的数据,判断为是时,触发所述第一发送模块,判断为否时,触发所述报错模块;
所述报错模块,用于报错,继续触发所述第一判断模块。
所述第三判断模块具体包括第三发送单元、第三接收单元和第五判断单元;
所述第三发送单元,用于向所述客户端发送获取客户端操作***信息的请求;
所述第三接收单元,用于接收所述客户端返回的客户端操作***信息;
所述第五判断单元,用于判断所述服务器配置文件中的操作***信息与所述第一接收单元接收到的所述客户端操作***信息是否匹配,判断为是时,触发所述第一发送模块,判断为否时,触发所述报错模块。
本发明取得的有益效果是:采用本发明的技术方法,监控针对的粒度更小,从原来的机器,降到机器上的某个可以监控的资源上。在机器需要新增监控资源时,***程序不需做修改,只需编写对应的监控数据采集应用并配置到***中即可。提高了***的稳定性,并且增加了***的可扩展性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种运维监控数据的采集方法流程图;
图2是本发明实施例2提供的一种运维监控数据***的采集方法流程图;
图3是本发明实施例3提供的一种运维监控数据***中监控服务器的工作方法流程图;
图4是本发明实施例4提供的一种运维监控数据***中数据采集器的工作方法流程图;
图5是本发明实施例5提供的一种运维监控数据***中监控客户端的工作方法流程图。
图6是本发明实施例6提供的一种运维监控数据采集的服务器的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
预先在服务器和客户端中均注册有配置文件,配置文件中包括服务启动的配置参数以及指定的监控机器的监控配置文件。监控配置文件可以有多个,每个监控配置文件代表监控的一台机器,客户端安装在需要被检测的机器上。监控配置文件中包含机器的基本信息,以及多个监控项,每个监控项中包含多个监控信息,包括采集数据的类型及采集数据的属性(如采集信息描述、IP地址等)等,其中,监控项和监控信息均可以由用户自行设定,也可以根据监控服务器或监控客户端采集数据的频率进行设定。
本发明中,只要能够通过量化的数字表示的资源,并且能够使用某种方式通过程序采集到量化数据的,都可以作为监控项,其中,监控项包括但不限于CPU使用率、CPU负载、内存使用率、磁盘使用率、网络接口流量、WEB网站的响应时间等等。
实施例1
本发明实施例1提供了一种运维监控数据的采集方法,本实施例中,服务器中可以设置有数据采集器和数据采集应用,客户端中可以设置有数据采集应用,如图1所示,包括:
步骤S1:服务器根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1;
本步骤具体为:服务器根据服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,当检测到有定时事件触发时,则有监控项满足采集条件,执行步骤S2,否则继续执行步骤S1;
其中,根据服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,具体为:服务器从服务器配置文件中解析得到所有监控项,根据监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
步骤S2:服务器将满足采集条件的监控项对应的监控信息发送至客户端;
其中,客户端安装在需要被监控的机器上;
当服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至客户端;
当服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至客户端;
本步骤具体包括:
当服务器获取服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至客户端;
当服务器获取服务器配置文件中的采集数据方式为SNMP代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至SNMP代理,接收SNMP代理返回的采集数据,执行步骤S4。
步骤S3:服务器接收客户端返回的采集结果;
本实施例中,采集结果是由客户端根据接收到的监控信息在需要被监控的机器上采集到的数据;
步骤S4:服务器对采集结果进行处理,返回步骤S1。
本实施例中,服务器对采集结果进行处理包括报警(包括重启客户端等)、保存采集数据分析变化趋势、记录日志信息等。
本实施例中,步骤S2之前还包括:
步骤S1’:服务器获取更新后的服务器配置文件,根据更新后的服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1’;
其中,更新后的服务器配置文件中的监控项与更新前的服务器配置文件中的监控项不同。
实施例2
本发明实施例2提供了一种运维监控数据采集***的工作方法,应用于包括服务器和客户端的***中,其中,服务器包括监控服务器、数据采集器和数据采集应用;客户端包括监控客户端和数据采集应用;具体的,数据采集器是服务器用于获取采集结果的应用程序,数据采集应用可以部署在服务器中或客户端中,是监控服务器或监控客户端中用于数据采集的插件,如图2所示,包括:
步骤101:监控服务器启动,根据服务器配置文件中每个监控项的采集间隔,为每个监控项注册定时事件,等待定时事件的触发,当接收到定时事件的触发时,执行步骤102,否则继续等待定时事件的触发;
本实施例中,在服务器配置文件的每个监控项中预先设定采集时长,其中,采集时长可以由用户自行设定或监控服务器根据采集数据的速率进行设定;
其中,监控服务器的定时事件定时的监控服务器配置文件中每个监控项的采集时长,若有一个监控项的采集间隔达到了该监控项的监控时长时,对该监控项进行下述步骤的处理;
本实施例中,监控项的格式可以由用户自行设定,包括文本文件格式和XML文件格式等;
例如,文本文件格式的服务器配置文件为(需要说明的是,服务器配置文件中可以包含一个或多个监控项,本实施例以服务器配置文件中包含一个监控项为例来说明):
例如,XML文件格式的服务器配置文件为:
<service>
<use>generic-service</use>
<host_name>192.168.88.179</host_name>
<service_description>Swap Usage</service_description>
<check_command>check_nrpe!check_swap!20!10</check_command>
<active_checks_enabled>1</active_checks_enabled>
<passive_checks_enabled>1</passive_checks_enabled>
<parallelize_check>1</parallelize_check>
<obsess_over_service>1</obsess_over_service>
<check_freshness>0</check_freshness>
<notifications_enabled>1</notifications_enabled>
<event_handler_enabled>1</event_handler_enabled>
<flap_detection_enabled>1</flap_detection_enabled>
<process_perf_data>1</process_perf_data>
<retain_status_information>1</retain_status_information>
<retain_nonstatus_information>1</retain_nonstatus_information>
<is_volatile>0</is_volatile>
<check_period>24x7</check_period>
<max_check_attempts>3</max_check_attempts>
<normal_check_interval>2</normal_check_interval>
<retry_check_interval>2</retry_check_interval>
<contact_groups>admins</contact_groups>
<notification_options>w,u,c,r</notification_options>
<notification_interval>60</notification_interval>
<notification_period>24x7</notification_period>
<register>0</register>
</service>
根据上述两种类型的服务器配置文件中的监控信息service_description SwapUsage或者<service_description>SwapUsage</service_description>可知,该服务器配置文件用于在监控客户端中检查机器192.168.89.179中swap分区的使用情况,其中,根据上述两种类型的服务器配置文件中的监控信息normal_check_interval2或者<normal_check_interval>2</normal_check_interval>,可知采集时长为2分钟;
本实施例中,监控服务器注册定时事件后,记录第一时间,当监控到当前时间与第一时间的时间间隔(即采集间隔)达到采集时长的整数倍时,执行步骤102;
例如,监控服务器注册定时事件后,记录的第一时间为2015.09.24 10:39:25,则当监控到当前时间与第一时间的时间间隔达到所有监控项中最短的采集时长(2分钟)时,即当前时间为2015.09.24 10:41:25时,执行步骤102;
步骤102:监控服务器根据服务器配置文件中的操作***判断是否能够采集监控客户端对应的被监控的机器上的数据,如果是,则执行步骤103,否则继续等待定时事件的触发;
本实施例中,本步骤具体为:
监控服务器向监控客户端发送获取客户端操作***的请求,接收监控客户端返回的客户端操作***信息,判断服务器配置文件中的操作***信息和接收到的客户端操作***信息是否匹配,如果是,则执行步骤102,否则报错,继续等待定时事件的触发;
进一步的,本实施例中,如果服务器配置文件中没有配置操作***或者将操作***配置为自动识别,则执行完步骤101后直接执行步骤103;
步骤103:监控服务器获取服务器配置文件中的采集数据方式,如果是监控代理采集数据方式,则执行步骤104,如果是SNMP代理采集数据方式,则执行步骤115;
本实施例中,SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点的标准协议,实现监控服务器与被监控机器的之间的直接交互。
步骤104:监控服务器将接收到定时事件触发的监控项对应的监控信息发送至数据采集器;
步骤105:数据采集器获取接收到的监控信息中的数据采集的执行方式,如果是在本机执行,则执行步骤111,如果是在监控客户端执行,则执行步骤106;
本实施例中,预先约定,如果监控信息中的数据采集的执行方式check_command中没有check_agent,则标识该数据采集是在本机执行,如果监控信息中的采集执行方式check_command中使用到check_agent,则标识该数据采集是在监控客户端执行;
例如,步骤101的实例中,数据采集器从服务器配置文件中获取到的监控信息check_nrpe!check_swap!20!10中没有check_agent,表示该数据采集是在本机执行,执行步骤111;
步骤106:数据采集器将监控信息发送至监控客户端;
步骤107:监控客户端将监控信息发送至数据采集应用;
步骤108:数据采集应用运行接收到的监控信息,根据监控信息采集被监控机器上的数据,得到预设格式的采集结果;
本实施例中,优选的,预设格式的采集结果为:
监控项当前状态描述信息|监控项当前采集信息描述=监控项当前采集值;报警阀值;故障阀值;输出报表时y轴最小值;输出报表时y轴最大值;监控项当前状态描述信息|监控项当前采集信息描述=监控项当前采集值;报警阀值;故障阀值;输出报表时y轴最小值;输出报表时y轴最大值……(用“;”将多个采集项隔开);
例如,监控信息用于采集内存使用率,采集得到的采集结果为:
Memory Free:/246MB(16%)|percentage=24;20;10;0;100;
其中,监控项当前状态描述信息:Memory Free:/246MB(16%),监控项当前采集信息描述:percentage,监控项当前采集值:24,报警阀值:20,故障阀值:10,输出报表时y轴最小值:0,输出报表时y轴最大值:100。
步骤109:数据采集应用将采集结果返回至监控客户端;
步骤110:监控客户端将采集结果返回至数据采集器,执行步骤114;
步骤111:数据采集器将所有监控信息发送至数据采集应用;
步骤112:数据采集应用运行接收到的监控信息,根据监控信息采集数据,得到预设格式的采集结果;
例如,配置信息用于采集CPU负载,采集得到的采集结果为:
OK-load average:0.16,0.12,0.09|load1=0.160;15.000;30.000;0;load5=0.120;10.000;25.000;0;load15=0.090;5.000;20.000;0;
其中,监控项当前状态描述信息:OK-load average:0.16,0.12,0.09,采集结果中包括三个值:
第一个:
监控项当前采集信息描述:load1,监控项当前采集值:0.160,报警阀值:15.000,故障阀值:30.000,输出报表时y轴最小值:0,输出报表时y轴最大值:无(不限制)
第二个:
监控项当前采集信息描述:load5,监控项当前采集值:0.120,报警阀值:10.000,故障阀值:25.000,输出报表时y轴最小值:0,输出报表时y轴最大值:无(不限制)
第三个:
监控项当前采集信息描述:load15,监控项当前采集值:0.090,报警阀值:5.000,故障阀值:20.000,输出报表时y轴最小值:0,输出报表时y轴最大值:无(不限制);
步骤113:数据采集应用将采集结果返回至数据采集器;
具体的,数据采集应用通过管道将采集数据发送至数据采集器。
步骤114:数据采集器将采集结果返回至监控服务器,执行步骤118;
步骤115:监控服务器将接收到定时事件触发的监控项对应的监控信息发送至SNMP代理;
步骤116:SNMP代理运行接收到的监控信息,根据监控信息采集数据,得到预设格式的采集结果;
步骤117:SNMP代理将采集结果发送至监控服务器,执行步骤118;
步骤118:监控服务器对接收到的采集结果进行处理,继续等待定时事件的触发;
其中,监控服务器对采集结果的处理在实施例3中具体说明,在此不再赘述。
实施例3
本发明实施例3提供了一种运维监控数据***中监控服务器的工作方法,如图3所示,包括:
步骤201:监控服务器启动,进行初始化,从服务器本地读取服务器配置文件;
其中,进行初始化包括读取服务器配置文件及解析命令行参数等;
步骤202:监控服务器向监控客户端发送获取客户端操作***的请求,接收监控客户端返回的客户端操作***信息,判断服务器配置文件中的操作***信息和接收到的客户端操作***信息是否匹配,如果是,则执行步骤203,否则报错,结束;
本实施例中,如果服务器配置文件中未配置操作***信息,则执行步骤201之后直接执行步骤203;或者,如果服务器配置文件中配置有操作***信息,但步骤202判断为否时,也可以执行步骤203。
步骤203:监控服务器判断服务器配置文件的格式,如果为文本文件格式,则调用处理文本文件格式的接口,执行步骤204,如果是XML文件格式,则调用处理XML文件格式的接口,执行步骤204;
步骤204:监控服务器从服务器配置文件中解析得到所有监控项,将所有监控项读取到内存中;
步骤205:监控服务器根据所有监控项的数量,为各个监控项创建工作进程组,用以处理服务器配置文件中的监控项;
本实施例中,服务器配置文件中包含有所有监控项的数量,用以指明需要创建多少个工作进程组来进行数据监控,如,配置参数为check_workers=6;
除此之外,服务器可默认创建的进程组的个数为1.5乘以CPU的个数,默认最少为4个。
步骤206:监控服务器根据每个监控项的采集间隔,为每个工作进程注册定时事件;
本实施例中,监控服务器根据监控项中的监控信息normal_check_interval的值(即该监控项的采集间隔),为对应的工作进程注册定时事件;
例如,监控信息normal_check_interval为1,则设置工作进程注册定时事件为每1分钟执行一次,如果获取到监控信息normal_check_interval为2,则设置工作进程注册定时事件为每2分钟执行一次。
步骤207:监控服务器的每个工作进程监控对应的监控项,判断是否监测到某个工作进程的定时事件触发,如果是,则执行步骤208,否则继续执行步骤207;
具体为,判断是否存在某个工作进程的定时事件达到该监控项的采集间隔的整数倍;
例如,监控项的采集间隔为1分钟,则当该监控项对应的工作进程监控到有定时事件触发时,进行数据采集。
步骤208:监控服务器判断数据采集方式,如果是监控代理采集数据方式,则执行步骤209,如果是SNMP代理采集数据方式,则执行步骤210;
步骤209:监控服务器将该工作进程对应的监控项所对应的监控信息发送至数据采集器,接收数据采集器返回的采集结果,执行步骤211;
步骤210:监控服务器将该工作进程对应的监控项所对应的监控信息发送至SNMP代理,接收SNMP代理返回的采集结果,执行步骤211;
步骤211:监控服务器判断接收到的采集结果是否异常,如果是,则执行步骤212,否则执行步骤215;
本实施例中,监控服务器判断接收到的采集结果中的当前采集值是否小于报警阀值或小于故障阀值,如果是,则接收到的采集结果异常,否则接收到的采集结果正常;
例如,采集结果为:
Memory Free:/246MB(16%)|percentage=24;20;10;0;100;其中,当前采集值为24,大于故障阀值10,且大于报警阀值20,因此采集结果正常;
如果接收到的采集结果为:
Memory Free:/246MB(16%)|percentage18;20;10;0;100;其中,当前采集值为18,小于报警阀值20,大于故障阀值10,因此采集结果异常;
步骤212:监控服务器根据监控项的监控信息,判断异常的采集结果是否需要报警,如果是,则执行步骤213,否则执行步骤215;
本实施例中,监控服务器根据监控项中的监控信息notifications_enabled的值,判断异常的采集结果是否需要报警,如果该监控信息notifications_enabled的值为1时,则需要报警,如果该监控信息notifications_enabled的值为0时,则不需要报警;
步骤213:监控服务器根据服务器配置文件中监控项的监控信息,判断是否允许发送报警通知,如果是,则执行步骤214,否则执行步骤215;
本实施例中,监控服务器根据监控项中的监控信息notification_period的值,判断是否允许发送报警通知;
例如,监控项中的监控信息notification_period的值为24x7,则表示7*24小时均可发送报警通知,其中,是否需要报警或者何时需要报警可以由用户自行对该监控信息的值进行设定。
步骤214:监控服务器选择报警通知方式,将报警信息发送至管理员,执行步骤215;
其中,报警通知方式可以为语音报警或者邮件通知报警等,由用户根据需求自行设定。
步骤215:监控服务器将对应的采集结果存储在服务器数据库中,返回步骤207。
本实施例还包括:用户界面定时(优选为1分钟)从监控服务器数据库中读取采集结果,在界面上显示读取到的采集结果;
本实施例中,步骤211至步骤215可以替换为:服务器根据服务器配置文件判断是否需要分析采集结果的变化趋势,如果是,则将采集结果保存,返回步骤207,否则直接返回步骤207;
例如,服务器配置文件中监控项的监控信息save_result的值为1时,表示需要分析采集结果的变化趋势,保存采集结果,如果save_result的值为0时,表示不需要分析采集结果的变化趋势,不保存采集结果。
除此之外,步骤211至步骤215还可以替换为:服务器根据采集结果判断是否需要记录日志信息,如果是,则记录日志信息,返回步骤207,否则直接返回步骤207;
具体的,服务器判断采集结果是否异常,如果是,则记录日志信息,否则不记录日志信息;
例如,监控信息为采集CPU使用率,当采集结果中CPU使用率超过预设报警阀值时,记录当前时间点该被监控的机器发生CPU使用率超阀值信息。
实施例4
本发明实施例4提供了一种运维监控数据***中数据采集器的工作方法,如图4所示,包括:
本实施例中,优选的,监控服务器将监控信息以命令行的形式发送至数据采集器,数据采集器接收到监控信息后执行以下操作:
步骤301:数据采集器以命令行的形式解析接收到的监控信息,判断命令行参数是否出错,如果是,则向监控服务器发送错误信息,结束,否则执行步骤302;
步骤302:数据采集器判断监控信息中是否包含辅助信息,如果是,则显示所述辅助信息,将已显示响应返回至监控服务器,结束,否则执行步骤303;
本实施例中,当获取到的命令行参数中包含有数据采集器的帮助信息、版本信息等辅助信息时,为用于显示辅助信息的命令;
步骤303:数据采集器根据监控信息组装数据包,并获取监控信息中指定的监控客户端;
本实施例中,组装得到的数据包中包含版本号、包类型、数据采集命令信息和通过校验算法(如crc32算法等)对上述数据进行计算得到的校验和,其中包类型包括请求包类型和响应包类型;
步骤304:数据采集器将数据包发送至指定的监控客户端;
步骤305:数据采集器接收监控客户端返回的采集结果;
本实施例中,采集结果中包含版本号、包类型、采集得到的数据信息和通过校验算法(如crc32算法等)对上述数据进行计算得到的校验和,其中包类型包括请求包类型和响应包类型;
步骤306:数据采集器判断采集结果是否正确,如果是,则执行步骤307,否则向监控服务器发送错误信息,结束;
本实施例中,数据采集器从采集结果中获取校验和,判断采集结果中的校验和与发送的数据包的校验和是否相同,判断采集结果中的版本号与数据包中的版本号是否相同,判断采集结果中的包类型与数据包中的包类型是否相同,如果均相同,则采集结果正确,否则采集结果错误;
步骤307:数据采集器将采集结果发送至监控服务器。
实施例5
本发明实施例5提供了一种运维监控数据***中监控客户端的工作方法,如图5所示,包括:
步骤401:监控客户端加载客户端配置文件,根据客户端配置文件中的配置参数,监听与监控服务器的连接端口;
例如,客户端配置文件中配置参数为:
log_facility=daemon
server_port=5666
allowed_hosts=127.0.0.1,192.168.88.179,192.168.88.189
dont_blame_nrpe=0
客户端配置文件中的监控项为:
其中,客户端配置文件的配置参数中的server_port=5666即为监控客户端与监控服务器的连接端口。
步骤402:监控客户端等待接收监控服务器发送的采集命令;
步骤403:当监控客户端接收到采集命令时,根据客户端配置文件,判断发送该命令的监控服务器是否为允许接入的设备,如果是,则执行步骤404,否则向监控服务器返回错误信息,返回步骤402;
本实施例中,判断采集命令中监控服务器的IP地址是否包含在客户端配置文件中的配置参数allowed_hosts值对应的IP地址内,如果是,则发送该命令的监控服务器为允许接入的设备,否则该命令的监控服务器不是允许接入的设备;
例如,客户端配置文件中的配置参数allowed_hosts值为127.0.0.1,192.168.88.179,192.168.88.189,从采集命令中获取到的监控服务器的IP地址为192.168.88.179,因此该服务器为允许接入该客户端的设备。
步骤404:监控客户端对接收到的采集命令进行解析,得到需要采集的监控信息,判断该监控信息是否为允许执行的监控信息,如果是,则执行步骤405,否则向监控服务器返回错误信息,返回步骤402;
本实施例中,判断得到的监控信息是否能够在客户端配置文件中找到,如果是,则该监控信息为允许执行的监控信息,否则该监控信息不是允许执行的监控信息。
步骤405:监控客户端将需要采集的监控信息发送至数据采集应用;
例如,客户端接收到的监控信息用于采集CPU使用率,则数据采集应用通过top命令获取CPU使用率,如获取到的CPU使用率为:
Cpu(s):2.9%us,33.3%sy,16.2%ni,44.8%id,2.9%wa,0.0%hi,0.0%si。
例如,客户端接收到的监控信息用于获取内存使用率,则数据采集应用通过free命令获取内存使用率,如获取到的内存使用率为:
total used free shared buffers cached
Mem: 775708 741808 33900 0 79948 268824
步骤406:监控客户端判断在预设时间内是否接收到数据采集应用返回的采集结果,如果是,则执行步骤407,否则将采集结果设置为超时,执行步骤407;
优选的,预设时间为10s。
步骤407:监控客户端将采集结果返回监控服务器。
实施例6
本发明实施例6提供了一种运维监控数据采集的服务器,如图6所示,包括:
第一判断模块601,用于根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件;
第一发送模块602,用于当第一判断模块601判断有监控项满足采集条件时,将满足采集条件的监控项对应的监控信息发送至客户端;
第一接收模块603,用于接收客户端返回的采集结果;
处理模块604,用于对第一接收模块603接收到的采集结果进行处理,触发第一判断模块601。
本实施例中,服务器还包括第二判断模块;
第二判断模块,用于获取更新后的服务器配置文件,根据更新后服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,判断为是时,触发第一发送模块602,判断为否时,继续触发第二判断模块。
具体的,第一判断模块601,具体包括注册单元和检测单元;
注册单元,用于根据服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件;
检测单元,用于检测定时事件,当检测到有定时事件触发时,触发第一发送模块602。
其中,注册单元,具体用于从服务器配置文件中解析得到所有监控项,根据监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
进一步的,第一发送模块602,具体用于当服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至客户端。
更进一步的,第一发送模块602,具体用于当服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至客户端。
其中,处理模块604,具体包括:第一判断单元、第二判断单元、第三判断单元、报警单元和存储单元;
第一判断单元,用于判断接收模块接收到的采集结果是否异常,判断为是时,触发第二判断单元,判断为否时,触发第一判断模块601;
第二判断单元,用于根据监控项的监控信息,判断异常的采集结果是否需要报警,判断为是时,触发第三判断单元,判断为否时,触发第一判断模块601;
第三判断单元,用于根据监控项中的监控信息,判断是否允许发送报警通知,判断为是时,触发报警单元,判断为否时,触发第一判断模块601;
报警单元,用于当第三判断单元判断为是时,选择报警通知方式,将报警信息发送至管理员,触发第一判断模块601。
本实施例中,服务器还包括存储模块;
处理模块604,具体用于根据服务器配置文件判断是否需要分析采集数据的变化趋势,判断为是时,触发存储模块,判断为否时,触发第一判断模块601;
存储模块,用于将采集结果保存,触发第一判断模块601。
本实施例中,服务器还包括记录日志模块;
处理模块604,具体用于根据采集数据判断是否需要记录日志信息,判断为是时,触发记录日志模块,判断为否时,触发第一判断模块601;
记录日志模块,用于记录日志信息,触发第一判断模块601。
其中,第一发送模块602,具体用于当获取服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至客户端。
进一步的,第一发送模块602,还用于当获取服务器配置文件中的采集数据方式为SNMP方式采集数据方式时,将满足采集条件的监控项对应的监控信息发送至SNMP代理;
第一接收模块603,还用于接收SNMP代理返回的采集数据,触发处理模块604。
本实施例中,服务器还包括数据采集器模块;
数据采集器模块包括第一接收单元和第一发送单元;
第一发送模块602,还用于当第一判断模块601判断有监控项满足采集条件时,将满足采集条件的监控项对应的监控信息发送至第一接收单元;
第一接收单元,用于接收第一发送模块发送的监控信息;
第一发送单元,用于将第一接收单元接收到的监控信息发送至客户端。
其中,数据采集器模块还包括第一采集单元;
第一采集单元,用于当获取监控信息中的数据采集的执行方式为本机执行时,根据监控信息采集服务器中的数据,触发第一发送单元。
进一步的,第一发送单元,具体用于当获取监控信息中的数据采集的执行方式为客户端执行时,将第一接收单元接收到的监控信息发送至客户端。
本实施例中,服务器包括数据采集应用模块;
数据采集应用模块包括第二接收单元、第二采集单元和第二发送单元;
第二接收单元,用于接收数据采集器发送的监控信息;
第二采集单元,用于根据第二接收单元接收到的监控信息采集对应的服务器中的数据;
第二发送单元,用于将第二采集单元采集到的服务器中的数据发送至数据采集器模块。
其中,数据采集器模块还包括第四判断单元和显示单元;
第四判断单元,用于判断第一接收单元接收到的监控信息中是否包含辅助信息,判断为是时,触发显示单元,判断为否时,触发第一发送单元;
显示单元,用于显示辅助信息。
本实施例中,服务器还包括第三判断模块和报错模块;
第三判断模块,用于当第一判断模块601判断为是时,根据服务器配置文件中的操作***信息,判断是否能够采集客户端中的数据,判断为是时,触发第一发送模块602,判断为否时,触发报错模块;
报错模块,用于报错,继续触发第一判断模块601。
其中,第三判断模块具体包括第三发送单元、第三接收单元和第五判断单元;
第三发送单元,用于向客户端发送获取客户端操作***信息的请求;
第三接收单元,用于接收客户端返回的客户端操作***信息;
第五判断单元,用于判断服务器配置文件中的操作***信息与第三接收单元接收到的客户端操作***信息是否匹配,判断为是时,触发第一发送模块602,判断为否时,触发报错模块。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (36)

1.一种运维监控数据的采集方法,其特征在于,包括:
步骤S1:服务器根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1;所述服务器配置文件中包括服务启动的配置参数以及指定的监控机器的监控配置文件,监控配置文件有多个,每个监控配置文件代表监控的一台机器;监控配置文件中包含机器的基本信息以及多个监控项,每个监控项中包含多个监控信息;监控项和监控信息均由用户自行设定,或根据监控服务器或监控客户端采集数据的频率进行设定;监控项包括CPU使用率、CPU负载、内存使用率、磁盘使用率、网络接口流量、WEB网站的响应时间;
步骤S2:所述服务器将满足所述采集条件的监控项对应的监控信息发送至客户端;所述客户端安装在被监控的机器上;
步骤S3:所述服务器接收所述客户端返回的采集结果;所述采集结果是由所述客户端根据接收到的所述监控信息在所述被监控的机器上采集到的数据;
步骤S4:所述服务器对所述采集结果进行处理,返回步骤S1;
所述服务器包括数据采集器,所述步骤S2具体为:
步骤b1:所述服务器将满足所述采集条件的监控项对应的监控信息发送至所述数据采集器;
步骤b2:所述数据采集器将接收到的所述监控信息发送至所述客户端;
所述步骤S4包括:所述服务器根据所述采集结果进行报警、保存采集数据分析变化趋势、记录日志信息;
所述步骤S2之前包括:
步骤S1’:所述服务器获取更新后的服务器配置文件,根据所述更新后的服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,如果是,则执行步骤S2,否则继续执行步骤S1’。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1具体为:所述服务器根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,当检测到有定时事件触发时,则有监控项满足采集条件,执行步骤S2,否则继续执行步骤S1。
3.根据权利要求2所述的方法,其特征在于,所述根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件,具体为:所述服务器从所述服务器配置文件中解析得到所有监控项,根据所有监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
4.根据权利要求1所述的方法,其特征在于,所述客户端包括数据采集应用,则所述步骤S2与所述步骤S3之间还包括:
步骤d1:所述客户端将接收到的所述监控信息发送至所述数据采集应用;
步骤d2:所述数据采集应用根据接收到的所述监控信息采集对应的所述客户端中的数据,将采集得到的采集结果发送至所述服务器。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2具体为:当所述服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
6.根据权利要求1所述的方法,其特征在于,所述步骤S2具体为:当所述服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
7.根据权利要求1所述的方法,其特征在于,所述步骤S4具体包括:
步骤e1:所述服务器判断所述采集结果是否异常,如果是,则执行步骤e2,否则返回步骤S1;
步骤e2:所述服务器根据所述监控项的监控信息,判断异常的采集结果是否需要报警,如果是,则执行步骤e3,否则返回步骤S1;
步骤e3:所述服务器根据所述监控项中的监控信息,判断是否允许发送报警通知,如果是,则执行步骤e4,否则返回步骤S1;
步骤e4:所述服务器选择报警通知方式,将报警信息发送至管理员,返回步骤S1。
8.根据权利要求1所述的方法,其特征在于,所述步骤S4具体为:所述服务器根据所述服务器配置文件判断是否需要分析所述采集结果的变化趋势,如果是,则将所述采集结果保存,返回步骤S1,否则直接返回步骤S1。
9.根据权利要求1所述的方法,其特征在于,所述步骤S4具体为:所述服务器根据所述采集结果判断是否需要记录日志信息,如果是,则记录日志信息,返回步骤S1,否则直接返回步骤S1。
10.根据权利要求1所述的方法,其特征在于,
所述步骤S3之前还包括:所述客户端加载客户端配置文件,根据所述客户端配置文件中的配置参数,监听与所述服务器的连接端口,等待接收所述服务器的监控信息。
11.根据权利要求10所述的方法,其特征在于,
所述步骤S3之前还包括:
步骤f1:所述客户端接收到所述服务器发送的所述监控信息后,根据所述客户端配置文件,判断所述服务器是否为允许接入的设备,如果是,则执行步骤f2,否则继续等待接收监控信息;
步骤f2:所述客户端根据所述客户端配置文件,判断所述监控信息是否为允许执行的监控信息,如果是,则执行步骤f3,否则继续等待接收监控信息;
步骤f3:所述客户端根据接收到的所述监控信息采集对应的数据,将采集得到的采集结果发送至所述服务器。
12.根据权利要求1所述的方法,其特征在于,所述步骤S2具体为:当所述服务器获取所述服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至客户端。
13.根据权利要求1所述的方法,其特征在于,所述步骤S2和所述步骤S3替换为:当所述服务器获取所述服务器配置文件中的采集数据方式为SNMP代理采集数据方式时,将满足采集条件的监控项对应的监控信息发送至SNMP代理,接收所述SNMP代理返回的采集结果,执行步骤S4。
14.根据权利要求1所述的方法,其特征在于,所述步骤b1与所述步骤b2之间还包括:所述数据采集器获取所述监控信息中的数据采集的执行方式为本机执行,所述数据采集器根据所述监控信息采集所述服务器中的数据,得到采集结果,将所述采集结果发送至所述服务器,执行步骤S4。
15.根据权利要求1所述的方法,其特征在于,所述步骤b2具体为:当所述数据采集器获取所述监控信息中的数据采集的执行方式为客户端执行时,将接收到的所述监控信息发送至所述客户端。
16.根据权利要求14所述的方法,其特征在于,所述服务器包括数据采集应用,则所述数据采集器根据所述监控信息采集所述服务器中的数据,具体为:
步骤c1:所述数据采集器将所述监控信息发送至所述数据采集应用;
步骤c2:所述数据采集应用根据接收到的所述监控信息采集对应的服务器中的数据;
步骤c3:所述数据采集应用将采集到的所述服务器中的数据发送至所述数据采集器。
17.根据权利要求1所述的方法,其特征在于,所述步骤b2之前还包括:所述数据采集器判断接收到的监控信息中是否包含辅助信息,如果是,则显示所述辅助信息,结束,否则执行步骤b2。
18.根据权利要求1所述的方法,其特征在于,所述步骤S2与所述步骤S3之间,还包括:
步骤g1:所述客户端根据接收到的所述监控信息采集对应的数据,将采集得到的采集结果发送至所述数据采集器;
步骤g2:所述数据采集器根据所述采集结果中的校验和,判断所述采集结果是否正确,如果是,则执行步骤g3,否则报错,结束;
步骤g3:所述数据采集器将所述采集结果发送至所述服务器。
19.根据权利要求1所述的方法,其特征在于,
所述步骤S1与所述步骤S2之间,还包括:所述服务器根据所述服务器配置文件中的操作***信息,判断是否能够采集所述客户端中的数据,如果是,则执行步骤S2,否则报错,返回步骤S1。
20.根据权利要求19所述的方法,其特征在于,所述判断是否能够采集所述客户端中的数据,具体为:所述服务器向所述客户端发送获取客户端操作***信息的请求,接收所述客户端返回的客户端操作***信息,判断所述服务器配置文件中的操作***信息与接收到的所述客户端操作***信息是否匹配,如果是,则执行步骤S2,否则报错,返回步骤S1。
21.一种运维监控数据采集的服务器,其特征在于,包括:
第一判断模块,用于根据服务器配置文件中各个监控项的采集间隔,判断是否有监控项满足采集条件;所述服务器配置文件中包括服务启动的配置参数以及指定的监控机器的监控配置文件,监控配置文件有多个,每个监控配置文件代表监控的一台机器;监控配置文件中包含机器的基本信息以及多个监控项,每个监控项中包含多个监控信息;监控项和监控信息均由用户自行设定,或根据监控服务器或监控客户端采集数据的频率进行设定;监控项包括CPU使用率、CPU负载、内存使用率、磁盘使用率、网络接口流量、WEB网站的响应时间;
第一发送模块,用于当所述第一判断模块判断有监控项满足采集条件时,将满足所述采集条件的监控项对应的监控信息发送至客户端;
第一接收模块,用于接收所述客户端返回的采集结果;
处理模块,用于对所述第一接收模块接收到的所述采集结果进行处理,触发所述第一判断模块;
所述处理模块具体用于根据所述采集结果进行报警、保存采集数据分析变化趋势、记录日志信息;
所述服务器还包括数据采集器模块和第二判断模块;
所述数据采集器模块包括第一接收单元和第一发送单元;
所述第一发送模块,还用于当所述第一判断模块判断有监控项满足采集条件时,将满足所述采集条件的监控项对应的监控信息发送至所述第一接收单元;
所述第一接收单元,用于接收所述第一发送模块发送的所述监控信息;
所述第一发送单元,用于将所述第一接收单元接收到的所述监控信息发送至所述客户端;
所述第二判断模块,用于获取更新后的服务器配置文件,根据所述更新后服务器配置文件中的各个监控项的采集间隔,判断是否有监控项满足采集条件,判断为是时,触发所述第一发送模块,判断为否时,继续触发所述第二判断模块。
22.根据权利要求21所述的服务器,其特征在于,所述第一判断模块,具体包括注册单元和检测单元;
所述注册单元,用于根据所述服务器配置文件中各个监控项的采集间隔,为各个监控项注册定时事件;
所述检测单元,用于检测定时事件,当检测到有定时事件触发时,触发所述第一发送模块。
23.根据权利要求22所述的服务器,其特征在于,所述注册单元,具体用于从所述服务器配置文件中解析得到所有监控项,根据监控项的数量,为各个监控项创建工作进程组,根据每个监控项的采集间隔,为各个工作进程组注册定时事件。
24.根据权利要求21所述的服务器,其特征在于,所述第一发送模块,具体用于当所述服务器配置文件的格式为文本文件格式时,调用处理文本文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
25.根据权利要求21所述的服务器,其特征在于,所述第一发送模块,具体用于当所述服务器配置文件的格式为XML文件格式时,调用处理XML文件格式的接口,将满足采集条件的监控项对应的监控信息发送至所述客户端。
26.根据权利要求21所述的服务器,其特征在于,所述处理模块,具体包括:第一判断单元、第二判断单元、第三判断单元和报警单元;
所述第一判断单元,用于判断所述接收模块接收到的所述采集结果是否异常,判断为是时,触发所述第二判断单元,判断为否时,触发所述第一判断模块;
所述第二判断单元,用于根据所述监控项的监控信息,判断异常的采集结果是否需要报警,判断为是时,触发所述第三判断单元,判断为否时,触发所述第一判断模块;
所述第三判断单元,用于根据所述监控项中的监控信息,判断是否允许发送报警通知,判断为是时,触发所述报警单元,判断为否时,触发所述第一判断模块;
所述报警单元,用于当所述第三判断单元判断为是时,选择报警通知方式,将报警信息发送至管理员,触发所述第一判断模块。
27.根据权利要求21所述的服务器,其特征在于,所述服务器还包括存储模块;
所述处理模块,具体用于根据所述服务器配置文件判断是否需要分析所述采集数据的变化趋势,判断为是时,触发所述存储模块,判断为否时,触发所述第一判断模块;
所述存储模块,用于将所述采集结果保存,触发所述第一判断模块。
28.根据权利要求21所述的服务器,其特征在于,所述服务器还包括记录日志模块;
所述处理模块,具体用于根据所述采集数据判断是否需要记录日志信息,判断为是时,触发所述记录日志模块,判断为否时,触发所述第一判断模块;
所述记录日志模块,用于记录日志信息,触发所述第一判断模块。
29.根据权利要求21所述的服务器,其特征在于,
所述第一发送模块,具体用于当获取所述服务器配置文件中的采集数据方式为监控代理采集数据方式时,将满足所述采集条件的监控项对应的监控信息发送至客户端。
30.根据权利要求21所述的服务器,其特征在于,所述第一发送模块,还用于当获取所述服务器配置文件中的采集数据方式为SNMP方式采集数据方式时,将满足采集条件的监控项对应的监控信息发送至SNMP代理;
所述第一接收模块,还用于接收所述SNMP代理返回的采集结果,触发所述处理模块。
31.根据权利要求21所述的服务器,其特征在于,所述数据采集器模块还包括第一采集单元;
所述第一采集单元,用于当获取所述监控信息中的数据采集的执行方式为本机执行时,根据所述监控信息采集所述服务器中的数据,触发所述第一发送单元。
32.根据权利要求21所述的服务器,其特征在于,所述第一发送单元,具体用于当获取所述监控信息中的数据采集的执行方式为客户端执行时,将所述第一接收单元接收到的所述监控信息发送至所述客户端。
33.根据权利要求31所述的服务器,其特征在于,所述服务器包括数据采集应用模块;
所述数据采集应用模块包括第二接收单元、第二采集单元和第二发送单元;
所述第二接收单元,用于接收所述数据采集器模块发送的监控信息;
所述第二采集单元,用于根据所述第二接收单元接收到的所述监控信息采集对应的服务器中的数据;
所述第二发送单元,用于将所述第二采集单元采集到的所述服务器中的数据发送至所述数据采集器模块。
34.根据权利要求21所述的服务器,其特征在于,所述数据采集器模块还包括第四判断单元和显示单元;
所述第四判断单元,用于判断所述第一接收单元接收到的所述监控信息中是否包含辅助信息,判断为是时,触发所述显示单元,判断为否时,触发所述第一发送单元;
所述显示单元,用于显示所述辅助信息。
35.根据权利要求21所述的服务器,其特征在于,所述服务器还包括第三判断模块和报错模块;
所述第三判断模块,用于当所述第一判断模块判断为是时,根据所述服务器配置文件中的操作***信息,判断是否能够采集所述客户端中的数据,判断为是时,触发所述第一发送模块,判断为否时,触发所述报错模块;
所述报错模块,用于报错,继续触发所述第一判断模块。
36.根据权利要求35所述的服务器,其特征在于,所述第三判断模块具体包括第三发送单元、第三接收单元和第五判断单元;
所述第三发送单元,用于向所述客户端发送获取客户端操作***信息的请求;
所述第三接收单元,用于接收所述客户端返回的客户端操作***信息;
所述第五判断单元,用于判断所述服务器配置文件中的操作***信息与所述第三接收单元接收到的所述客户端操作***信息是否匹配,判断为是时,触发所述第一发送模块,判断为否时,触发所述报错模块。
CN201610014809.9A 2016-01-11 2016-01-11 一种运维监控数据的采集方法及服务器 Active CN105610648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610014809.9A CN105610648B (zh) 2016-01-11 2016-01-11 一种运维监控数据的采集方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610014809.9A CN105610648B (zh) 2016-01-11 2016-01-11 一种运维监控数据的采集方法及服务器

Publications (2)

Publication Number Publication Date
CN105610648A CN105610648A (zh) 2016-05-25
CN105610648B true CN105610648B (zh) 2019-08-09

Family

ID=55990193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610014809.9A Active CN105610648B (zh) 2016-01-11 2016-01-11 一种运维监控数据的采集方法及服务器

Country Status (1)

Country Link
CN (1) CN105610648B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326068B (zh) * 2016-08-17 2019-01-25 东软集团股份有限公司 资源指标的监控方法及装置
CN107797465A (zh) * 2016-09-06 2018-03-13 北京百度网讯科技有限公司 监控方法和装置
CN106549830A (zh) * 2016-11-09 2017-03-29 上海最会保网络科技有限公司 一种移动应用数据采集装置和方法
CN107181639A (zh) * 2017-03-31 2017-09-19 北京奇艺世纪科技有限公司 一种通信状态的监控方法及装置
CN108563515B (zh) * 2018-03-14 2021-08-27 ***股份有限公司 一种业务进程管理方法和***
CN108965403B (zh) * 2018-06-27 2021-05-14 平安科技(深圳)有限公司 运维监控连接的建立方法及终端设备
CN108959009A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 一种服务器故障分析方法及其故障分析装置
CN109766206A (zh) * 2018-12-29 2019-05-17 北京中电普华信息技术有限公司 一种日志采集方法及***
CN110401698A (zh) * 2019-06-27 2019-11-01 苏州浪潮智能科技有限公司 一种基于任务异步分发的监控数据采集方法、装置和***
CN112968789B (zh) * 2019-12-12 2024-02-27 中兴通讯股份有限公司 数据采集方法、装置、计算机设备及计算机可读介质
CN111162936B (zh) * 2019-12-17 2022-10-21 北京首钢自动化信息技术有限公司 一种数据获取方法及装置
CN112241527B (zh) * 2020-12-15 2021-04-27 杭州海康威视数字技术股份有限公司 物联网终端设备的密钥生成方法、***及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051962A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种可扩展动态网络监控***及其监控方法
CN103248651A (zh) * 2012-02-09 2013-08-14 腾讯科技(深圳)有限公司 一种性能监控的方法和***以及客户端和服务器
CN105099819A (zh) * 2015-07-20 2015-11-25 努比亚技术有限公司 一种监控网站状态的***和方法
CN105163330A (zh) * 2015-06-19 2015-12-16 深圳天珑无线科技有限公司 信息监控方法、装置及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051962A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种可扩展动态网络监控***及其监控方法
CN103248651A (zh) * 2012-02-09 2013-08-14 腾讯科技(深圳)有限公司 一种性能监控的方法和***以及客户端和服务器
CN105163330A (zh) * 2015-06-19 2015-12-16 深圳天珑无线科技有限公司 信息监控方法、装置及***
CN105099819A (zh) * 2015-07-20 2015-11-25 努比亚技术有限公司 一种监控网站状态的***和方法

Also Published As

Publication number Publication date
CN105610648A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN105610648B (zh) 一种运维监控数据的采集方法及服务器
CN110224858B (zh) 基于日志的告警方法及相关装置
CN109660380A (zh) 服务器运行状态的监控方法、平台、***及可读存储介质
US8930770B2 (en) Monitoring the health of distributed systems
US20060026467A1 (en) Method and apparatus for automatically discovering of application errors as a predictive metric for the functional health of enterprise applications
JP5201415B2 (ja) ログ情報発行装置、ログ情報発行方法およびプログラム
US20110032260A1 (en) Enhancing visualization of relationships and temporal proximity between events
US20090234944A1 (en) Liveexception system
US20060265272A1 (en) System and methods for re-evaluating historical service conditions after correcting or exempting causal events
AU2001270017A1 (en) Liveexception system
JP2004086792A (ja) 障害情報収集プログラムおよび障害情報収集装置
CN101997925A (zh) 具有预警功能的服务器监控方法及其***
JP5659108B2 (ja) 運用監視装置、運用監視プログラム及び記録媒体
WO2011017955A1 (zh) 一种告警数据分析的方法及其***
CN106911519B (zh) 一种数据采集监控方法及装置
US11983088B2 (en) Apparatus and method for determining the underlying cause of user experience degradation
CN109905262A (zh) 一种cdn设备服务的监控***及监控方法
CN114356499A (zh) Kubernetes集群告警根因分析方法及装置
US9170910B2 (en) Complex event processing system and method
EP1622310B1 (en) Administration method and system for network management systems
WO2010010393A1 (en) Monitoring of backup activity on a computer system
CN113794586A (zh) 一种网络拓扑的快照与回放方法及***
CN110990237B (zh) 一种信息收集***、方法及存储介质
Finkel Pulsar: an extensible tool for monitoring large Unix sites
US10296967B1 (en) System, method, and computer program for aggregating fallouts in an ordering system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant