1,整体数据流程图
Agent负责数据的采集,通过远程过程调用,经Loastach到Kafka,Collector负责原始数据的整理,生成特定结构的数据体在持久化的同时由需要数据的业务消费。在被规则引擎消费时数据被处理为Rule Event,规则引擎CEP(Complex Event Processing,是复杂事件处理系统)根据特定规则Rule和事件生成规则事件,Common Event。
2,该模块在APM整体结构中的位置
3,CEP与系统交互设计
功能支持:
规则命名;
规则有效性检查;
事件统计;
事件告警级别;
告警级别变更报告;
接口:
规则的增删查改;
规则包的生成;
规则库的创建;
规则包向规则库的推送;
kafka事件获取;
规则库中规则包的动态加载;
告警事件输出到kafka;
4,详细设计
规则文件实例:
package com.aires.oespaas.cep.rules;
import com.aires.oespaas.cep.common.model.ApmSourceEvent;
import com.aires.oespaas.cep.common.model.ApmResultEvent;
import com.aires.oespaas.cep.common.model.ApmResultSet;
declare ApmSourceEvent
@role(event)
@Expires(10m)
@Timestamp(timestamp)
end
rule "ResponseTimeRule"
no-loop
enabled true
when
$t1: ApmSourceEvent($objectName: objectname,["applicationlication=HelloWord"] contains $objectName,$objectType: objecttype == "applicationlication", $timestamp:timestamp,$metricName:metricname ==