CN104820633B - 计算设备的监控方法及装置 - Google Patents

计算设备的监控方法及装置 Download PDF

Info

Publication number
CN104820633B
CN104820633B CN201510289744.4A CN201510289744A CN104820633B CN 104820633 B CN104820633 B CN 104820633B CN 201510289744 A CN201510289744 A CN 201510289744A CN 104820633 B CN104820633 B CN 104820633B
Authority
CN
China
Prior art keywords
monitoring data
database
monitoring
data
rrd
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
CN201510289744.4A
Other languages
English (en)
Other versions
CN104820633A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510289744.4A priority Critical patent/CN104820633B/zh
Publication of CN104820633A publication Critical patent/CN104820633A/zh
Application granted granted Critical
Publication of CN104820633B publication Critical patent/CN104820633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种计算设备的监控方法,包括:采集至少一个监控项的监控数据;将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据;将部分监控数据备份至目标数据库。本发明的实施例中,通过按照预定提取频率将循环写入RRD数据库中的部分监控数据备份至目标数据库,解决了由于RRD数据库在数据更新时会出现大量数据同时重新读写的情况而对硬件设备造成巨大压力的问题。

Description

计算设备的监控方法及装置
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种计算设备的监控方法及装置。
背景技术
Ganglia是一种开源集群监视方式,主要用于监控系统性能,如:CPU、内存占用率、硬盘利用率,I/O负载、网络流量情况等。在集群式计算设备中,通过统一部署Ganglia,每台计算设备上都运行一个用于监控及采集系统性能数据的监控进程,而接收来自所有计算设备的监控数据的主机可以显示这些数据并且通过RRD数据库来存储监控数据。
现有技术中,在RRD数据库发生任意的监控数据更新时,由于RRD数据库的固有特性,需要对RRD数据库中的监控数据进行整体式备份,大规模集群式计算设备在Ganglia监控方式下,集群中包括上万台计算设备,每台计算设备的监控项约几十项,需要为每台计算设备的每个监控项维护一个RRD数据库,当监控项数据以较高频率更新时,相应的RRD数据库中的存储数据也需要以较高频率整体更新备份,这会导致大数据以高频同时读写,现有的硬件设备难以承受如此大的数据读写量,从而无法支持这种整体式更新备份。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种计算设备的监控方法,包括:
采集至少一个监控项的监控数据;
将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;
按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据;以及
将部分监控数据备份至目标数据库。
本发明的另一实施例提出了一种计算设备的监控装置,包括:
采集模块,用于采集至少一个监控项的监控数据;
保存模块,用于将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;
提取模块,用于按照预定提取频率,从所述RRD数据库中提取与至少一个监控项相应的部分监控数据;以及
备份模块,用于将所述部分监控数据备份至目标数据库。
本发明的实施例中,通过按照预定提取频率将循环写入RRD数据库中的部分监控数据备份至目标数据库,解决了由于RRD数据库在数据更新时会出现大量数据同时重新读写的情况而对硬件设备造成巨大压力的问题。进一步地,由于采用每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数的方式,即备份数据中存在一定个数的重复数据,因此,当受到网络延迟等问题时,能够保证监控数据备份的完整性,提高了监控数据备份的准确性,为后续利用监控数据绘制监控视图提供了可靠的数据保证。更进一步地,采用将RRD数据库中监控数据以多进程并发的方式将监控数据备份至Mongo数据库的方式,可实现监控数据的高速备份,提高了数据备份效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中计算设备的监控方法一个实施例的流程示意图;
图2为本发明中计算设备的监控装置一个实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明的实施例中,RRD(Round Robin Database tool)数据库是一种使用固定空间大小来存储数据的数据库,且该数据库中具有一个指向最新数据的位置的指针。RRD数据库在存储数据的时候,按照“循环”(round-robin)的方式进行存储,该数据库可定义能够存储预定存储个数的数据,当存储数据达到预定存储个数时,最新的数据将覆盖最早的数据。RRD数据库适用于存储用来动态生成图示的数据,而且该数据不需要长期保存。
图1为本发明中计算设备的监控方法一个实施例的流程示意图。
步骤S110:采集至少一个监控项的监控数据;步骤S120:将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;步骤S130:按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据;以及步骤S140:将部分监控数据备份至目标数据库。
本发明的实施例中,通过按照预定提取频率将循环写入RRD数据库中的部分监控数据备份至目标数据库,解决了由于RRD数据库在数据更新时会出现大量数据同时重新读写的情况而对硬件设备造成巨大压力的问题。
步骤S110:采集至少一个监控项的监控数据。
其中,采集至少一个监控项的监控数据具体为基于Ganglia监控方式,按照预定采集频率采集至少一个监控项的监控数据。
本发明的实施例中,ganglia监控方式可监控计算设备的至少一个监控项,监控项可包括CPU使用率、内存占用率、硬盘占用率、网络状态、数据库状态、端口状态等。
例如,通过ganglia监控方式以每15秒一次的采集频率采集至少一个监控项的监控数据。
S120:将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中。
其中,每台计算机设备的一个监控项对应一个RRD数据库。
具体地,针对与一个监控项相应的RRD数据库,RRD数据库可划分为一个或多个存储区域,每个存储区域可存储与其相应的预定存储个数的监控数据,其中,循环写入的方式具体包括:
针对一个存储区域,当采集并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新采集到的监控数据覆盖该存储区域中存储的最早采集到的监控数据。
优选地,每个存储区域可存储与其相应的预定记录频率下的监控数据,其中,该方法还包括步骤S150(图中未示出):
步骤S150:基于采集到的至少一个监控项的监控数据,通过计算确定在预定记录频率下的该监控项的监控数据;
以及在需要通过计算确定监控数据的情况下,循环写入的方式具体包括:
针对一个存储区域,当计算并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新计算得到的监控数据覆盖该存储区域中存储的最早计算到的监控数据。
例如,按照每15秒采集一次的预定采集频率采集到监控数据,基于每分钟1次来计算监控数据时,若当前时间为14:00:00,则利用采集到的13:59:00、13:59:15、13:59:30、13:59:45时的监控数据,进行平均值计算,确定13:59:00至14:00:00这一分钟的监控数据均值。
循环写入的方式包括以下两种情形:
情形一:针对与一个监控项相应的RRD数据库,该RRD数据库仅包括一个存储区域。
例如,一个RRD数据库的一个存储区域可存储240个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1小时所采集到的监控数据;若当前时间为14:00:00,该RRD数据库的全部空间均用于存储1小时所采集到的监控数据,即保存有13:00:00至14:00:00之间的监控数据,监控数据为240个;当以每15秒一次的采集频率继续采集到14:00:15时的监控数据时,按照循环写入的方式将13:00:00的监控数据删除并替换为14:00:15时的监控数据。
情形二:针对与一个监控项相应的RRD数据库,可将该RRD数据库包括多个存储区域,并相应的存储与其各自相应的预定存储个数的监控数据,每个存储区域中可存储的预定存储个数可相同或不同。
例如,将该RRD数据库包括五个存储区域,第一存储区域可存储5760个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1天所采集到的监控数据;第二存储区域可存储1440个监控数据,即当按照每分钟计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储1天所计算得到的每分钟的监控数据均值;第三存储区域存储720个监控数据,即当按照每小时计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储30天所计算得到的每小时的监控数据均值;第四存储区域和第五存储区域以此类推。当前时间为14:00:00,对于RRD数据库中第一存储区域,保存有昨天14:00:00至今天14:00:00之间的监控数据;当继续以每15秒一次的采集频率采集到今天14:00:15时的监控数据时,按照循环写入的方式将昨天14:00:00的监控数据删除并替换为今天14:00:15时的监控数据。
步骤S130:按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据。具体地,可利用rrdtool来进行数据的提取。
其中,按照预定提取频率每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数。
针对上述情形一:例如,一个RRD数据库的一个存储区域可存储240个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1小时所采集到的监控数据;在该种情形下,当前时间为14:00:00,按照每1分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取40个,即13:50:00-14:00:00内的监控数据;而在两次提取时间间隔13:59:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为4个,提取的数据个数大于更新保存的数据个数。
针对上述情形二:例如,将该RRD数据库包括五个存储区域,第一存储区域存储5760个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1天所采集到的监控数据;第二存储区域存储1440个监控数据,即当按照每分钟计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储1天所计算到的每分钟的监控数据均值;第三至第五存储区域以此类推。对于第一存储区域,当前时间为14:00:00,按照每1分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取40个,即13:50:00-14:00:00内的监控数据;而在两次提取时间间隔13:59:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为4个,提取的数据个数大于更新保存的数据个数;对于第二存储区域,当前时间为14:00:00,按照每10分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取60个,即13:00:00-14:00:00内的监控数据;而在两次提取时间间隔13:50:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为10个,提取的数据个数大于更新保存的数据个数。
本优选实施例中,由于采用每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数的方式,即备份数据中存在一定个数的重复数据,因此,当受到网络延迟等问题时,能够保证监控数据备份的完整性,提高了监控数据备份的准确性,为后续利用监控数据绘制监控视图提供了可靠的数据保证。本领域的技术人员应可了解,上述预定提取频率可依据具体情况调整,其每次提取的部分监控数据亦可对应调整,本发明并不以此为限。
步骤S140:将部分监控数据备份至目标数据库。
具体地,以多进程并发的方式将部分监控数据备份至非关系型数据库,在此,非关系型数据库的数据保存模式可为Key-Value(键-值);本发明的实施例中,关系型数据库可为Mongo数据库;Mongo数据库是目前在互联网行业常用的一种非关系型数据库(NoSql),其数据存储方式非常灵活。Mongo数据库内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,可以支持较大数据量的同时插入、更新等操作。
采用将RRD数据库中监控数据以多进程并发的方式将监控数据备份至Mongo数据库的方式,可实现监控数据的高速备份,提高了数据备份效率。
具体地,步骤S140可包括步骤S141(图中未示出)和步骤S142(图中未示出);
步骤S141:将每个RRD数据库划分为多个区域,并将每个区域分配至一个进程;步骤S142:通过并发方式,每一进程将与其相应区域中的监控数据至目标数据库。
其中,将RRD数据库划分为多个区域的方式包括:
平均方式划分;例如,将每个RRD数据库平均划分为两个区域,每个区域为整个区域的50%,并将每个区域分配至一个进程;
重叠方式划分;例如,将每个RRD数据库划分为三个区域,每个区域为整个区域的50%,并保持每两个区域具有整个区域的25%的重叠部分,将每个区域分配至一个进程。
优选地,一个RRD数据库中包括多个存储区域,相同存储区域中的监控数据不会分配至不同的进程,即RRD数据库划分为多个区域是依据RRD数据库中的存储区域来划分的。
优选地(参照图1),该方法还包括步骤S160(图中未示出);步骤S160:在目标数据库中建立每一监控项的监控数据的唯一索引,其中,唯一索引与时间和主机名唯一对应。
具体地,将监控数据备份至目标数据库的过程中,在目标数据库建立每一监控项的监控数据的唯一索引,且唯一索引与时间和主机名唯一对应。
例如,Mongo数据库采用Key-Value的数据存储模式,唯一索引用于对当前key添加value时,不能添加重复的信息。可通过ensureIndex命令中指定“unique:true”来创建唯一索引。
本方案的实施例中,在将部分监控数据备份至目标数据库时,由于每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数,因此在备份至目标数据库时同一主机在同一时间点必然会存在重复的监控数据,通过建立唯一索引可以保证一台主机在同一时间点上的一个监控项对应的监控数据仅有一个,而没有重复数据备份至目标数据库,节约数据存储空间,并为后续利用监控数据进行监控图的准确绘制提供了可靠保证。
进一步地,在步骤S140中,将部分监控数据备份至目标数据库,具体包括:
当目标数据库中存在与监控数据对应的时间和主机名时,将监控数据更新至目标数据库;
当目标数据库中不存在与监控数据对应的时间和主机名时,将监控数据插入至目标数据库。
例如,在Mongo数据库为每一监控项的监控数据建立了唯一索引,且唯一索引与时间和主机名唯一对应,将新的监控数据备份至Mongo数据库时,如果Mongo数据库中已存在与该新的监控数据对应的时间和主机名时,即该主机在该时间点的该监控项的监控数据已存在,则将新的监控数据覆盖更新已存在的监控数据,如通过update命令来实现更新。如果Mongo数据库中不存在与该新的监控数据对应的时间和主机名时,即该主机在该时间点的该监控项的监控数据不存在,则将新的监控数据插入Mongo数据库中,如通过update命令来实现插入。
图2为本发明中计算设备的监控装置一个实施例的结构示意图。
采集模块210采集至少一个监控项的监控数据;保存模块220将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;提取模块230按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据;备份模块240将部分监控数据备份至目标数据库。
本发明的实施例中,通过按照预定提取频率将循环写入RRD数据库中的部分监控数据备份至目标数据库,解决了由于RRD数据库在数据更新时会出现大量数据同时重新读写的情况而对硬件设备造成巨大压力的问题。
采集模块210采集至少一个监控项的监控数据。
其中,采集至少一个监控项的监控数据具体为基于Ganglia监控方式,按照预定采集频率采集至少一个监控项的监控数据。
本发明的实施例中,ganglia监控方式可监控计算设备的至少一个监控项,监控项可包括CPU使用率、内存占用率、硬盘占用率、网络状态、数据库状态、端口状态等。
例如,通过ganglia监控方式以每15秒一次的采集频率采集至少一个监控项的监控数据。
保存模块220将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中。
其中,每台计算机设备的一个监控项对应一个RRD数据库。
具体地,针对与一个监控项相应的RRD数据库,RRD数据库可划分为一个或多个存储区域,每个存储区域可存储与其相应的预定存储个数的监控数据,其中,保存模块220针对一个存储区域,当采集并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新采集到的监控数据覆盖该存储区域中存储的最早采集到的监控数据。
优选地,每个存储区域可存储与其相应的预定记录频率下的监控数据,其中,该装置还包括计算模块(图中未示出),提取模块基于采集到的至少一个监控项的监控数据,通过计算确定在预定记录频率下的该监控项的监控数据;
其中,保存模块220针对一个存储区域,当计算并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新计算得到的监控数据覆盖该存储区域中存储的最早计算到的监控数据。
例如,按照每15秒采集一次的预定采集频率采集到监控数据,基于每分钟1次来计算监控数据时,若当前时间为14:00:00,则利用采集到的13:59:00、13:59:15、13:59:30、13:59:45时的监控数据,进行平均值计算,确定13:59:00至14:00:00这一分钟的监控数据均值。
循环写入的方式包括以下两种情形:
情形一:针对与一个监控项相应的RRD数据库,该RRD数据库仅包括一个存储区域。
例如,一个RRD数据库的一个存储区域可存储240个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1小时所采集到的监控数据;若当前时间为14:00:00,该RRD数据库的全部空间均用于存储1小时所采集到的监控数据,即保存有13:00:00至14:00:00之间的监控数据,监控数据为240个;当以每15秒一次的采集频率继续采集到14:00:15时的监控数据时,按照循环写入的方式将13:00:00的监控数据删除并替换为14:00:15时的监控数据。
情形二:针对与一个监控项相应的RRD数据库,可将该RRD数据库包括多个存储区域,并相应的存储与其各自相应的预定存储个数的监控数据,每个存储区域中可存储的预定存储个数可相同或不同。
例如,将该RRD数据库包括五个存储区域,第一存储区域可存储5760个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1天所采集到的监控数据;第二存储区域可存储1440个监控数据,即当按照每分钟计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储1天所计算得到的每分钟的监控数据均值;第三存储区域存储720个监控数据,即当按照每小时计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储30天所计算得到的每小时的监控数据均值;第四存储区域和第五存储区域以此类推。当前时间为14:00:00,对于RRD数据库中第一存储区域,保存有昨天14:00:00至今天14:00:00之间的监控数据;当继续以每15秒一次的采集频率采集到今天14:00:15时的监控数据时,按照循环写入的方式将昨天14:00:00的监控数据删除并替换为今天14:00:15时的监控数据。
提取模块230按照预定提取频率,从RRD数据库中提取与至少一个监控项相应的部分监控数据。具体地,可利用rrdtool来进行数据的提取。
其中,按照预定提取频率每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数。
针对上述情形一:例如,一个RRD数据库的一个存储区域可存储240个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1小时所采集到的监控数据;在该种情形下,当前时间为14:00:00,按照每1分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取40个,即13:50:00-14:00:00内的监控数据;而在两次提取时间间隔13:59:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为4个,提取的数据个数大于更新保存的数据个数。
针对上述情形二:例如,将该RRD数据库包括五个存储区域,第一存储区域存储5760个监控数据,即当按照每15秒采集一次的预定采集频率采集监控数据时,该RRD数据库可存储1天所采集到的监控数据;第二存储区域存储1440个监控数据,即当按照每分钟计算一次监控数据均值的预定记录频率来计算监控数据时,该RRD数据库可存储1天所计算到的每分钟的监控数据均值;第三至第五存储区域以此类推。对于第一存储区域,当前时间为14:00:00,按照每1分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取40个,即13:50:00-14:00:00内的监控数据;而在两次提取时间间隔13:59:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为4个,提取的数据个数大于更新保存的数据个数;对于第二存储区域,当前时间为14:00:00,按照每10分钟提取一次的预定提取频率,从该RRD数据库的存储区域中提取60个,即13:00:00-14:00:00内的监控数据;而在两次提取时间间隔13:50:00-14:00:00中更新保存至该RRD数据库的存储区域中的数据为10个,提取的数据个数大于更新保存的数据个数。
本优选实施例中,由于采用每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数的方式,即备份数据中存在一定个数的重复数据,因此,当受到网络延迟等问题时,能够保证监控数据备份的完整性,提高了监控数据备份的准确性,为后续利用监控数据绘制监控视图提供了可靠的数据保证。本领域的技术人员应可了解,上述预定提取频率可依据具体情况调整,其每次提取的部分监控数据亦可对应调整,本发明并不以此为限。
备份模块240将部分监控数据备份至目标数据库。
具体地,以多进程并发的方式将部分监控数据备份至非关系型数据库,在此,非关系型数据库的数据保存模式可为Key-Value(键-值);本发明的实施例中,关系型数据库可为Mongo数据库;Mongo数据库是目前在互联网行业常用的一种非关系型数据库(NoSql),其数据存储方式非常灵活。Mongo数据库内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,可以支持较大数据量的同时插入、更新等操作。
采用将RRD数据库中监控数据以多进程并发的方式将监控数据备份至Mongo数据库的方式,可实现监控数据的高速备份,提高了数据备份效率。
具体地,备份模块240包括划分单元(图中未示出)和并发备份单元(图中未示出);
划分单元将每个RRD数据库划分为多个区域,并将每个区域分配至一个进程;并发备份单元通过并发方式,每一进程将与其相应区域中的监控数据至目标数据库。
其中,将RRD数据库划分为多个区域的方式包括:
平均方式划分;例如,将每个RRD数据库平均划分为两个区域,每个区域为整个区域的50%,并将每个区域分配至一个进程;
重叠方式划分;例如,将每个RRD数据库划分为三个区域,每个区域为整个区域的50%,并保持每两个区域具有整个区域的25%的重叠部分,将每个区域分配至一个进程。
优选地,一个RRD数据库中包括多个存储区域,相同存储区域中的监控数据不会分配至不同的进程,即RRD数据库划分为多个区域是依据RRD数据库中的存储区域来划分的。
优选地(参照图2),该方法还包括索引建立模块(图中未示出);索引建立模块在目标数据库中建立每一监控项的监控数据的唯一索引,其中,唯一索引与时间和主机名唯一对应。
具体地,将监控数据备份至目标数据库的过程中,在目标数据库建立每一监控项的监控数据的唯一索引,且唯一索引与时间和主机名唯一对应。
例如,Mongo数据库采用Key-Value的数据存储模式,唯一索引用于对当前key添加value时,不能添加重复的信息。可通过ensureIndex命令中指定“unique:true”来创建唯一索引。
本方案的实施例中,在将部分监控数据备份至目标数据库时,由于每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数,因此在备份至目标数据库时同一主机在同一时间点必然会存在重复的监控数据,通过建立唯一索引可以保证一台主机在同一时间点上的一个监控项对应的监控数据仅有一个,而没有重复数据备份至目标数据库,节约数据存储空间,并为后续利用监控数据进行监控图的准确绘制提供了可靠保证。
进一步地,在步骤S140中,将部分监控数据备份至目标数据库,具体包括:
当目标数据库中存在与监控数据对应的时间和主机名时,将监控数据更新至目标数据库;
当目标数据库中不存在与监控数据对应的时间和主机名时,将监控数据插入至目标数据库。
例如,在Mongo数据库为每一监控项的监控数据建立了唯一索引,且唯一索引与时间和主机名唯一对应,将新的监控数据备份至Mongo数据库时,如果Mongo数据库中已存在与该新的监控数据对应的时间和主机名时,即该主机在该时间点的该监控项的监控数据已存在,则将新的监控数据覆盖更新已存在的监控数据,如通过update命令来实现更新。如果Mongo数据库中不存在与该新的监控数据对应的时间和主机名时,即该主机在该时间点的该监控项的监控数据不存在,则将新的监控数据插入Mongo数据库中,如通过update命令来实现插入。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (20)

