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