当前位置:文档之家› 服务器监控系统实现方案

服务器监控系统实现方案

3 监控对象的选择
要开发一个服务器监控软件, 首先要确定监控目 标, 即有哪些项目需要监控。 服务器故障大致可分为加 电自检故障、 操作系统安装启动故障和系统运行故障这 3 大类, 其中最常见的是第三类系统运行故障, 而且绝 大多数是由软件方面原因引起。 可以从服务器提供可靠 服务需要的条件, 来反推需要监控的内容。
服务器监控系统实现方案
徐波,王建英 (广州市中西医结合医院信息科,广州 510800)
摘 要: 服务器监控是机房运维管理的一项重要内容,同时也是一种行之有效的管理方法,但目前市 面上很难找到符合实际需要的服务器监控软件。解决办法之一是找软件公司按需定制,但定制开发的 成本很高,很多单位选择了自主开发。这里给出一个服务器监控系统的自主开发实现方案,主要包括 监控对象的选择、软件架构设计和技术方案的选择 3 个方面。 关键词: 服务器;监控;方案;运维 DOI:10.16184/prg.2019.03.011
尽管服务器采用了大量的软、 硬件技术, 但其稳 定性和可靠性离人们的期望还是有不小的距离, 服务 器响应变慢、 服务中断的现象仍时有发生。 尽管提高 软、 硬件的可靠性是软、 硬件厂商需要考虑的事情, 但是对最终用户来说, 对服务器的软、 硬件进行实时 监控, 及时发现和处理问题, 无疑能大大提高系统的 可用性。
1 服务器监控的必要性
服务器是网络中能对其他机器提供某些服务的计算 机系统, 它存储、 处理网络上 80%的数据和信息, 被称 为网络的灵魂[1]。 由于服务器需要长时间不间断地工作, 因此对稳定性和可靠性有很高要求。 计算机的可靠性可 用 MTTF (Mean Time To Failure, 平均无故 障时间 ) 来 度量, 平均无故障时间越长系统的可靠性就越高。 对用 户而言, 高可靠性也就意味着高可用性, 意味着可以随 时随地从系统获得高质量的服务。
2 服务器监控软件的现状
对服务器进行监控, 显然用软件方式要比人工方式 更加高效和快捷。 与网络管理类似, 服务器管理也分为 带内 (in-band) 管理和带外 (out-of-band) 管理[2], 带 内管理的控制信息与数据信息使用同一物理通道进行传 送, 而带外管理则是使用不同的物理通道。 带外管理可
有些品牌的服务器厂商提供基于带外管理的服务器 管理软件 (属增值服务, 需另外购买), 但不同厂商之 间存在一定的兼容性问题。 目前大多数的服务器监控软 件还是基于带内管理的。
除 了 IPMI 以 外 , 常 用 的 监 控 技 术 手 段 还 有 : JMX ( Java Management Extensions, Java 管 理 扩 展 ) 、 SSH (Secure Shell)、 SNMP (Simple Network Management Protocol, 简 单 网 络 管 理 协 议 ) 、 WMI ( Windows Management Instrumentation, Windows 管 理 规 范 ) 和 WBEM (Web-Based Enterprise Management, 基 于 Web 的 企 业 管 理 )。 其 中 JMX 适 用 于 监 控 Java 应 用 ; SSH 适 用 于 Linux 系统, 用 于 Windows 时需结合 WMI 使用 ; SNMP 有明显的安全隐患[3], 对网络性能有不小影响; WMI 只 能 用 于 Windows 系 统 , 也 存 在 明 显 的 安 全 问 题 [4]; WBEM 则限于 Web 应用。
在网络环境下, 用户能否从服务器获取满意量 (网络带宽、 传输时延、 丢包率等) 和状态 (空闲、 拥塞等)。 (3) 服务器和防火墙的相关策略和参数设置 (包括 端口开放)。 (4) 服务器的性能和工作状态 (硬件、 负载等)。 (5) 操作系统和应用程序的工作状态 (服务、 进 程等)。 在实际运维管理中, 碰到最多的是应用程序和系统 服务方面的问题, 其次是服务器资源和网络可达性方面 的问题, 硬件方面出故障的几率很低 (以硬盘/存储和 电源故障最多见)。 鉴于网络环境是外部条件难以左右, 服务器和防火墙的配置在配置好后就基本不会再变, 综 合权衡之下, 选择以下指标作为监控对象: (1) 网络连通性 (前提条件)。 (2) 网络吞吐量和连接延迟时间 (反映网络质量)。 (3) 关键服务和进程的状态 (面向业务)。 (4) 平均响应时间 (反映服务质量)。 (5) 并发连接数 (反映负载大小)。 (6) CPU 和内存的占用率 (反映资源占用)。 (7) 磁盘队列长度和响应时间 (反映磁盘 I/O)。 (8) 磁盘空间占用情况 (反映资源占用)。 (9) 系统时间 (进行时间同步)。
作者简介:徐波 (1971-), 男, 高级工程师, 硕士, 研 究方向: 医疗信息化、 算法理论、 机房运维; 王建英 (1985-), 女, 工程师, 硕士, 研究方向: 医疗信息化、 IT 项目管理。 收稿日期:2018-12-11
2019.03 43
现在市面上已有不少服务器监控软件, 商业的和免 费开源的都有, 但这些软件的监控大多限于硬件和性能 方面, 很少从操作系统和应用层面考虑。 有少数软件可 以监控部分应用, 但监控项目难以自定义, 缺乏操作系 统层面和硬件监控的能力或者能力不足。 其次, 有很多 监控软件是基于 SNMP 或 者 WMI 开 发 , 存 在 不 小 的 安 全隐患, 而且普遍缺乏自动处理能力, 例如自动拉起停 止的服务等。
以在操作系统失去响应的情况下采集服务器硬件数据 (CPU 和主板的温度、 电压、 风扇转速以 及电源、 功耗 等), 甚至在电源关闭的情况下进行开机、 重启等维护 操作, 但并不能监控带内的应用情况。 带内管理可以实 现 对 带 内 应 用 情 况 的 监 控 , 也 可 以 通 过 IPMI (Intelligent Platform Management Interface, 智能平台管理接口) 获取带外硬件信息, 但是在网络中断时业务和管理都无 法正常进行。
随着信息化建设的不断深入, 各单位部署的服务器 数量越来越多, 导致系统管理和运维的难度也越来越 大。 对服务器的状态进行实时监控, 及时发现和处理问 题, 是解决此难题的一个行之有效的方法。 然而, 目前 市面上真正好用、 能满足实际运维需要的监控软件却极 少, 不少单位在试用了一些监控软件之后, 不得不选择 自行开发。
相关主题