CLOUD COMPUTING MONITORING METHOD AND DEVICE
一种云计算监控方法及装置 技术领域 本发明属于云计算监控运维领域, 尤其涉及一种云计算监控方法及装置。 背景技术 Ceilometer是 OpenStack中的一个子项目, 它像一个漏斗一样, 能把 OpenStack内 部发生的几乎所有的事件都收集起来, 然后为计费和监控以及其它服务提供数 据支撑。 然而, 在云计算监控运维领域中, 目前的 Ceilometer项目均是默认使用 SNMP作 为物理机监控, 自定义监控选项的过程繁琐, 且监控选项难以扩展, 不利于提 高监控效率。 其原因在于, 若想自定义监控选项, 则需要修改 SNMP MIB库, 而 SNMP MIB库修改起来相对复杂, 部分监控选项不能修改, 难以扩展 , 幵发人员难以编写监控脚本, 不利于提高监控效率, 也无法满足 Ceilometer项 目对监控数据的采集需求。 技术问题 本发明实施例的目的在于提供一种云计算监控方法, 旨在解决目前的 Ceilomete r项目默认使用 SNMP作为物理机监控, 自定义监控选项的过程繁琐, 且监控选 项难以扩展, 不利于提高监控效率的问题。 问题的解决方案 技术解决方案 本发明实施例是这样实现的, 一种云计算监控方法, 包括: 网络监视工具 Nagios根据配置的自定义监控选项, 采集设备的监控数据, 将采 集到的监控数据写入 Ndoutils数据库; [0007] 监控组件 Ceilometer连接所述 Ndoutils数据库, 读取并解析所述 Ndoutils数据库 中的监控数据, 将解析的监控数据写入 Ceilometer数据库; [0008] 监控组件 Ceilometer根据当前写入的监控数据以及历史保存的监控数据, 对所 述设备进行监控。
本发明实施例的另一目的在于提供一种云计算监控装置, 包括: Ndoutils数据库写入模块, 用于网络监视工具 Nagios根据配置的自定义监控选 项, 采集设备的监控数据, 将采集到的监控数据写入 Ndoutils数据库; [0011] Ceilometer数据库写入模块, 用于监控组件 Ceilometer连接所述 Ndoutils数据库 , 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilome ter数据库; 告警模块, 用于监控组件 Ceilometer根据当前写入的监控数据以及历史保存的 监控数据, 对所述设备进行监控。 发明的有益效果 有益效果 在本发明实施例中, 监控组件 Ceilometer连接所述 Ndoutils数据库, 读取并解析 所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilometer数据库。 通 过 ndoutils数据库作为中转, Nagios把监控数据写入数据库, Ceilometer定吋读取 该数据库, 解析并存入 ceilometer数据库。 解决了目前的 Ceilometer项目默认使用 SNMP作为物理机监控, 自定义监控选项的过程繁琐, 且监控选项难以扩展, 不 利于提高监控效率的问题。 其有益效果在于以下三方面, 详述如下: 第一方面, 采用 Nagios替换 SNMP, OpenStack项目间接拥有了 Nagios监控功能 , Ceilometer可通过 Nagios来监控物理机、 路由器等设备信息; 第二方面, Nagios借用 Ceilometer分布式告警机制, 可对硬件设备自定义告警 , 避免了出现自身的报警机制缺乏灵活的情况; 第三方面, 监控组件 Ceilometer和网络监视工具 Nagios有机结合, 易于维护和 幵发, 幵发人员可通过 Ceilometer的 UI实现维护功能, 同吋对于新扩展的监控选 项都可以很少的代码量实现, 节省了维护和幵发费用, 同吋又具备足够的灵活 性, 可以根据不同需求进行设计不同的监控选项。 对附图的简要说明 附图说明 图 1是本发明实施例提供的云计算监控方法的实现流程图; 图 2是本发明实施例提供的云计算监控方法步骤 S101的实现流程图;
图 3是本发明实施例提供的云计算监控方法步骤 S102的实现流程图; [0020] 图 4是本发明实施例提供的云计算监控装置的结构框图; [0021] 图 5是本发明实施例提供的云计算监控装置的结构示意图。 本发明的实施方式 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例 , 对本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用 以解释本发明, 并不用于限定本发明。 实施例一 图 1是本发明实施例提供的云计算监控方法的实现流程图, 详述如下: 在步骤 S101中, 网络监视工具 Nagios根据配置的自定义监控选项, 采集设备的 监控数据, 将采集到的监控数据写入 Ndoutils数据库; [0026] 在步骤 S102中, 监控组件 Ceilometer连接所述 Ndoutils数据库, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilometer数据库; [0027] 在步骤 S 103中, 监控组件 Ceilometer根据当前写入的监控数据以及历史保存的 监控数据, 对所述设备进行监控。 [0028] 其中, 历史保存的监控数据包括多次写入的监控数据。 [0029] 其中, 步骤 S 103, 具体为: 获取当前写入的监控数据以及历史保存的监控数据的生成吋间; 当前写入的监控数据以及历史保存的监控数据的生成吋间是同一预设吋间段吋 , 将当前写入的监控数据和历史保存的监控数据相比较, 判断当前写入的监控 数据是否异常; 当前写入的监控数据异常吋, 利用分布式告警机制, 对所述设备进行告警。 [0033] 在本发明实施例中, 在 Ceilometer可编程特性的基础上, 结合 Nagios的监控性 育 , 达到较广范围的监控数据采集, 此外, Ceilometer融入了 Nagios进来, 幵发 人员可以动手写监控脚本来收集数据了, 节省了维护和幵发费用, 同吋又具备 足够的灵活性, 可以根据不同需求进行设计不同的监控选项。 [0034] 实施例二
图 2是本发明实施例提供的云计算监控方法步骤 S101的实现流程图, 详述如下 [0036] 在步骤 S201中, Nagios配置自定义监控选项; [0037] 在步骤 S202中, 配置 Ndoutils数据库; 在步骤 S203中, 根据配置的自定义监控选项以及扩展控件 NRPE, 定吋触发远 程主机监控脚本, 取得返回值; [0039] 在步骤 S204中, 根据所述返回值, 生成监控数据, 将生成的监控数据写入 Ndo utils数据库。 [0040] 仞 I三 图 3是本发明实施例提供的云计算监控方法步骤 S102的实现流程图, 详述如下 [0042] 在步骤 S301中, 监控组件 Ceilometer写入 Ndoutils数据关键表的模型; 在步骤 S302中, 通过预配置的采集接口连接所述 Ndoutils数据库, 根据所述模 型, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilo meter数据库。 [0044] 删 本发明实施例描述了监控数据的组成, 详述如下: 所述监控数据包括监控主机资源数据、 监控网络服务数据、 并行服务检査机制 数据中的至少一种。 [0047] 实施例五 本发明实施例描述了云计算监控方法步骤 S302的实现流程, 详述如下: 通过预配置的采集接口连接所述 Ndoutils数据库, 读取并解析所述 Ndoutils数据 库中的监控主机资源数据, 将解析的监控主机资源数据写入 Ceilometer数据库。 [0050] 实施例六 图 4是本发明实施例提供的云计算监控装置的结构框图, 该装置可以运行于电 子设备中。 为了便于说明, 仅示出了与本实施例相关的部分。 [0052] 一种云计算监控装置, 包括: Ndoutils数据库写入模块 41, 用于网络监视工具 Nagios根据配置的自定义监控
选项, 采集设备的监控数据, 将采集到的监控数据写入 Ndoutils数据库; [0054] Ceilometer数据库写入模块 42, 用于监控组件 Ceilometer连接所述 Ndoutils数据 库, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilo meter数据库; 告警模块 43, 用于监控组件 Ceilometer根据当前写入的监控数据以及历史保存 的监控数据, 对所述设备进行监控。 [0056] 作为本发明实施例的一种实施方式, 在所述云计算监控装置中, 所述 Ndoutils 数据库写入模块, 包括: 第一配置单元, 用于 Nagios配置自定义监控选项; [0058] 第二配置单元, 用于配置 Ndoutils数据库; 触发单元, 用于根据配置的自定义监控选项以及扩展控件 NRPE, 定吋触发远 程主机监控脚本, 取得返回值; [0060] Ndoutils数据库写入单元, 用于根据所述返回值, 生成监控数据, 将生成的监 控数据写入 Ndoutils数据库。 [0061] 作为本发明实施例的一种实施方式, 在所述云计算监控装置中, 所述云计算监 控通路嵌入模块, 还包括: [0062] 模型写入单元, 用于监控组件 Ceilometer写入 Ndoutils数据关键表的模型; [0063] Ceilometer数据库写入单元, 用于通过预配置的采集接口连接所述 Ndoutils数据 库, 根据所述模型, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监 控数据写入 Ceilometer数据库。 [0064] 作为本发明实施例的一种实施方式, 在所述云计算监控装置中, 所述监控数据 包括监控主机资源数据、 监控网络服务数据、 并行服务检査机制数据中的至少 一种。 作为本发明实施例的一种实施方式, 在所述云计算监控装置中, 所述 Ceilomete r数据库写入单元用于通过预配置的采集接口连接所述 Ndoutils数据库, 读取并解 析所述 Ndoutils数据库中的监控主机资源数据, 将解析的监控主机资源数据写入 Ceilometer数据库。 本发明实施例提供的装置可以应用在前述对应的方法实施例中, 详情参见上述
实施例的描述, 在此不再赘述。 实施例七 请参考图 5, 本发明提供了一种云计算监控装置 200的示意图。 基于云计算监控 装置 200可能是包含计算能力的主机服务器, 或者是个人计算机 PC, 或者是可携 带的便携式计算机或终端等等, 本发明具体实施例并不对云计算监控装置的具 体实现做限定。 云计算监控装置 200包括: 处理器 (processor) 210, 通信接口 (Communications Interface) 220, 存储器 (memory) 230, 总线 240。 处理器 210, 通信接口 220, 存储器 230通过总线 240完成相互间的通信。 通信接口 220, 用于与外界设备, 例如, 个人电脑、 服务器等通信。 处理器 210, 用于执行程序 232。 具体地, 程序 232可以包括程序代码, 所述程序代码包括计算机操作指令。 [0074] 处理器 210可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC (Applicatio n Specific Integrated Circuit) , 或者是被配置成实施本发明实施例的一个或多个 集成电路。 存储器 230, 用于存放程序 232。 存储器 230可能包含高速 RAM存储器, 也可能 还包括非易失性存储器 (non-volatile memory) , 例如至少一个磁盘存储器。 程 序 232具体可以包括: 其中处理器、 通信接口、 存储器通过总线完成相互间的通信; 所述通信接口, 用于与外界设备通信; 所述处理器, 用于执行程序; 所述存储器, 用于存放所述程序; 所述程序包括: Ndoutils数据库写入模块, 用于网络监视工具 Nagios根据配置的自定义监控选 项, 采集设备的监控数据, 将采集到的监控数据写入 Ndoutils数据库; Ceilometer数据库写入模块, 用于监控组件 Ceilometer连接所述 Ndoutils数据库 , 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilome ter数据库;
告警模块, 用于监控组件 Ceilometer根据当前写入的监控数据以及历史保存的 监控数据, 对所述设备进行监控。 [0084] 所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 上述描述的系 统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应过程, 在 此不再赘述。 在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统、 装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现吋可以有另外的 划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统, 或一些 特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些通信接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其它的形式。 所述作为分离部件说明的单元可以是或者也可以不是物理上分幵的, 作为单元 显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可 以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部单元 来实现本实施例方案的目的。 另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可 以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元中。 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用吋, 可 以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明的技术方案 本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产 品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令 用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等) 执 行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括: U盘 、 移动硬盘、 只读存储器 (ROM, Read-Only Memory) 、 随机存取存储器 (RAM, Random Access Memory) 、 磁碟或者光盘 等各种可以存储程序代码的介质。 [0089] 以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变 化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以 权利要求的保护范围为准。
A cloud computing monitoring method and device. The cloud computing monitoring method comprises: a network monitoring tool Nagios collects monitoring data of an apparatus according to a configured customized monitoring option, and writes the collected monitoring data into an Ndoutils database; a monitoring component Ceilometer connects to the Ndoutils database, reads and parses the monitoring data in the Ndoutils database, and then writes the parsed monitoring data into a Ceilometer database; and the monitoring component Ceilometer monitors the apparatus according to monitoring data being written and historical saved monitoring data. The present invention provides three advantages: firstly, Ceilometer is able to monitor information of an apparatus, such as a physical machine and a router, via Nagios; secondly, by using a Ceilometer distributed alarm mechanism, Nagios is able to customize an alarm for a hardware apparatus, thus addressing a lack of flexibility in an alarm mechanism itself; thirdly, maintenance and development are facilitated, enabling a design including different monitoring options according to different requirements. 权利要求书 一种云计算监控方法, 其特征在于, 包括: 网络监视工具 Nagios根据配置的自定义监控选项, 采集设备的监控数 据, 将采集到的监控数据写入 Ndoutils数据库; 监控组件 Ceilometer连接所述 Ndoutils数据库, 读取并解析所述 Ndoutil s数据库中的监控数据, 将解析的监控数据写入 Ceilometer数据库; 监控组件 Ceilometer根据当前写入的监控数据以及历史保存的监控数 据, 对所述设备进行监控。 如权利要求 1所述的云计算监控方法, 其特征在于, 所述网络监视工 具 Nagios根据配置的自定义监控选项, 采集设备的监控数据, 将采集 到的监控数据写入 Ndoutils数据库, 具体为: Nagios配置自定义监控选项; 配置 Ndoutils数据库; 根据配置的自定义监控选项以及扩展控件 NRPE, 定吋触发远程主机 监控脚本, 取得返回值; 根据所述返回值, 生成监控数据, 将生成的监控数据写入 Ndoutils数 据库。 如权利要求 1所述的云计算监控方法, 其特征在于, 所述监控组件 Cei lometer连接所述 Ndoutils数据库, 读取并解析所述 Ndoutils数据库中的 监控数据, 将解析的监控数据写入 Ceilometer数据库, 具体为: 监控组件 Ceilometer写入 Ndoutils数据关键表的模型; 通过预配置的采集接口连接所述 Ndoutils数据库, 根据所述模型, 读 取并解析所述 Ndoutils数据库中的监控数据, 将解析的监控数据写入 Ceilometer数据库。 如权利要求 3所述的云计算监控方法, 其特征在于, 所述监控数据包 括监控主机资源数据、 监控网络服务数据、 并行服务检査机制数据中 的至少一种。 如权利要求 4所述的云计算监控方法, 其特征在于, 所述当所述监控
数据为监控主机资源数据吋, 所述通过预配置的采集接口连接所述 N doutils数据库, 根据所述模型, 读取并解析所述 Ndoutils数据库中的 监控数据, 将解析的监控数据写入 Ceilometer数据库, 具体为: 通过预配置的采集接口连接所述 Ndoutils数据库, 读取并解析所述 Nd outils数据库中的监控主机资源数据, 将解析的监控主机资源数据写 入 Ceilometer数据库。 [权利要求 6] —种云计算监控装置, 其特征在于, 包括: Ndoutils数据库写入模块, 用于网络监视工具 Nagios根据配置的自定 义监控选项, 采集设备的监控数据, 将采集到的监控数据写入 Ndoutil s数据库; Ceilometer数据库写入模块, 用于监控组件 Ceilometer连接所述 Ndoutil s数据库, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监 控数据写入 Ceilometer数据库; 告警模块, 用于监控组件 Ceilometer根据当前写入的监控数据以及历 史保存的监控数据, 对所述设备进行监控。 [权利要求 7] 如权利要求 6所述云计算监控装置, 其特征在于, 所述 Ndoutils数据库 写入模块, 包括: 第一配置单元, 用于 Nagios配置自定义监控选项; 第二配置单元, 用于配置 Ndoutils数据库; 触发单元, 用于根据配置的自定义监控选项以及扩展控件 NRPE, 定 吋触发远程主机监控脚本, 取得返回值; Ndoutils数据库写入单元, 用于根据所述返回值, 生成监控数据, 将 生成的监控数据写入 Ndoutils数据库。 [权利要求 8] 如权利要求 6所述云计算监控装置, 其特征在于, 所述云计算监控通 路嵌入模块, 还包括: 模型写入单元, 用于监控组件 Ceilometer写入 Ndoutils数据关键表的模 型; Ceilometer数据库写入单元, 用于通过预配置的采集接口连接所述 Nd
outils数据库, 根据所述模型, 读取并解析所述 Ndoutils数据库中的监 控数据, 将解析的监控数据写入 Ceilometer数据库。 如权利要求 8所述云计算监控装置, 其特征在于, 所述监控数据包括 监控主机资源数据、 监控网络服务数据、 并行服务检査机制数据中的 至少一种。 如权利要求 9所述云计算监控装置, 其特征在于, 所述 Ceilometer数据 库写入单元用于通过预配置的采集接口连接所述 Ndoutils数据库, 读 取并解析所述 Ndoutils数据库中的监控主机资源数据, 将解析的监控 主机资源数据写入 Ceilometer数据库。 一种云计算监控装置, 其特征在于, 所述云计算监控装置包括: 处理 器, 通信接口, 存储器和总线; 其中处理器、 通信接口、 存储器通过总线完成相互间的通信; 所述通信接口, 用于与外界设备通信; 所述处理器, 用于执行程序; 所述存储器, 用于存放所述程序; 所述程序包括: Ndoutils数据库写入模块, 用于网络监视工具 Nagios根据配置的自定 义监控选项, 采集设备的监控数据, 将采集到的监控数据写入 Ndoutil s数据库; Ceilometer数据库写入模块, 用于监控组件 Ceilometer连接所述 Ndoutil s数据库, 读取并解析所述 Ndoutils数据库中的监控数据, 将解析的监 控数据写入 Ceilometer数据库; 告警模块, 用于监控组件 Ceilometer根据当前写入的监控数据以及历 史保存的监控数据, 对所述设备进行监控。