一 问题提出
问:如果想统计一个逻辑被执行的次数,整个系统的成功量、失败量、超时量的实时数据,怎样处理/p>
答:对于这种场景,如果只是为了获取调用数量,并不关心具体内容,那么可以通过程序上 来解决问题。
二 伪代码
AttrAPI 是对监控上 的封装。和日志函数 logWarn 相比,AttrAPI 只需要两个参数。一个参数表示上 的 ID 是什么,唯一标识上 的属性。另外一个参数表示一次上 的量,用于在一段时间内进行统计。
我们想看一分钟有多少个失败值,只要看 12345 这个ID 在一分钟内上 了多少次即可。
三 监控系统业务流程
实现监控系统除了需要提供一套供程序使用的API,还需要本地收集程序、远端汇总程序和数据展示系统。
1 流程说明
程序运行的进程通过 API 将要上 的ID和数量写入到共享内存队列中,每台机器的 agent 通过读取操作把计算后的数据发给远端的数据处理程序。数据处理程序负责按照上 的IP地址、上 的ID、以及上 时间等维度进行统计,整理出数据。最后通过 Web 展示程序,对数据进行可视化展示。
2 监控的作用
开发和运维人员通过监控系统能够了解程序运行时的状态。例如:成功量、失败量和超时量。通过可视化组件绘制一些对比图,方便查找问题。
四 告警
如何做到主动知道数据有问题呢般是通过告警来实现的。告警就是在监控系统设置一些数值,当达到这些数值时,触发消息通知。
例如:当超时量每分钟超过100个的时候,就发短信和邮件给负责人。通过主动通知,达到开发和运维人员第一时间收到异常提醒的目的。
五 设计告警时的注意事项
- 合理设置告警的数量
- 不合理的告警要及时优化
- 出现异常情况下一定要告警
- 对正常情况下的最大值和最小值也都设置告警阀值,起到预警作用
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!