Web API 接口监控

    互联网产品,除了线上关键服务的实时监控十分重要,其实各服务的具体接口监控也不容忽视。如果线上某个接口挂了,最直观的表现是App/Web端上刷不出数、超时或直接抛错误。而这类接口异常的排查可能比服务异常更费时费力。


    如何对线上服务关键接口进行实时监控呢?


     解决思路

     1. 速成:在运维监控平台上配置监控接口,如: zabbix;

          zabbix 配置监控接口 -> http://www.ttlsa.com/zabbix/zabbix-monitor-web-api/

     2. 简单粗暴:运维童鞋对线上应用log进行实时监控过滤,可以通过python, shell 脚本简单处理。定义监控规则,如:监控频率、错误结果统计、错误告警提示等;

     3. “高大上”自定义:选择开源监控项目进行二次开发维护,如:HeartBeat  项目,使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. 
将来会添加更多的实时提醒方式接口,如微信,短信;开源地址 -> http://git.oschina.net/mkk/HeartBeat

         笔者应用 HeartBeat  项目中发现有些地方无法满足需求,如:对于很多接口是需要动态token 认证的,而此项目是针对单接口实例的,所以此处需要维护更新。

 实际应用如下:

    

 

你可能感兴趣的:(运维自动化)