业务监控架构

业务监控系统实现对系统的业务指标实时监控、预警以及趋势分析。通过类 sql 语句的监控型事件定义,灵活针对各种场景的自定义业务监控

1.业务监控平台系统架构

2.业务监控平台服务架构

3.指标监控

本文中介绍的业务监控系统中的核心 esper 引擎对业务需要监控的事件具有如下优势:
• 高吞吐量 - 处理大量消息(单机每秒50w 左右的吞吐量)
• 低延迟 - 实时响应发生的条件(从几毫秒到几秒)
• 复杂计算 - 应用程序检测事件之间的模式(事件相关),过滤事件,

1) 事件关联
  关联了两个事件流。第一个事件流由欺诈告警事件组成,用于保存过去30分钟的事件信息。第二个流则是withdrawal事件,用来保存过去30秒的事件。这两个流通过account number进行关联:
select fraud.accountNumber as accntNum,
       fraud.warning as warn,         
       withdraw.amount as amount,
       MAX(fraud.timestamp, withdraw.timestamp)  as timestamp, 
       'withdrawlFraud' as desc 
   from         
        FraudWarningEvent.win:time(30 min) as                                 
        fraud,WithdrawalEvent.win:time(30 sec) as withdraw
        where fraud.accountNumber = withdraw.accountNumber
2) 事件模式匹配
一个或多个事件发生时,事件模式会匹配定义的模式。模式也可以是基于时间的。模式匹配时通过状态机实现的。模式表达式可以由连接了模式操作符的过滤器表达式组成。通过在圆括号中的嵌入表达式,可以实现更深的模式表达式嵌套。      
3)模式匹配和事件流分析结合使用
当检测到事件序列(或没有事件发生)时,模式就会匹配。模式匹配的结果可以用于进一步的分析和处理。
下面的模式监测的是 Status事件发生后的10s没有相同ID的status事件发生的场景。整个EPL语句进一步计算了所有发生的每个ID的事件总数。
   select a.id, count(*) from pattern [every a=Status -> (timer:interval(10 sec) and not Status(id=a.id)) group by id
文章目录
  1. 1. 1.业务监控平台系统架构
  2. 2. 2.业务监控平台服务架构
  3. 3. 3.指标监控
    1. 3.1. 1) 事件关联
    2. 3.2. 2) 事件模式匹配
    3. 3.3. 3)模式匹配和事件流分析结合使用
,