一种系统主机监控方法及装置与流程

文档序号:14217636阅读:429来源:国知局

本发明涉及监控技术,具体的讲是一种系统主机监控方法及装置.



背景技术:

目前,系统或主机等设备的维护主要是通过巡检进行,维护人员定期登录到主机上,查看磁盘空间,进行清理,查看服务是否正常,或者自己编写个简单的批处理脚本,系统定时调度执行。然后维护人员每天定时登上主机查看收集到的结果信息。随着需要维护的系统和主机越来越多,主动登录到各台主机上去查看主机和服务可用性的巡检方式需要消耗大量的人力和时间。而且如果在巡检间隔出现的一些问题也不能够及时发现,从而也会导致故障的发生。

现有技术中,对于大规模系统和主机维护这种巡检和主动轮询的方式已经无法满足业务发展要求。由于系统环境复杂,现有技术中管理的系统有aix,hp-ux,solaris,linux4等多种操作系统,其中,aix有6,7两个版本,linux同样有多个版本,如果像目前的zabbix采用c等编译性语言开发,需要针对不同的系统变异出相应的匹配版本,需要维护每个主机的操作系统版本信息和对应操作系统版本的探针分发包。管理复杂性大幅提高,而如果采用java跨平台开发语言,又不是所有的系统都保证有java运行环境,不能保证探针的普适性。



技术实现要素:

未降低维护工作量,提供故障的预判能领,本发明实施例提供了一种系统主机监控方法,用于对系统中的主机状态和性能进行监控,方法包括:

在待监控系统的主机部署探针;

利用所述探针对被监控系统中的主机进行监控。

本发明实施例中,所述的在待监控系统的主机部署探针包括:

用perl开发语言在被监控系统的主机操作系统的适配层部署探针。

本发明实施例中,所述的利用所述探针对被监控系统中的主机进行监控包括:

利用所述探针采集被监控系统中的主机的监控数据;

将采集到的所述的监控数据上传到监控服务器。

本发明实施例中,所述的利用所述探针对被监控系统中的主机进行监控还包括:

根据预设的监控数据阈值和探针采集到的监控数据生成告警信息;

将生成的告警信息上传到所述监控服务器;

所述监控服务器根据预设的通知策略将告警信息通知维护人员。

本发明实施例中,所述的将采集到的所述的监控数据上传到监控服务器包括:

将采集到的监控数据上传至预先设置的各主机对应的代理服务器;

通过所述代理服务器将所述监控数据上传至监控服务器。

本发明实施例中,所述的在待监控系统的主机部署探针包括:

预先将待监控系统中的主机的关系组织成树形结构;

按照预先设置将探针部署到树形结构中的各主机。

同时,本发明还公开一种系统主机监控装置,用于对系统中的主机状态和性能进行监控,监控装置包括:待监控系统的主机和监控服务器;其中,

所述的待监控系统的主机具有预先部署的探针,利用所述探针对被监控系统中的主机进行监控,采集监控数据;

所述的监控服务器,用于接收采集到的监控数据。

本发明实施例中,所述的预先部署的探针包括:

用perl开发语言在被监控系统的主机操作系统的适配层部署的探针。

本发明实施例中,所述的监控装置还包括:

告警装置,根据预设的监控数据阈值和探针采集到的监控数据生成告警信息,并将生成的告警信息上传到所述监控服务器。

本发明实施例中,所述的装置还包括:

代理服务器,用于接收预先设置的对应的待监控主机的监控数据,将监控数据上传至监控服务器。

本发明能够把分布在各地的系统和主机信息收集到一起,集中监控,并且服务器可自动判断是否可能出现磁盘空间满,cpu负载过高,等等可能引起服务可用性的问题或者降低服务体验的事件,能够自动处理的自动处理,同时可以实现将不能自动处理的就通知给维护人员,进行人工干预。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种系统主机监控方法的流程图;

图2为本实施例中网卡子网自动检测设计结构示意图;

图3为本发明实施例中抑制系统主机监控系统的示意图;

图4为本发明实施例的软件通信图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种系统主机监控方法,用于对系统中的主机状态和性能进行监控,如图1所示,本方法包括:

步骤s101,在待监控系统的主机部署探针;

步骤s102,利用所述探针对被监控系统中的主机进行监控。

本发明实施例中,在待监控系统的主机部署探针包括:

用perl开发语言在被监控系统的主机操作系统的适配层部署探针。本发明实施例中,软件运行环境为perl,选择这个的原因是由于所有的unix,linux系统都自带perl解释器,因此本软件的部署不受系统限制。可运行在任何这类系统上。

具体的,本发明实施例中,为了解决被监控系统中的各主机的多种操作系统及版本的适应问题,采取了以下方案:

a.选用perl作为开发语言,由于perl运行环境是所有linux,unix操作系统自带运行环境,所以确保了被监控系统中所有操作系统的正常运行。

