(二)及时发现故障
故障就像鬼子进村,来的猝不及防。当预防的防线被冲破,如何及时拉起第二道防线,发现故障保证可用性,这时候报警监控系统的开始发挥作用了。一辆没有仪表盘的汽车,是无法知道车速和油量,转向灯是否亮,就算“老司机”水平再高也是相当危险的。同样,系统也是需要监控的,最好是出现危险的时候提前报警,这样可以在故障真正引发风险前解决。
实时报警系统
实时性-实现秒级监控;
全面性-覆盖所有系统业务,确保无死角覆盖;
实用性-预警分为多个级别,监控人员可以方便实用地根据预警严重程度做出精确的决策;
多样性-预警方式提供推拉模式,包括短信,邮件,可视化界面,方便监控人员及时发现问题。
埋点数据
分析系统
分析系统最难做的是业务报警点,例如哪些报警只要一出来就必须出警,哪些报警一出来只需要关注。下面我们对分析系统做一个详细介绍:
1-系统运行架构
2-系统运行流程
3-系统业务监控点
出警类:
网络异常预警;
单笔订单超时未完成预警;
实时交易成功率预警;
异常状态预警;
未回盘预警;
失败通知预警;
异常失败预警;
响应码频发预警;
核对不一致预警;
特殊状态预警;
关注类:
交易量异常预警;
交易额超过500W预警;
短信回填超时预警;
非法IP预警;
4-非业务监控点
非业务监控点主要是指从运维角度的监控,包括网络,主机,存储,日志等。具体如下:
服务可用性监控:
使用JVM采集YoungGC/Full GC次数及时间、堆内存、耗时Top 10线程堆栈等信息,包括缓存buffer的长度。
流量监控:
通过Agent监控代理部署在各个服务器上,实时采集流量情况。
外部系统监控:
通过间隙性探测来观察三方或者网络是否稳定。
中间件监控:
针对MQ消费队列,通过RabbitMQ脚本探测,实时分析队列深度;
针对数据库部分,通过安装插件xdb,实时监控数据库性能;
实时日志监控:
通过rsyslog完成分布式日志的归集,然后通过系统分析处理,完成日志实时监控和分析。最后,通过开发可视化页面展示给使用者。
系统资源监控:
通过Zabbix监控主机的CPU负载、内存使用率、各网卡的上下行流量、各磁盘读写速率、各磁盘读写次数(IOPS)、各磁盘空间使用率等。
“
单通道网络异常预警:1分钟内A通道网络异常连续发生了12笔,触发了预警阀值;
多通道网络异常预警1: 10分钟内,连续每分钟内网络异常发生了3笔,涉及3个通道,触发了预警阀值;
多通道网络异常预警2: 10分钟内,总共发生网络异常25笔,涉及3个通道,触发了预警阀值;
日志记录和分析系统
实时日志预警
订单轨迹
日志打印规范如下:
“
||2016-07-2019:06:13.000||||||||01||0103||111xxxxxxxxxxxxxxxxxxxxxxxxx
||8fb64154bbea060afec5cd2bb0c36a752be734f3e9424ba7xxxxxxxxxxxxxxxxxxxx
||622xxxxxxxxxxxxxxxx||9bc195a59dd35a47||f2ba5254f9e22914824881c242d211
||||||||||||||||||||6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx010||||||||||
简要日志可视化轨迹如下:
日志记录和分析系统除了以上两点,也提供了交易和响应报文的下载和查看。
7*24小时监控室
(三)及时处理故障
自动修复
服务降级
▼
敬请关注!
快速通道,长按二维码即刻报名