全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
流计算

安全实时监控案例

更新时间:2018-01-18 16:39:07

安全实时监控案例

随着科技的进步,数据的安全越来越被世人所关注,安全实时监控报警尤为重要。但是怎么在流式的数据里做实时监控报警呢?既需要保证数据的正确性、又要保证数据的实效性。阿里云流计算StreamSQL团队对这一难题做出了攻克,把用流式数据的表和黑名单的表单做维表的实时JOIN。以下案例就是对实时监控报警的完美诠释。

准备工作

源表为简化问题,我们将源源不断的数据抽象简化为如下二维表:datahub_IpPlace

字段名 类型 注释
name varchar 名字
Place varchar 地址

dim表rds_dim

字段名 类型 注释
name varchar 名字
Place varchar 地址

JOIN的结果表

rds_IpPlace

字段名 类型 注释
name varchar 名字
Place varchar 地址

创建源表和结果表

  1. 登录datahub创建项目

datahub创建项目创建的schema示意图如下:

datahub创建

  1. 创建RDS结果表

3

54 登录数据库5

创建的维表schema示意图如下:6创建的结果表schema示意图如下:73.上传DataHub数据

所谓”巧妇难为无米之炊”,在实际的流计算业务开发中,开发者第一个面临的问题就在于如何将数据上传进入DataHub系统。利用DataHub的数据上传功能用户可以轻松上传数据。进入[DataHub界面)],选择上述创建完成的DataHub Topic进行数据上传,用户点击侧边导航栏的”数据采集” -> “文件上传”功能。这里为了简化用户的操作,我们提供测试数据,点击下载后利用DataHub的文件上传工具即可完成数据采集。

注: PDF版本文档中《安全实时监控案例》无法通过链接下载,流计算作为附件文件打包提供了测试数据,请咨询您的系统管理员索要测试数据。

  • 上传DATAHUB源表的数据

8

  • 上传RDS_DIM表的数据

9

实际生产应用中,我们很少有机会利用文件上传工具进行数据采集工作。更多数据采集工具的使用请参考使用手册中有关数据采集的章节。

开发

一旦完成数据采集工作,我们就可以专心来研究StreamSQL的编写工作。同样,为方便新手用户上手流计算,我们在【开发作业】新手作业中提供了商品排行榜的教学作业: bj_dim_join 。点击这个作业,可以查看StreamSQL情况。

1.首先创建一个作业。

10

2.已DATAHUB为数据的源表,使用数据存储自动生成DATAHUB的参数和你的schema信息,DATAHUB的参数的配置可以参阅DATAHUB的源表

12

14

16

3.用RDS为数据的维表,手动填写RDS的参数和你的schema信息(维表在不支持数据存储的功能),RDS的参数的配置可以参阅RDS的维表

12

用RDS为数据的结果表,使用数据存储自动生成RDS的参数和你的schema信息,RDS的参数的配置可以参阅RDS的结果表

RDS1

214

4.编写业务逻辑的SQL。

  1. INSERT INTO rds_output
  2. SELECT
  3. t.`name`,
  4. w.Place
  5. FROM datahub_input1 as t
  6. JOIN rds_intput FOR SYSTEM_TIME AS OF PROCTIME() as w
  7. ON t.Place = w.Place

5.调试StreamSQL。我们提供安全实时监控案例测试数据

6.作业上线。调试完成后,经验证逻辑无误后,在数据开发中点击”上线作业”,用户即可完成作业上线工作。上线作业操作将当前用户的改动提交到数据运维中,用户即可在生产环境下进行作业启动等生产运维工作。如下图:

14

运维

在数据运维页面,选中上述”bj_dim_join”这样的作业,点击启动后流式作业即可启动。注意,流计算作业启动时候需要你指定启动时间,实际上就是从源头数据存储的指定时间点开始读取数据。这里我们需要指定的时间需要在上述上传之间,例如设置启动时间为一个小时之前,如下图:

15

  • 选择启动位点,由于我们刚传入数据我可以把启动时间设置的往前一点。

16

  • 作业运行中。

17

运行起来后,我们到RDS数据库去查看最终数据输出,和最终流式计算结果一致。这样从端到端验证了我们业务代码的正确性。RDS数据查看如下图:18

本文导读目录