R13监测器
2018-01-05 16:30:30 2 举报
R13监测器
作者其他创作
大纲/内容
指标监测器调整优先级
阈值计算
Metric第 2 次优先级匹配
进程启动后5分钟后清除未上报数据,后续每隔半天清理一次最近1天都没上报的数据
1. 更新指标监测器列表【若为指标监测器】2. 更新对应租户监测器列表3. 清除对应监测器的状态指标以及相关事件数据
Redis hashkey:租户id~monitor~metrics
租户指标监测器缓存列表
删除监测器
k1:v1
Monitorgateway monitor:gateway直接传输指标及标签
Datastore
k1:v1;k2:v2
创建事件
第二次优先级匹配阈值计算时对每个资源进行优先级匹配1.缓存获取当前资源标签 监测器列表2.比对当前监测器的优先级是否匹配
指标1
租户id:指标名称
objectid
保存状态
方案二:最大努力重试机制1.阻塞队列缓存消息2.Event Datastore Notify三者其一失败则重试,记录每个模块操作成功与否暂定方案二
第一次优先级匹配在现有逻辑下匹配对应指标监测器(去除静默),并取最高优先级存入队列
Monitor阈值触发
Event
MQ Topic
方案一:消息通知MQ Topic 通知各模块完成业务1.消息需持久化,不能丢失导致状态不一致2.消息可能重发,消费方接口需考虑重复消费问题
1. 初始化指标监测器列表【全租户】2. 初始化监测器列表【去按租户】
时间戳
重试线程
消息队列
Redis有序集合tenantId + MonitorId
指标2
Redis hashkey:租户id~指标名称
对于正在进行阈值计算中或者待阈值计算的监测器进行处理【和原本一样】【进行阈值计算前,对相关监测器加锁,标识为计算中,待计算完成后再删除该锁与记录】
Redis 有序集合key:待匹配监测器队列
Gateway输入:指标数据上报 输出:待监控指标以及标签
已保存指标列表(该列表暂时由Monitor接口提供)
1. 更新指标监测器列表【若为指标监测器】2. 更新对应租户监测器列表
编辑监测器
k2:v2
1. 更新对应租户监测器列表2. 清除对应监测器的状态指标以及相关事件数据
新建监测器
Notify
启动monitor进程
BlockingQueue
采集端
Metric第 1 次优先级匹配
阈值触发后状态、事件和通知等处理方案
被覆盖部分先不做,待吞吐量不够再考虑。暂时由监测器缓存需要计算的指标名称到redisgateway直接传输相关指标标签到监测器
0 条评论
下一页