1.一种计算设备的监控方法,包括:
采集至少一个监控项的监控数据;
将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;
按照预定提取频率,从所述RRD数据库中提取与至少一个监控项相应的部分监控数据;以及
将所述部分监控数据备份至目标数据库;
其中,按照预定提取频率每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数。
2.根据权利要求1所述的计算设备的监控方法,其特征在于,采集至少一个监控项的监控数据,具体包括:
基于Ganglia监控方式,按照预定采集频率采集至少一个监控项的监控数据。
3.根据权利要求1或2所述的计算设备的监控方法,其特征在于,针对与一个监控项相应的RRD数据库,所述RRD数据库可划分为一个或多个存储区域,每个存储区域可存储与其相应的预定存储个数的监控数据,以及,所述循环写入的方式具体包括:
针对一个存储区域,当采集并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新采集到的监控数据覆盖该存储区域中存储的最早采集到的监控数据。
4.根据权利要求3所述的计算设备的监控方法,其特征在于,每个存储区域可存储与其相应的预定记录频率下的监控数据,其中,该方法还包括:
基于采集到的至少一个监控项的监控数据,通过计算确定在预定记录频率下的该监控项的监控数据;
以及,所述循环写入的方式具体包括:
针对一个存储区域,当计算并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新计算得到的监控数据覆盖该存储区域中存储的最早计算到的监控数据。
5.根据权利要求1所述的计算设备的监控方法,其特征在于,所述目标数据库为非关系型数据库,以及,将所述部分监控数据备份至目标数据库,具体包括:
以多进程并发的方式将所述部分监控数据备份至非关系型数据库。
6.根据权利要求5所述的计算设备的监控方法,其特征在于,以多进程并发的方式将所述监控数据备份至非关系型数据库,具体包括:
将每个RRD数据库划分为多个区域,并将每个区域分配至一个进程;以及
通过并发方式,多个进程中的每一个将与其相应区域中的监控数据备份至非关系型数据库。
7.根据权利要求6所述的计算设备的监控方法,其特征在于,将RRD数据库划分多个区域的方式包括以下至少任一项:
平均方式划分;重叠方式划分。
8.根据权利要求1所述的计算设备的监控方法,其特征在于,该方法还包括:
在所述目标数据库中建立每一监控项的监控数据的唯一索引,其中,所述唯一索引与时间和主机名唯一对应。
9.根据权利要求1所述的计算设备的监控方法,其特征在于,将所述部分监控数据备份至目标数据库,具体包括:
当目标数据库中存在与监控数据对应的时间和主机名时,将监控数据更新至目标数据库;或
当目标数据库中不存在与监控数据对应的时间和主机名时,将监控数据插入至目标数据库。
10.根据权利要求1所述的计算设备的监控方法,其特征在于,所述目标数据库为Mongo数据库。
11.一种计算设备的监控装置,包括:
采集模块,用于采集至少一个监控项的监控数据;
保存模块,用于将采集到的至少一个监控项的监控数据以循环写入的方式保存至与其一一对应的RRD数据库中;
提取模块,用于按照预定提取频率,从所述RRD数据库中提取与至少一个监控项相应的部分监控数据;以及
备份模块,用于将所述部分监控数据备份至目标数据库;
其中,按照预定提取频率每次所提取的部分监控数据的个数大于在两次提取时间间隔中更新保存至RRD数据库中的监控数据的个数。
12.根据权利要求11所述的计算设备的监控装置,其特征在于,所述采集模块具体用于基于Ganglia监控方式,按照预定采集频率采集至少一个监控项的监控数据。
13.根据权利要求11或12所述的计算设备的监控装置,其特征在于,针对与一个监控项相应的RRD数据库,所述RRD数据库可划分为一个或多个存储区域,每个存储区域可存储与其相应的预定存储个数的监控数据,以及,所述保存模块具体用于针对一个存储区域,当采集并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新采集到的监控数据覆盖该存储区域中存储的最早采集到的监控数据。
14.根据权利要求13所述的计算设备的监控装置,其特征在于,每个存储区域可存储与其相应的预定记录频率下的监控数据,以及,该装置还包括:
计算模块,用于基于采集到的至少一个监控项的监控数据,通过计算确定在预定记录频率下的该监控项的监控数据;以及
所述保存模块具体用于针对一个存储区域,当计算并保存至该存储区域中的监控数据的个数达到与该存储区域相应的预定存储个数时,最新计算得到的监控数据覆盖该存储区域中存储的最早计算到的监控数据。
15.根据权利要求11所述的计算设备的监控装置,其特征在于,所述备份模块具体用于以多进程并发的方式将所述部分监控数据备份至非关系型数据库。
16.根据权利要求15所述的计算设备的监控装置,其特征在于,所述备份模块具体包括:
划分单元,用于将每个RRD数据库划分为多个区域,并将每个区域分配至一个进程;以及
并发备份单元,用于通过并发方式,多个进程中的每一个将与其相应区域中的监控数据备份至非关系型数据库。
17.根据权利要求16所述的计算设备的监控装置,其特征在于,将RRD数据库划分多个区域的方式包括以下至少任一项:
平均方式划分;重叠方式划分。
18.根据权利要求11所述的计算设备的监控装置,其特征在于,该装置还包括:
索引建立模块,用于在所述目标数据库中建立每一监控项的监控数据的唯一索引,其中,所述唯一索引与时间和主机名唯一对应。
19.根据权利要求11所述的计算设备的监控装置,其特征在于,所述备份模块具体用于当目标数据库中存在与监控数据对应的时间和主机名时,将监控数据更新至目标数据库;或当目标数据库中不存在与监控数据对应的时间和主机名时,将监控数据插入至目标数据库。
20.根据权利要求11所述的计算设备的监控装置,其特征在于,所述目标数据库为Mongo数据库。
CN201510289744.4A 2015-05-29 2015-05-29 计算设备的监控方法及装置 Active CN104820633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510289744.4A CN104820633B (zh) 2015-05-29 2015-05-29 计算设备的监控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510289744.4A CN104820633B (zh) 2015-05-29 2015-05-29 计算设备的监控方法及装置

