通过内部接口监控服务

现在有很多开源的监控软件可以通过监控我们的程序的进程是否还存在确认我们的服务是否异常。
但是对于假死的情况很难监控到,假死的情况下服务的进程等还在,但是访问都是返回502等错误。
在此,我们就会考虑通过调用我们服务的部分接口判断服务是否异常,如果服务躲多起来,而且接口经常发生变化,那么直接使用业务接口就会显得很麻烦。
因此,我们的每个项目都开发有一个公共的监控模块,对外提供统一的接口。同时,该监控模块会调用相关的后台服务,判断所所依赖的其他服务是否有异常。
这样,运维的兄弟调用这个监控接口,可以通过接口返回码判断当前服务是否异常,通过返回值判断所依赖的服务是否正常。
比如:http://api.XXX.com/healthCheck返回如下的内容:
[{"serviceName":"sms","costTime":"0ms","normal":true},{"serviceName":"DB","costTime":"1ms","normal":true}]
 
内容有2条数据,表示我们的服务依赖另外两个服务——短信sms和数据库DB,costTime表示调用该服务的时间,normal表示所依赖服务的状态。
通过接口返回值(httpcode)可以判断服务是否正常,通过costTime和normal判断所依赖的服务是否正常。
如果normal返回的只不是true或者costTime耗时过大,则可以判断该服务已经有了异常,此时,运维同学就会对该服务进行干预处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值