服务器告警机制配置技巧 避免草木皆兵


  本文标签:服务器 告警机制 监控机制

现在的服务器都配置了成堆的传感器,一旦任何传感器发生状况都会发出告警,令人头昏目眩  。但是管理员必须尽早知道:服务器监控工具产生的告警不一定都重要  。如果服务器动辄发出警报,那你会在短时间内被迫接收大量信息,其中真正重要的信息可能会被淹没  。本文的目的就是帮助管理员认清哪些服务器告警是重要的,管理员需要服务器监控工具怎样正确提供警报  。

配置告警机制的技巧

在开始之前,我想先指出一点:配置告警并没有绝对正确或错误的方法  。本文中的建议主要基于我二十年的IT经验,但它们终归是我个人的偏好  。所以,虽然希望你们能从我的建议中获取好处,但我更建议每个管理员配置服务器告警时,尽量紧贴与自己公司的特定要求  。

另一点我要指出的是:管理员可以用很多方法让服务器产生告警  。有的服务器可以在硬件级产生告警,这虽然很有用,但还远远达不到作为独当一面的告警机制的要求  。服务器供应商提供的服务器监控工具有大量信息,作为操作系统级的服务器监控工具,比如微软的System Center Operations Manager  。因为监控工具的选择很多,我会普遍地讲一讲,而不是单独讲某个特定的工具  。

为服务器告警机制配置优先级

想让服务器监控变得有效,关键在于对监控工具的告警机制进行优先级配置  。我推荐把告警分为高级、中级、低级三种  。

我通常把优先级高的告警定义成最最关键的事务  。比如,服务器磁盘空间全部耗尽就是一个关键事件,同样一个群集化应用服务器出现故障也会酿成大祸  。

中级优先级的告警比较难以定义  。我所认为的中级告警可能对于其他组织来说是高级的  。对我来说,如果警报中的问题不会带来整体停机,那么优先级就是中级  。比如说一个群集中的某个节点不知道为什么断电了,但不会影响整个群集的运行,那我就把它定义为优先级中级  。当然这和所处的工作环境有很大关系  。我任职过的一些大公司就把这类问题定义为关键事务  。

但是,如果你的公司不能容忍任何宕机事件发生,那比较聪明的方法就是根据问题是否有发生故障的潜在风险来决定优先级  。比如说你有一个RAID列阵,能够在不离线的情况下处理两个磁盘的失误,那如果其中一个故障了,你可以把这件事当成中等优先级的告警,因为该阵列还能正常处理另一个磁盘的故障  。但如果两个磁盘都发生故障,那就是高等优先级了,因为如果还有一个磁盘故障,那整个阵列就完了  。

虽然我觉得这种方法评定优先级很好用,但是比起简单地在故障时触发告警,根据部件数量来配置告警更难  。依靠了你使用的监控的种类及其监控软件的可用功能,安装这种告警系统是值得选择,毫无疑问的  。

配置监控机制

一旦你决定了如何对告警进行分类,你就需要决定告警如何通知  。我个人比较喜欢让服务器监控工具把优先级高的告警通过手机信息发给我  。因为手机随身带,所以把关键告警发送到我手机上是最好的方法,这样我就可以最快收到  。

而优先级中等的告警虽然重要,但不是绝对关键的,所以我倾向于通过电子邮件发送  。如图所示,Windows Server有发送电子邮件的功能,这意味你很容易就能根据操作系统内发生的时间来发送邮件告警  。

Windows能自动发送电子邮件告警

我每天检查电子邮件,所以告警不会被忽视,有的告警我可能并不想通过手机第一时间知道  。中高级的区分很重要,我并不想在和朋友欢度周末的时候,还得为中等优先级的告警所打扰  。当然这只是告警工作的一个例子,还有其他选项  。比如有个公司叫Server Density,他们装了一个iPhone的服务器监控应用程序,支持所有的告警  。

当然,高等优先级的组成对象还是有待探讨的,还有一件事情得考虑一下,就是高优先级的告警不一定和系统故障有关  。大部分服务器只要系统case打开了,就能触发告警  。如果能打开服务器case的只有你,那一个case的警报显然就是高等优先级的告警  。同样,温度过高的告警也是高优先级的,因为服务器过热最终会导致停机  。