b.而对于不同操作系统的差异,引入操作系统适配层,结合操作系统版本自检功能,确保探针运行时根据检测到的不同操作系统及版本,将程序执行路径引到不同的操作系统探针实现,解决了多系统的兼容问题。

本发明实施例中,所述的利用所述探针对被监控系统中的主机进行监控包括:

利用所述探针采集被监控系统中的主机的监控数据;

将采集到的所述的监控数据上传到监控服务器。

本发明实施例中,所述的利用所述探针对被监控系统中的主机进行监控还包括:

根据预设的监控数据阈值和探针采集到的监控数据生成告警信息;

将生成的告警信息上传到所述监控服务器;

所述监控服务器根据预设的通知策略将告警信息通知维护人员。

本发明实施例中,所述的将采集到的所述的监控数据上传到监控服务器包括:

将采集到的监控数据上传至预先设置的各主机对应的代理服务器;

通过所述代理服务器将所述监控数据上传至监控服务器。

本发明实施例中,所述的在待监控系统的主机部署探针包括:

预先将待监控系统中的主机的关系组织成树形结构;

按照预先设置将探针部署到树形结构中的各主机。

本发明实施例中,为解决对被监控系统中复杂网络的适应问题,本发明实施例中采取的方案是:

a.将被监控系统中的主机的关系组织成树结构,根节点有子树的信息,而子节点有其父节点的信息;本发明实施例中,组织成树形结构,一方面是保证信息传递通过代理网络上可达,另一方面保证了按项目组织监控,每个项目有1台代理机,作为该项目的父节点;

b.由于不同的子网需要经过不同的网卡到达,因此对于不同子网的主机其对应的父节点网络地址应该是父节点主机不同的网卡地址,所以本发明实例中设计一个网卡子网自动检测算法,确保任意子网的主机都能知道其父节点的网络可达信息,实现代理到不同子网下的主机网络可达。如图2所示,为本实施例中网卡子网自动检测设计结构示意图。

c.本发明实施例中,在非叶子节点主机上设计了一个转发代理程序,用于实现将被监控主机的监控信息传输到代理服务器中,将收到的包经过校验后向父节点转发,如此一级级将数据传回服务器。

探针功能扩展灵活,设计了一个插件机制:

a.将可执行插件放到被监控主机探针安装目录下,插件名称为模块名.调度间隔,输出信息符合插件数据输出格式,即可自动被调度执行,输出的数据可进行入库统计和定制阀值告警。

b.本发明实施例中,不限制插件开发语言,python语言也可,只要系统具备相应的运行环境。

系统的健壮性:

系统通过主动监测和被动接收心跳方式实现服务器端与代理服务器及被管主机探针间的可用性,保障系统平添的稳定性。同时系统在发现探针异常后自动触发修复机制,保障探针的持续可用性,主要实现方式如下。

1.在数据分析服务器端和代理服务器端都部署了watchdog程序,该程序每分钟对探针进程进行监测,有问题发出告警。

2.探针进程有自管理功能,通过心跳日志来检测,如果发现日志异常会自动重启,并将信息(探针状态,异常情况和启动结果)通报给代理服务器或数据分析服务的管理控制台。

同时,本发明还公开一种系统主机监控装置,用于对系统中的主机状态和性能进行监控,包括:待监控系统的主机和监控服务器;如图3所示,为本实施例公开的监控系统的示意图,

待监控系统的主机201具有预先部署的探针,利用探针对被监控系统中的主机进行监控,采集监控数据;

监控服务器202,用于接收采集到的监控数据,通过互联网接收监控数据。

同时,本实施例的监控装置还包括:代理服务器,用于接收预先设置的对应的待监控主机的监控数据,监控数据通过代理服务器转发上传至监控服务器。

本发明实施例的软件拓扑结构包括:

探针部分:部署在所有待监控的主机或服务器上,自动调度运行,采集主机和服务数据,根据统一的告警阀值产生告警通知或者只是收集性能信息。

代理部分:负责将探针部分的信息转发到服务端

数据处理服务端:负责统一收集各地探针收集的信息,并根据预先设置的通知策略通过mail、微信等方式通知维护人员;同时,服务器端还负责统一维护各地探针的版本,将新版本的探针更新到各地服务器上。

图4为本发明实施例的软件通信图。

本发明的技术方案,能够降低维护工作量,提高故障的预判能力,能够把分布在各地的系统和主机信息收集到一起,集中监控,并且服务器端可以实现自动判断是否可能出现磁盘空间满,cpu负载过高,等等可能引起服务可用性的问题或者降低服务体验的事件,能够自动处理的自动处理,对于不能自动处理的就通知给维护人员,进行人工干预。

选用perl作为开发语言,引入操作系统适配层,解决了多种操作系统及版本的适应问题,结合操作系统版本自检功能,确保探针运行时根据检测到的不同操作系统及版本,将程序执行路径引到不同的操作系统探针实现,解决了多系统的兼容问题。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1