一种远程服务器监控报警的方法和装置 【技术领域】
本发明涉及服务器监控技术, 尤其涉及一种远程服务器监控报警的方法和装置。背景技术 对于某些行业的重要业务, 需要服务的连续性和不可间断性, 因此需要对这些重 要业务的服务器的运行状况有实时的了解和掌握, 在异常状态下能及时通知相关人员处理 业务异常。
现有的服务器监控报警方式比较单一, 只能对每台服务器单独进行监控, 不能起 到较好的监控效果。
发明内容 本发明的目的是提供一种远程服务器监控报警的方法和装置, 它能够同时监控多 台服务器, 并能够精准定位错误。
为达到上述目的, 本发明采用如下技术方案 :
一种远程服务器监控报警的方法, 包括 :
步骤 1 : 启动监控程序 ;
步骤 2 : 监控程序读取监控列表中的监控条目、 监控优先级和通知条件, 所述监控 条目包括服务器 IP 地址和 / 或监控 URL ;
步骤 3 : 将所述监控条目按照所述监控优先级归类 ;
步骤 4 : 按照所述监控优先级, 逐个扫描对应级别的监控条目 ;
步骤 5 : 读取对应监控条目的协议类型 ;
步骤 6 : 按照对应的协议规则, 模拟访问对应的服务器, 获取其返回信息 ;
步骤 7 : 将所获取的返回信息与所述通知条件进行比较, 如果不符合所述通知条 件, 则认为服务正常, 服务器可用, 否则, 认为服务异常, 服务器不可用, 并进行预警。
进一步地, 所述步骤 7 中, 当服务异常时, 记录异常信息到日志中。
进一步地, 所述步骤 7 中, 当服务异常时, 读取当前监控条目对应的预警号码列表 和预警内容, 向所述预警号码列表中的号码发送所述预警内容。
进一步地, 所述步骤 7 中, 当服务异常时, 判断是否需要自动处理异常, 如果需要, 则发送指定命令到异常服务器上, 处理异常 ; 如果不需要, 则转至步骤 4, 继续扫描下一个 监控条目。
进一步地, 所有监控条目均扫描完毕之后, 所述监控程序睡眠指定的时间, 然后转 至步骤 2。
一种远程服务器监控报警的装置, 包括 :
启动模块, 用于启动监控程序 ;
第一读取模块, 用于读取监控列表中的监控条目、 监控优先级和通知条件, 所述监 控条目包括服务器 IP 地址和 / 或监控 URL ;归类模块, 用于将所述监控条目按照所述监控优先级归类 ; 扫描模块, 用于按照所述监控优先级, 逐个扫描对应级别的监控条目 ; 第二读取模块, 用于读取对应监控条目的协议类型 ; 访问及获取模块, 用于按照对应的协议规则, 模拟访问对应的服务器, 获取其返回信息 ; 比较及预警模块, 用于将所获取的返回信息与所述通知条件进行比较, 如果不符 合所述通知条件, 则认为服务正常, 服务器可用, 否则, 认为服务异常, 服务器不可用, 并进 行预警。
进一步地, 所述比较及预警模块包括 :
记录模块, 用于当服务异常时, 记录异常信息到日志中。
进一步地, 所述比较及预警模块包括 :
第三读取模块, 用于当服务异常时, 读取当前监控条目对应的预警号码列表和预 警内容, 向所述预警号码列表中的号码发送所述预警内容。
进一步地, 所述比较及预警模块包括 :
判断模块, 用于当服务异常时, 判断是否需要自动处理异常, 如果需要, 则发送指 定命令到异常服务器上, 处理异常 ; 如果不需要, 则转至扫描模块, 继续扫描下一个监控条 目。
进一步地, 所述装置还包括 :
休眠模块, 用于在所有监控条目均扫描完毕之后, 使所述监控程序睡眠指定的时 间, 然后转至第一读取模块。
本发明提供的远程服务器监控报警的方法和装置, 能够同时监控多台服务器, 只 需将服务器的 IP 地址、 监控 URL 添加到监控列表上即可。并且, 本发明还设置有监控优先 级, 对于分层的业务系统, 能够按照服务的层次结果来进行监控, 从而精确地定位错误服务 器 IP 地址、 原因, 以便更精准定位错误。
附图说明
图 1 为本发明的远程服务器监控报警的方法一个实施例的流程示意图 ;
图 2 为本发明的远程服务器监控报警的方法另一实施例的流程示意图 ;
图 3 为本发明的远程服务器监控报警的装置的结构示意图。 具体实施方式
为了使本发明的目的、 技术方案及优点更加清楚明白, 下面结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅用以解释本发明, 并不 用于限定本发明。
如图 1 所示, 本发明提供一种远程服务器监控报警的方法, 包括 :
步骤 1 : 启动监控程序 ;
步骤 2 : 监控程序读取监控列表中的监控条目、 监控优先级和通知条件等参数, 所 述监控条目包括服务器 IP(Internet Protocol, 网络协议 ) 地址和 / 或监控 URL(Universal Resource Locator, 统一资源定位符 ) ;步骤 3 : 将所述监控条目按照所述监控优先级归类 ;
步骤 4 : 按照所述监控优先级, 逐个扫描对应级别的监控条目 ;
步骤 5 : 读取对应监控条目的协议类型 ;
本步骤中, 协议类型可以为 TCP(Transmission Control Protocol, 传输控制协 议 )、 HTTP(HyperText Transfer Protocol, 超文本传输协议 )、 SSH(Secure Shell, 安全外 壳协议 )、 TELNET( 远程登录协议 )、 PING(PacketInternet Grope, 因特网包探索器 ), 等等。
步骤 6 : 按照对应的协议规则, 模拟访问对应的服务器, 获取其返回信息 ;
步骤 7 : 将所获取的返回信息与所述通知条件进行比较, 如果不符合所述通知条 件, 则认为服务正常, 服务器可用, 否则, 认为服务异常, 服务器不可用, 并进行预警。
本发明的远程服务器监控报警的方法, 能够同时监控多台服务器, 只需将服务器 的 IP 地址、 监控 URL 添加到监控列表上即可。并且, 本发明还设置有监控优先级, 对于分层 的业务系统, 在某一服务监控出现问题, 不知道是该服务器出现问题, 还是该服务器依赖的 服务器出现问题时, 通过所设置的监控优先级, 按照服务的层次结果来进行监控, 就能够精 确地定位错误服务器 IP 地址、 原因, 以便更精准定位错误。当然, 在设定监控条目的监控优 先级时, 优选先按照各监控条目处于业务系统中的层次来进行设定, 然后再结合监控重要 性等其它因素来进行设定。 本发明中, 还可以灵活地设置所述通知条件, 例如, 设置为 HTTP 响应头内容是否 是 202、 400、 404, 返回内容是否是指定内容等。 当服务器返回信息符合通知条件 ( 或者符合 返回内容规则 ), 则认为服务异常, 服务器不可用, 此时就进行预警 ; 否则, 认为服务正常, 服务器可用, 不进行预警。
如图 2 所示, 前述步骤 7 中, 当服务异常时, 优选记录所有的异常信息到日志中, 以 供日后分析使用 ( 参见图 2 中的步骤 71)。
为了实现灵活、 及时地报警, 前述步骤 7 中, 当服务异常时, 还优选读取当前监控 条目对应的预警号码列表和预警内容, 向所述预警号码列表中的号码发送所述预警内容 ( 参见图 2 中的步骤 72)。当然, 该预警号码列表和预警内容需要由用户预先在监控程序中 设置, 预警号码列表可以为相关人员的手机号码列表, 而预警内容可以为与异常相关的报 警信息。
同时, 为了灵活地处理异常, 前述步骤 7 中, 当服务异常时, 还优选判断当前监控 条目是否需要自动处理异常, 如果需要, 则发送指定命令到异常服务器上, 处理异常 ; 如果 不需要, 则转至步骤 4, 继续扫描下一个监控条目 ( 参见图 2 中的步骤 73)。有些时候, 一些 异常可能会比较容易处理, 例如通过重启服务器或是让服务器执行某个动作即可克服, 此 时则可以向服务器发送命令, 如 “服务器重启” 或是 “服务器执行 ×× 动作” , 等等。
另外, 对于服务器的监控, 为了不影响服务器的正常工作, 优选间隔一段时间进行 监控, 因此, 上述方法还优选在所有监控条目均扫描完毕之后, 使所述监控程序睡眠指定的 时间 ( 如 1 分钟、 5 分钟等 ), 然后转至步骤 2( 参见图 2 中的步骤 8)。
综上, 本发明能同时监控多台服务器, 只需将服务器的 IP 地址、 监控 URL 添加到监 控列表上即可。并且, 本发明还设置有监控优先级, 对于分层的业务系统, 能够按照服务的 层次结果来进行监控, 从而精确地定位错误服务器 IP 地址、 原因, 以便更精准定位错误。另 外, 本发明还能够实现灵活、 实时的状态通知, 能准确、 及时地将服务器状态发送给相关人
员, 起到及时预警的作用。
与上述的远程服务器监控报警的方法相对应, 本发明还提供一种远程服务器监控 报警的装置, 如图 3 所示, 包括 :
启动模块 301, 用于启动监控程序 ;
第一读取模块 302, 用于读取监控列表中的监控条目、 监控优先级和通知条件, 所 述监控条目包括服务器 IP 地址和 / 或监控 URL ;
归类模块 303, 用于将所述监控条目按照所述监控优先级归类 ;
扫描模块 304, 用于按照所述监控优先级, 逐个扫描对应级别的监控条目 ;
第二读取模块 305, 用于读取对应监控条目的协议类型 ;
访问及获取模块 306, 用于按照对应的协议规则, 模拟访问对应的服务器, 获取其 返回信息 ;
比较及预警模块 307, 用于将所获取的返回信息与所述通知条件进行比较, 如果不 符合所述通知条件, 则认为服务正常, 服务器可用, 否则, 认为服务异常, 服务器不可用, 并 进行预警。
本发明提供的远程服务器监控报警的方法和装置, 能够同时监控多台服务器, 只 需将服务器的 IP 地址、 监控 URL 添加到监控列表上即可。并且, 本发明还设置有监控优先 级, 对于分层的业务系统, 能够按照服务的层次结果来进行监控, 从而精确地定位错误服务 器 IP 地址、 原因, 以便更精准定位错误。 优选地, 所述比较及预警模块包括 :
记录模块, 用于当服务异常时, 记录异常信息到日志中。
优选地, 所述比较及预警模块包括 :
第三读取模块, 用于当服务异常时, 读取当前监控条目对应的预警号码列表和预 警内容, 向所述预警号码列表中的号码发送所述预警内容。
优选地, 所述比较及预警模块包括 :
判断模块, 用于当服务异常时, 判断是否需要自动处理异常, 如果需要, 则发送指 定命令到异常服务器上, 处理异常 ; 如果不需要, 则转至扫描模块, 继续扫描下一个监控条 目。
优选地, 所述装置还包括 :
休眠模块, 用于在所有监控条目均扫描完毕之后, 使所述监控程序睡眠指定的时 间, 然后转至第一读取模块。
以上所述仅为本发明的较佳实施例, 并非用来限定本发明的实施范围 ; 如果不脱 离本发明的精神和范围, 对本发明进行修改或者等同替换, 均应涵盖在本发明权利要求的 保护范围当中。