Publications (2)

Publication Number Publication Date
CN104820633A CN104820633A (zh) 2015-08-05
CN104820633B true CN104820633B (zh) 2019-03-19

Family

ID=53730934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510289744.4A Active CN104820633B (zh) 2015-05-29 2015-05-29 计算设备的监控方法及装置

Country Status (1)

Country Link
CN (1) CN104820633B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610643B (zh) * 2015-12-23 2019-01-25 深圳市华讯方舟软件技术有限公司 一种云计算监控方法及装置
CN108763003B (zh) * 2018-05-25 2022-02-22 厦门集微科技有限公司 一种测试方法、装置和系统
CN110990219B (zh) * 2019-11-22 2022-05-10 北京浪潮数据技术有限公司 一种基于预测模型的计算机监控方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1191748A1 (en) * 2000-09-26 2002-03-27 Telefonaktiebolaget Lm Ericsson Method for the fair data transfer in a shared bus by means of a distributed arbitration algorithm
CN102347869A (zh) * 2010-08-02 2012-02-08 阿里巴巴集团控股有限公司 设备性能监控的方法、装置和系统
CN102938710A (zh) * 2012-11-14 2013-02-20 北京奇虎科技有限公司 用于大规模服务器的监控系统和方法
CN103001824A (zh) * 2012-11-14 2013-03-27 北京奇虎科技有限公司 一种监控多台服务器的监控系统及监控方法
CN104331505A (zh) * 2014-11-20 2015-02-04 合一网络技术(北京)有限公司 一种基于分布式采集及存储的监控系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1191748A1 (en) * 2000-09-26 2002-03-27 Telefonaktiebolaget Lm Ericsson Method for the fair data transfer in a shared bus by means of a distributed arbitration algorithm
CN102347869A (zh) * 2010-08-02 2012-02-08 阿里巴巴集团控股有限公司 设备性能监控的方法、装置和系统
CN102938710A (zh) * 2012-11-14 2013-02-20 北京奇虎科技有限公司 用于大规模服务器的监控系统和方法
CN103001824A (zh) * 2012-11-14 2013-03-27 北京奇虎科技有限公司 一种监控多台服务器的监控系统及监控方法
CN104331505A (zh) * 2014-11-20 2015-02-04 合一网络技术(北京)有限公司 一种基于分布式采集及存储的监控系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
将RRD数据库中数据导入MYSQL中;西城;《http://www.cppblog.com/yuyan/archive/2012/08/14/187201.html》;20120814;正文第1-2页
跨域联合数据中心的网络虚拟化与监控方法研究;左晓升;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130715;第40-67页

