平安云物理机服务器监管控技术之硬件监控

谈到服务器监控,大家的印象都是服务器系统性能指标监控、应用程序可用性监控等,对服务器硬件监控反而了解的比较少,今天我们就来探讨一下。

 

大纲:

1. 选择采集工具

2. 建立监控模板

3. 设计架构

4. 保障时效

 

1、选择采集工具(监控工具)

服务器自带一个管理芯片BMC,它会收集硬件的信息和日志,并监控硬件的状态,如何获取硬件这些信息,目前一般有三种方式,Redfish、SNMP和IPMI,我们将三种方式从难度程度、工作量、兼容性、安全性等多个维度做了对比,对比详请如下:

 

平安云物理机服务器监管控技术之硬件监控_第1张图片

图一:Redfish、SNMP和IPMI对比图

经比较,最终确认了采用通过Redfish的方式来进行数据采集,不仅仅是因为其易于调用且返回值较为友好,还因为其支持接口定制。Redfish是2014年提出来的,对于不支持Redfish的机器,会继续采用IPMI监控。所以平安云集中管理的机器都是采用这两种采集方式,完全走带外网络,对OS系统没有任何影响。

这里提一句,有人会有疑问,为什么不采用SNMP协议? SNMP协议在网络设备管理上采用的比较多,为什么不能用在服务器上呢? 这样与网络设备的监控就可以使用类似的方式,就不用重复造轮子了,这里需要说明的是SNMP协议比较依赖MIB库和OID,相同配置的机器因厂商机型不一而硬件模块的OID不一,相同的机型因硬件配置不一而OID不一,变数较大,监控模板会很多,不易管理,而网络设备大多数都是以整机出售的,变化就比较小,监控模板不会很多,容易管理。

 

2、建立监控模板

除了工具,监控项也是需要确认的,需要监控哪些硬件,然后把它做成统一的模板,经过和同事们的好几轮讨论,最终的监控项如下图示:

 

平安云物理机服务器监管控技术之硬件监控_第2张图片

图二:硬件监控模板

优点是,这个模板比较通用,与服务器厂商以及服务器型号关联不紧密,不需要区分对待。

 

3、设计架构

监控项和采集方式都已确认,最后要解决架构的问题,后台总体架构会采用分布式微服务的形式,可以做到横向扩展,分云环境可用区部署,金融云与公有云分开部署,互不干扰。单台Proxy压力较大的时候,可以通过增加Proxy来分压,如下为简单架构图:

平安云物理机服务器监管控技术之硬件监控_第3张图片

 

图三:监控系统架构示意图

监控平台作为监控中枢,用于收集和展示告警信息,并通知给用户。监控Proxy主要是发起硬件状态的采集,并返回给平台,本身不存储数据。

 

4、保障时效

服务器数量规模一旦多起来,时效性就是个比较有挑战性的事情,虽然监控Proxy可以扩展多台,一定程度上可以把负载平均下去,但更需要考虑网络的问题以及BMC芯片负载的问题,一直记得曾因为大量的请求导致带外交换机Hold不住被网络组追责的情形。而且请求太过频繁,导致BMC Hang住,整台机器的带外都没法用,所以控制一定频率是非常有必要的。

既然加快频率比较困难,那么就得另辟蹊径,怎么把SNMP Trap与现有的监控形式结合,比如说一块硬盘故障,现有技术能准确的知道硬盘的ID,槽位号、型号以及其他规格信息,在报修时就可以直接把这些信息发给维修人员就行。于是我在原有基础上做了些许改造,让SNMP Trap实时把故障上报过来,这样时效性就能一定程度上做到提升,满足2min之内获取硬件故障要求。

 

平安云物理机服务器监管控技术之硬件监控_第4张图片

图四:监控信息流示意图

你可能感兴趣的:(运维,服务器,云计算)