GIS数据共享:官方网站

spring boot

当前位置:首页 > 微服务 > spring boot

一个简单的注册到Nacos微服务异常监控办法

一个简单的微服务异常监控办法

1.  背景

使用spring boot+nacos+gateway方式开发系统,新系统上线后出现过多次故障,每次故障都是用户反馈到甲方,甲方再联系我们,导致出现故障时间长,故障后无法快速定位,甲方和用户对系统印象不好。

值班人员不能每时每刻都盯着所有微服务状态看,微服务单个节点挂了后,有时候会引起其它节点异常。

在上述的背景下,尝试使用监控手段监控微服务运行状态,以及时获取故障信息,快速定位故障原因。

2.  设计原理

  1. 通过nacos提供的原生API进行接口层进行操作,动态获取微服务节点,每分钟请求微服务接口,以获取服务状态,并与本地数据库登记在册的微服务数量,进行对比,达到预警的效果。

  2. 对于访问可能出现的问题进行预判,如果程序无法判断异常原因,会直接将出现的异常信息发送预警(包括程序自身可能出现的问题)

  3. 根据现有业务,例如定时任务执行情况,对未及时处理或处理异常的数据进行预警。

  4. 将预警信息进行编号,并存储到数据库,使用报表系统或大数据平台GCPASS进行数据展示。

  5. 通过API接口,将预警信息发送到终端(短信、邮件、微信小程序等)。

本程序也可监控非nacos服务,但原理还是请求服务的某一个接口,来判断服务状态。

为了保证程序的正常运行,程序也会1小时发送一条状态正常的信息。

3.  实践

1.   监控节点是否掉线,如果有节点掉线,无法及时发现(可保证至少有节点提供服务);

2.   监控节点是否假死,解决节点已无法正常工作,但Nacos未发现,所有流量依然通过gateway进行数据传输,进而导致偶然性故障发生(不做监控手段得话,这种故障最难解决,也很难定位);

3.   监测节点不正常服务的原因,包括节点禁止访问、节点丢失但nacos未释放、服务器不接受请求、端口不通、服务器宕机、节点处理超时,nacos状态监控等;

4.   节点健康度检查(健康度由nacos评估),对健康度较差的微服务告警通知;

5.   监控程序的自我报告;

4. 效果图(部分)

image.png


扫码查看

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

热门标签