Linux服务器监控技术

随着国内各行各业IT化的迅速普及,机房作为信息化的重要标志其数量日益增多,银行、电信运营商等传统的IT大户自不必说,就是普通的大中企业、政府、院校以及大型医院等在机房建设的投入上也是日渐增多,机房的规模越来越大。而作为机房的主角――各种服务器的数量更是迅猛增加。怎样有效的管理好这么多的服务器成为摆在企业IT部门面前的一道棘手的难题,在管理这些服务器的工作中有很重要一环是怎样实时监测它们的运行状态以及性能,如果单靠人工去监测这么多服务器显然既不科学也不现实,针对这种情况市场上出现了各种各样辅助IT部门运维的服务器监测软件。这些软件所采用的技术一般有以下几种,我在下面逐一分析一下它们的优缺点:

  1. SNMP代理(客户端)方式:

    SNMP(Simple Network Management Protocol)作为一种国际通用的网络管理协议被广泛的应用于对各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。通过SNMP方式对服务器监控其优点是比较通用服务器一旦部署SNMP Agent,任何能实现SNMP协议的软件都可对其进行监测,并且通过这种手段进行监测不需知道被监测服务器的用户名与密码,所以比较安全。其缺点是很多服务器并非默认安装SNMP Agent。如果要通过这种方式监测则需要对所有服务器安装部署,另外其能监测的参数指标比较固定不够深入,如用户有特殊需求不好满足(大部分用户没有在其上进行二次开发的能力),还有由于SNMP协议是通过UDP方式实现的,在网络状况不佳的情况下其可靠性难以保证。

2.SSH方式:

这种方式原理是一致的,都是软件通过相应的客户端协议登录到服务器上执行命令,然后解析其结果来实现监测的。它的优点是一般服务器都会默认安装有相应的服务端软件,所以监测起来比较方便也不需要额外安装其它的软件,但它需要获知服务器相应的用户名与密码,这一点也是很多用户不容易接受的,更何况在实际环境中很多服务器的用户名和密码由于安全原因会经常改变,这就给监测软件的工作带来很大麻烦,尤其是被监测的服务器数量很多的情况下修改密码将非常不方便,还有它能监测的参数也受权限和命令所限,很多客户关心的监测指标可能没办法获取,此外它无限制的远程控制能力同样令用户不安。

3.安装私有代理(客户端)方式:

这种方式是指通过在被监测机上安装轻量级的代理软件来实现的一种监测方式,它的优点是监测指标深入细致有针对性,相比SNMP方式它几乎能满足客户任何的监测需要,并且由于它不需要知道被监测服务器的用户名和密码,所以安全性也很好。大部分私有代理采用的都是私有协议并以TCP方式实现,其可靠性也很有保证。其缺点是:部署相对麻烦,最初需要逐个机器安装代理软件,不过一旦安装完毕,以后如果又开发出新的监测功能,代理软件一般能自动从服务器端升级,这在很大程度上弥补了部署不便的问题。   

综上所述,各种监测方式各有优缺点,在实际环境中需要根据实际情况使用,但从大的发展趋势来看应主要以SNMP和私有代理的方式为主。