一直以来我们都比较缺乏一个易用的业务粒度的监控统计,故借鉴wechat的idkey系统来做了一个轻量级的AcOss系统。
具备的功能
- 开发人员可以很方便的添加各种监控项,监控项可分为累加值、设置值、最大值与平局值四种类型
- 提供后台界面来申请idkey,id与key是两个概念,具体会在下文中给出。
- 提供后台界面来查看idkey的监控情况,一页展示所有的监控项目,最多128个。
- 每个监控项可以配置最大与最小阈值,超过阈值可以发送告警信息到负责人,告警可以在配置页面取消
- 因为是轻量级方案,并没有使用客户端部署agent的方式,而且采取集中往UDP Server发包,为了防止包量过大添加了采样率参数,对于分钟调用量万级别以上的接口强制设置采样率。在监控视图展示的时候会将数据反向放大回去。(项目初期可以使用默认值1,即100%采样)
idkey描述
id可以理解为一级业务,key可以理解为二级业务(细分的监控指标)。如果拿购买服务举例的话,如下图所示:

上报数据
1 | //1. 用于设置叠加值,如果过一分钟有多个值上报,将叠加这些值 |
调用上述4个接口进行上报,一般用的多的是接口1,其中$id是业务ID申请中获取的id,key为业务Id中监控项的配置ID。