2024年6月8日发(作者:)
服务器监控方案应该怎么写
1服务器监控的必要性
服务器是网络中能对其他机器提供某些服务的计算机系统,它存储、处理网络
上80%的数据和信息,被称为网络的灵魂"。由于服务器需要长时间不间断地工作,
因此对稳定性和可靠性有很高要求。计算机的可靠性可用平均无故障时间来度量,
平均无故障时间越长系统的可靠性就越高。对用户而言,高可靠性也就意味着高可
用性,意味着可以随时随地从系统获得高质量的服务。
尽管服务器采用了大量的软、硬件技术,但其稳定性和可靠性离人们的期望还
是有不小的距离,服务器响应变慢、服务中断的现象仍时有发生。尽管提高软、硬
件的可靠性是软、硬件厂商需要考虑的事情,但是对最终用户来说,对服务器的软、
硬件进行实时监控,及时发现和处理问题,无疑能大大提高系统的可用性。
2服务器监控软件的现状
对服务器进行监控,显然用软件方式要比人工方式更加高效和快捷。与网络管
理类似,服务器管理也分为带内管理和带外管理,带内管理的控制信息与数据信息
使用同一物理通道进行传送,而带外管理则是使用不同的物理通道。带外管理可以
在操作系统失去响应的情况下采集服务器硬件数据(CPU和主板的温度、电压、风
扇转速以及电源、功耗等),甚至在电源关闭的情况下进行开机、重启等维护操作,
但并不能监控带内的应用情况。带内管理可以实现对带内应用情况的监控,也可以
通过智能平台管理接口获取带外硬件信息,但是在网络中断时业务和管理都无法正
常进行。
有些品牌的服务器厂商提供基于带外管理的服务器管理软件(属增值服务,需
另外购买),但不同厂商之间存在一定的兼容性问题。目前大多数的服务器监控软件
还是基于带内管理的。
现在市面上已有不少服务器监控软件,商业的和免费开源的都有,但这些软件
的监控大多限于硬件和性能方面,很少从操作系统和应用层面考虑。有少数软件可
以监控部分应用,但监控项目难以自定义,缺乏操作系统层面和硬件监控的能力或
者能力不足。其次,有很多监控软件是基于SNMP或者WMl开发,存在不小的安
全隐患,而且普遍缺乏自动处理能力,例如自动拉起停止的服务等。
3监控对象的选择
要开发一个服务器监控软件,首先要确定监控目标,即有哪些项目需要监控。
服务器故障大致可分为加电自检故障、操作系统安装启动故障和系统运行故障这3
大类,其中最常见的是第三类系统运行故障,而且绝大多数是由软件方面原因引起。
可以从服务器提供可靠服务需要的条件,来反推需要监控的内容。
在网络环境下,用户能否从服务器获取满意服务主要取决于:
(1)网络可达性,这是前提条件。
(2)网络质量(网络带宽、传输时延、丢包率等)和状态(空闲、拥塞等)。
(3)服务器和防火墙的相关策略和参数设置(包括端口开放)。
(4)服务器的性能和工作状态(硬件、负载等)。
(5)操作系统和应用程序的工作状态(服务、进程等)。
在实际运维管理中,碰到最多的是应用程序和系统服务方面的问题,其次是服
务器资源和网络可达性方面的问题,硬件方面出故障的几率很低(以硬盘/存储和电
源故障最多见)。鉴于网络环境是外部条件难以左右,服务器和防火墙的配置在配置
好后就基本不会再变,综合权衡之下,选择以下指标作为监控对象:
(1)网络连通性(前提条件)。
(2)网络吞吐量和连接延迟时间(反映网络质量)。
(3)关键服务和进程的状态(面向业务)。
(4)平均响应时间(反映服务质量)。
(5)并发连接数(反映负载大小)。
(6)CPU和内存的占用率(反映资源占用)。
(7)磁盘队列长度和响应时间(反映磁盘1/0)。
(8)磁盘空间占用情况(反映资源占用)。
(9)系统时间(进行时间同步)。
(10)数据库死锁。
除此之外,还需要能够定时执行维护任务,服务异常停止时能自动拉起,发生
数据库死锁时自动解锁,发生紧急情况时自动报警,还要能够读取服务器的日志,
以帮助发现和排查各种问题。
4软件架构设计
为了解决应用和业务层面的监控问题,同时为了软件的普适性,只能选择带内
监控的方式。为实现各种数据的采集,同时提高软件的互操作性,软件采用多个客
户端(即Agent)加一个服务端的结构,其中客户端部署在需要监控的若干个服务
器上,主要作用是采集数据和执行维护任务。服务端部署在一台专门的服务器上,
主要作用是定时查询和处理各个客户端采集上传的数据,同时为系统管理员提供
Web查询、展现和交互界面,出现紧急情况时向管理员发送报警信息,管理员可通
过手机接收和查看报警信息,也可以通过浏览器查看。
5结语
结合实际运维需要,提出了一个自行开发服务器监控系统的技术方案,可解决
现有服务器监控系统监控指标不合实际需要、程序定制性差等问题,避免了使用
SNMP和WMI的缺点,程序支持跨平台使用,支持互操作和一定的自动处理能力,
方案切实可行,具有一定的参考意义。


发布评论