为了方便在移动场景使用监控系统,还提供了微信版的监控系统。在微信告警中,可以方便看到告警详情,及告警相关的监控指标的数据视图,另外还可以对无需处理的告警做屏蔽告警操作,备注告警的处理进展,便于多个负责人同步消息等
立体化的监控体系
根据大型网站的通用架构,我们构建了立体化的监控体系:
监控纵向覆盖了:
网络层:网络设备宕机,资源使用率,流量,服务质量,专线等;
服务器层:宕机,无法登陆,硬件故障等;
系统层:资源使用率(CPU、内存、磁盘、网络等);
应用层:端口存活,进程存活,接口状态,服务QPS等;
业务层:PV、UV、订单量,成交额等业务指标。
横向覆盖了:
用户端:重点页面关键指标(可用性,首屏时间,全部加载时间等),DNS劫持,链路劫持,页面出错,页面超时等;
机房网络出口端:VIP连通性监控,页面监控,接口监控等;
流量接入端:网站总网络流量、三端(APP端、M端、PC端)网络流量等;在Nginx上实时统计的域名维度、集群维度数据
业务集群端:单机监控(纵向:服务器层,系统层,应用层,业务层),集群监控(页面、接口监控,Nginx日志监控;核心指标包括:可用性,响应时间)。
监控业务模型
由于互联网公司的服务器数量非常多,往往都达到万台、甚至几十万台,提供同一个服务的节点(服务器或容器)的数量非常多,为了便于管理,我们使用了基于集群的监控模型。
我们将提供同样功能、部署同样服务、监控方法一致的一组服务节点称为一个集群,所有监控配置项(节点列表,监控模板,告警接收人)与集群关联。该监控管理模型:
这种监控业务模型可以允许业务非常方便的更新各种监控配置项。例如:
对服务进行扩容或将故障节点剔除时,只需要从节点列表中做变更即可,无需更改其他项;
需要增加、修改或删除告警策略的时候,仅需关注策略的变更,无需关注其他信息;
用户订阅或取消订阅告警的时候,仅仅影响告警组中的用户列表,与其他项无关。
系统整体根据集群关联的节点列表、监控模板中的策略、告警接收人列表去实时的下发到告警控制模块,对告警产生影响。
提供更好的用户体验
用户可以在PC版的监控系统使用监控系统的所有功能。为了方便用户的使用,我们的界面分为三个区域,分别是菜单、服务树和业务展示区。
菜单供用户选择要使用的功能,选择了服务树的某个节点就确定了关注的业务范围,前两者确定了业务展示区展现什么数据和功能。
为了方便在移动场景使用监控系统,还提供了微信版的监控系统。在微信告警中,可以方便看到告警详情,及告警相关的监控指标的数据视图,另外还可以对无需处理的告警做屏蔽告警操作,备注告警的处理进展,便于多个负责人同步消息等。