华为云实时流计算日志分析实践

举报
极客潇 发表于 2019/01/17 13:27:48 2019/01/17
【摘要】 参加了华为云的实时流计算免费体验活动,记录实践过程。

参加了华为云的实时流计算免费体验活动,记录实践过程。原文链接地址,请访问这里:https://bbs.huaweicloud.cn/forum/thread-13952-1-1.html?utm_source=wechat&utm_medium=sm

CS介绍

大数据计算,实时性越强,越有价值。数据随着时间增长价值迅速衰减,数据永远是临时的,而分析永远是有时效性的。实时的产品推荐,实时的产品质量反馈,在线风险分析。都可以是数据产生极大的价值。华为云实时流计算服务,打造最优秀的云上实时流计算平台,为客户创造前所未有的极致体验。

实时流计算服务,简称CS,采用全托管的服务方式,使得用户无需感知计算集群。只需聚焦于Stream SQL业务,即时执行作业,就可以完成实时流计算的数据分析。

image001.png

 

 

适用场景

CS服务的使用,聚焦于互联网和物联网场景,适用于实时性要求高、吞吐量大的业务场景。主要应用在互联网行业中小企业、物联网、车联网、金融反欺诈等多种行业应用场景,如互联网汽车、日志在线分析、在线机器学习、在线图计算、在线推荐算法应用等。

实验介绍

本示例从DIS数据源读取数据,实时分析日志信息,向OBS输出源写数据。通过本示例,你会学习到:

创建并运行Flink SQL应用

完成“日志分析”示例场景

创建DIS通道

进入DIS控制台,点击右侧 购买接入通道 ,创建一个DIS通道:注意选择通道所在 区域为北京一 , 数据源类型 选择 CSV ,通道名称 填写 input-dis

最终完成参考如下图:

image003.png

创建OBS

区域北京一

桶名称自定义,本示例为:outputs-obs

存储类型:标准存储

桶策略:私有

 

创建完毕后,打开OBS桶,新建文件夹,名称为logInfos

image005.png

创建Flink SQL作业

登录实时流计算CS控制台,点击新建作业,输入自定义名称,选择模板  [云生态]DIS-CS-OBS样例模板,点击确认

image007.png

 

确认完毕后,在编辑处,如果以上名称全部按照本文档命名,那么这里不需要做任何修改。可以直接看下一步。

如果DIS名称不一致,修改如下channel参数,为你自己设定的名称

image009.png

 

如果OBS名称不一致,只需要修改obs_dir 参数,目录指向自己obs目录名称,本示例为"outputs-obs/logInfos", 如下图

 

image011.png

 

修改完毕后,点击“语义校验”提示无错误后,点击提交按钮。

image013.png

注意,右侧参数SPUs  2 并行数1保持默认即可,不需要修改。最后核对信息如下;确认无误后,点击确认按钮

image015.png

 

发送DIS数据

使用DIS Agent向云上DIS通道发送CSV结构的数据,DIS Agent是一个本地运行的代理,监控本地文件变化,一旦文件中有新的数据追加,就会即时把新增的数据发送到DIS通道中,类似flume

启动DIS Agent步骤:

1.       下载DIS Agent Urlhttps://dis-publish.obs-website.cn-north-1.myhwclouds.com/dis-agent-1.1.0.zip

 

2. 本地解压

3. 修改 conf/agent.yml

4. 启动 DIS Agent : Linux环境 bin/start-dis-agent.sh Windows环境 bin/start-dis-agent.bat

 

修改conf/agent.yml参数指导:

AKSK

ak/sk:进入console控制台->右上角 我的账号 选择"我的凭证"-> "管理访问秘钥"->"新增访问秘钥"

projectId

进入console控制台->右上角 我的账号 选择"我的凭证"-> "项目列表"中选择"cn-north-1"对应的"项目ID"

DISStream DIS创建的名称

filePattern填写数据文件所在的路径,参考示例如下:D:/disagent-cw/dis-agent-1.1.0/data/*.log

 

注意:目录间隔符为/ ,并不是\,因为直接从windows路径中复制会成为\

image017.png

剩余其他参数不需要变化。修改完毕后注意保存。

 

发送DIS数据

本示例下的是python程序,文件名称为send.py ,windows主机前提是安装了python程序才可以执行:

 

import time

for idx in range(10000):

with open("test.log", mode = "a+") as f:

f.write("api.huaweicloud.cn||45.249.212.44||15421010072.675||200||651||228||POST

/x/report/heartbeat HTTP/1.1||-||Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101

Firefox/34.0||-||200||0.033||-.918nw0fj-||0.033||140.206.227.10:80" + "\n" +

"api.huaweicloud.cn||45.249.212.52||15421010072.875||200||651||228||POST /details/jobs

HTTP/1.1||-||Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0||-

||200||0.033||-.918nw0fj-||0.033||140.206.227.10:80" + "\n")

time.sleep(60)

 

启动程序

以上内容编辑完成后,需要将send.py 放到之前在agent.ymlfilePattern参数指定的目录路径下执行点击send.py 启动程序;本文示例路径为D:/disagent-cw/dis-agent-1.1.0/data/image019.png

send.py启动截图(上图)

启动python程序后,再启动DIS Agent程序,DIS Agent : Linux环境 bin/start-dis-agent.sh Windows环境 bin/start-dis-agent.bat

image022.jpg

DIS Agent启动截图(上图)

 

登录到obs控制台,查看产生的数据。并且我们可以下载下来,打开查看

image023.png

打开log_out.1文件如下截图:

image025.png

 

我们也可以在cs任务列表中进行查看任务

image027.png

资源删除

如果您已经完成本示例,记得删除以下资源,以免资源继续产生费用,首先删除CSFlink SQL作业,然后删除DIS通道,最后删除OBS桶,删除obs桶需要先删除桶内的数据,才能删除桶。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。