监控与告警设计

一 问题提出

问:如果想统计一个逻辑被执行的次数,整个系统的成功量、失败量、超时量的实时数据,怎样处理/p>

答:对于这种场景,如果只是为了获取调用数量,并不关心具体内容,那么可以通过程序上报来解决问题。

二 伪代码

AttrAPI 是对监控上报的封装。和日志函数 logWarn 相比,AttrAPI 只需要两个参数。一个参数表示上报的 ID 是什么,唯一标识上报的属性。另外一个参数表示一次上报的量,用于在一段时间内进行统计。

我们想看一分钟有多少个失败值,只要看 12345 这个ID 在一分钟内上报了多少次即可。

三 监控系统业务流程

实现监控系统除了需要提供一套供程序使用的API,还需要本地收集程序、远端汇总程序和数据展示系统。

监控与告警设计

1 流程说明

程序运行的进程通过 API 将要上报的ID和数量写入到共享内存队列中,每台机器的 agent 通过读取操作把计算后的数据发给远端的数据处理程序。数据处理程序负责按照上报的IP地址、上报的ID、以及上报时间等维度进行统计,整理出数据。最后通过 Web 展示程序,对数据进行可视化展示。

2 监控的作用

开发和运维人员通过监控系统能够了解程序运行时的状态。例如:成功量、失败量和超时量。通过可视化组件绘制一些对比图,方便查找问题。

四 告警

如何做到主动知道数据有问题呢般是通过告警来实现的。告警就是在监控系统设置一些数值,当达到这些数值时,触发消息通知。

例如:当超时量每分钟超过100个的时候,就发短信和邮件给负责人。通过主动通知,达到开发和运维人员第一时间收到异常提醒的目的。

五 设计告警时的注意事项

  • 合理设置告警的数量
  • 不合理的告警要及时优化
  • 出现异常情况下一定要告警
  • 对正常情况下的最大值和最小值也都设置告警阀值,起到预警作用

 

来源:chengqiuming

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月16日
下一篇 2021年11月16日

相关推荐