2.4.2 监控规划
为了避免监控泛滥或告警泛滥的问题,在选择“监控什么”的问题上需要谨慎,要结合企业业务进行综合评估。比如,作为互联网应用服务的云上Windows服务器,需要监控的维度除了CPU、内存、网络、I/O传统的四大件的基本使用情况,还需要看业务类型,如将Windows服务器用作云游戏服务器,还需要关注GPU速度、带宽、使用率,涉及游戏的有状态(数据层)的交互,还需要加上I/O相关的监控参数,包括I/O队列、深度、IOPS、Latency、读/写速率等。
在监控规划上,我们分两个维度进行设计:
• 平台维度:把传统的四大件监控交给平台来做,基本上所有云厂商都有基础监控,比如阿里云提供的云监控方案就覆盖了大部分的系统核心监控指标。云监控提供的监控视图如图2-23所示。
• 系统维度:诸如Windows服务器的Handles(句柄)、Pages(页表)等细致化的监控项目,则建议在系统内进行上报(具体如何上报将在2.4.3.1节中描述)。系统内的监控指标如图2-24所示。
监控规划中重要的一环就是监控后发现相关数值出现异常时的告警设计,在Windows服务器场景下,由于其系统需要的负载资源较多,建议根据业务的类型进行告警设计,同时设计优先级。总体来说,有以下几个告警设计原则(包括但不限于):
• 用于数据库的Windows服务器建议将内存使用率及与内存相关的性能指标适当上调,避免告警系统过于敏感导致告警泛滥;
• 对于状态类(比如服务器运行状态、探活状态)的监控,建议以平台级→系统级来进行监控设计;
• 从应用视角出发,基于APM(应用性能监控)上的关键链路及指标来设计监控,比如APM上显示业务连接超时较多,则同步设定Windows服务器网络相关性能指标。
图2-23 云监控提供的监控视图
图2-24 系统内的监控指标