我正在研究SLA监视工具,已使用kafka流进行实时流处理,并使用了石墨数据源作为时间序列数据存储。一切都按预期进行,除了后期事件场景。
例如:我有多个组件处理传入的数据。每个组件都会处理数据,并将其开始和结束事件发送到我的监视系统。
如果所有组件处理数据所需的总时间超过给定时间,则违反SLA。 SLA为10秒(例如)。 处理数据的实际时间是8秒(这意味着SLA MET),但是由于某种原因,最后一个事件并未按时出现在kafka流上(可能会卡在kafka主题中),它是在15秒后出现的。由于该窗口已过期,因此数据被标记为SLA违规,并且SLA-BREACH计数在石墨中递增。 当晚事件到达kafka流时,它落在前一个窗口中,因此SLA被重新计算并标记为SLA MET,而SLA-MET度量在石墨中递增。 现在的问题是,如何同时减少石墨中的SLA-BREACH计数?