Also Published As

Publication number Publication date
CN104820633A (zh) 2015-08-05

Similar Documents

Publication Publication Date Title
CN106502871B (zh) 监管系统的告警阈值动态配置系统及方法
US10229129B2 (en) Method and apparatus for managing time series database
US9582520B1 (en) Transaction model for data stores using distributed file systems
US10747745B2 (en) Transaction execution commitment without updating of data row transaction status
US7966354B2 (en) Method and computer for supporting construction of backup configuration
CN104820633B (zh) 计算设备的监控方法及装置
US20150293966A1 (en) System and Method for Massively Parallel Processing Database
US20140149368A1 (en) Compressed Representation of a Transaction Token
EP3679487A1 (en) Apparatus and method for real time analysis, predicting and reporting of anomalous database transaction log activity
WO2014060881A1 (en) Consistency group management
WO2014169142A1 (en) Partition level backup and restore of a massively parallel processing database
CN103810231A (zh) 用于机群的维护系统和用于规划维护的方法
WO2013176874A1 (en) Systems and methods for asynchronous schema changes
CN104917836A (zh) 基于集群监控分析计算设备可用性的方法及装置
CN105446893A (zh) 数据存储方法及设备
US20090007136A1 (en) Time management control method for computer system, and computer system
CN103154904B (zh) 操作管理设备、操作管理方法和程序
CN104917639A (zh) 基于集群监控分配数据业务方法及装置
CN104268178A (zh) 应用于电力用户用电信息采集系统的电能量数据写库方法
CN113066543B (zh) 临床研究协调员排程方法、装置、计算机设备和存储介质
CN104077403A (zh) 用于Alcedo数据库的计划任务的处理方法和处理装置
JP2015079445A (ja) プロジェクト管理装置、プロジェクト管理方法、およびプロジェクト管理プログラム
CN110196880B (zh) 异构数据库数据同步方法和装置、存储介质及电子装置
CN104424035A (zh) 对存储访问频率的间歇采样
CN105446832B (zh) 主引导扇区的数据恢复方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right