日志是带时间标记的足迹、记录行为、条件和事件,数据中心里的任何设备都会有日志输出,对这些日志进行管理是数据中心运维工作的重要组成部分。日志管理不但可以对日常操作进行控制与管理提供依据,还可以在某些故障发生之前通过日志信息就能感知到,也可以在故障发生时打印一些异常记录,还可以供故障发生后分析使用。作为数据中心的运维人员学会检查和分析日志数据,是一项必备的技能。然而日志是一把“双刃剑”,用好它,可以大幅提升数据中心的运维水平,降低数据中心的故障发生概率,节约运维开销;用不好它,反而会画蛇添足,增加运维的工作量,加大开销,所以对于数据中心日志的管理和使用,是一门大学问,如何灵活运用是摆在每个数据中心运维者面前的一道难题。本文抛砖引玉,说一说这里的道道。
数据中心里的设备成千上万,尤其是大型数据中心,各种服务器、网络设备、安全与存储等,拥有数千台设备的规模很正常,如果这些设备每台一天报一条日志信息,那么就是数千条日志,这个数据量可想而知。而且最为令人头疼的是,不同厂家甚至是同一厂家的不同型号设备的日志信息格式完全不同,无法通过通用的日志服务器去采集,有时甚至要一类设备用一种日志服务器,另一类设备用另外一种。一个数据中心为了获取所有设备的日志信息,要搭建数个日志服务器,分别进行监控,这样查看和管理起来非常不便,而且不同设备的日志风格不同,有些信息含义并不十分明确,让人丈二和尚摸不着头脑,这都让日志的作用大打折扣。还有很多问题,并不能通过日志提前发现问题。平时可能设备上报了很多日志信息,但是都是一些无关痛痒的无用信息,而真正出现故障了,反而没有任何日志报出了,采集这样的日志信息无助于数据中心管理提升,而是给数据中心添乱。还有不少的数据中心为了节省管理费用,管理网与数据网合一,管理网的数据也走业务转发设备,这样在真正出现故障时,日志信息经过的网络路径也出了故障,就会导致日志信息的丢弃,也错失了避免严重故障的机会,这些都是当前数据中心在日志监控上面临的问题。
怎样将数据中心的日志监控有效做起来,是每个数据中心最为关心的问题。首先,日志信息要统一格式。作为甲方,数据中心有权利要求其采购的设备输出日志符合通用日志服务器采集的格式,无法满足的设备坚决不再进行后期采购,如此一来就可以在整个数据中心部署一套日志监控设备即可,这样可大幅节省监控设备的运维支出;其次,日志采集与业务转发分离,日志数据走单独的管理网,管理网一般是通过专有设备将所有设备的管理口,服务器的单独网卡连接起来,这样业务网络有中断,并不影响到日志数据的收集,这样往往可以给分析问题提供及时、有效的信息,缩短故障定位和恢复的时间;第三,日志信息要简洁和准确,一个大型数据中心数千台设备,不能什么日志都向日志主机发送,只有可能影响到转发业务的日志才会采集,如果设备无法控制,就在日志服务器上进行控制,对不同日志进行等级分类,平时只关注级别高的告警,级别低的忽略不计。此时,设备提供的日志准确性尤为重要,哪些日志可能会影响业务,哪些日志是提示性的,哪些日志是操作类的记录,这样分得清楚,这样在日志服务器上可以调取自己关心的那类日志,不用全部查看,这将大大节省日常运维的检查时间;第四,很多数据中心已经开始做自动化的运维管理,对日志服务器增加自动化检查的脚本,通过脚本对日志进行检查,这样可大大节省人工成本。这种自动化运维管理是通过TCL脚本,对日志进行检查,当发现异常关键字时,给出自动告警,有些脚本还可以自动执行一些恢复的设备命令,这样达到发现故障自行恢复的目的。比如:可以在自动化脚本中增加“Fan is fault”的判断,当发现日志里出现这样的字样时就主动给出提示,或者将告警直接发向运维人员的值班手机上,这样运维人员立即就能知道是哪台设备的风扇出了问题,日志自动化管理是数据中心提升运维水平的重要手段;第五,与设备商做好交流沟通,要求设备商提供完整的日志信息,包括告警级别的分类,这些日志的准确性将直接决定未来运维的效率,如果设备商的设备在故障时,并没有从日志中反映出来,就说明这些设备做得还不够好,要改进。所有的故障都应该通过日志反映出来,这样才能高效运维。设备可维护性也可作为数据中心未来采购的重要参考标准。操作灵活性差,信息记录缺失都是可维护性差的表现,对于这类设备应检查采购或不采购。数据中心出了问题并不可怕,可怕的是出了问题后还不知道怎么回事,没有历史记录可查。
日志监控是未来数据中心管理的重要组成部分,通过日志监控可以避免或者减少业务故障的时间,对于数据中心运维特别有意义。当然,日志监控并不能解决数据中心所有问题,数据中心业务特别复杂,问题表现各异,就算日志监控做得再完整,很多问题也不能通过日志完全反映出来。比如通过FTP下载数据慢,这样业务层问题,通过日志很难反映出来,就需要借助抓包、统计报文等其它手段再深入分析。总之,日志监控还需要不断完善,不仅是数据中心,也需要数据中心设备提供商一起努力,将日志监控做好,从而提升数据中心的运维水平。
本文转自d1net(原创)