`
jzy996492849
  • 浏览: 131520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【图文教程】五分钟内搞一个双十一数据大屏_实时看到自己的业务访问情况

 
阅读更多
摘要: 简介 日志服务从5月份开始提供了SQL查询功能,可以在1秒内快速分析1亿条日志。强大的统计分析能力,加上一些可视化手段,可以帮助开发者快速分析自己的日志。 在双十一这一个关键的节点,我们需要实时的关注自己的业务量,这时候配置一个可视化大屏就很关键,在一个大屏里展示所有的指标。

提到双十一人人都会想到天猫霸气的实时大屏。说起实时大屏,都会想到最典型的流式计算架构:

数据采集:将来自各源头数据实时采集
中间存储:利用类Kafka Queue进行生产系统和消费系统解耦
实时计算:环节中最重要环节,订阅实时数据,通过计算规则对窗口中数据进行运算
结果存储:计算结果数据存入SQL和NoSQL
可视化:通过API调用结果数据进行展示
在阿里集团内,有大量成熟的产品可以完成此类工作,一般可供选型的产品如下:

image.png

​ 除这种方案外,今天给大家介绍一种新的方法:通过日志服务(LOG,原SLS)查询分析LogSearch/Analytics API 直接对接DataV进行大屏展示。

image.png

2017年9月日志服务(原SLS)加强日志实时分析功能(LogSearch/Analytics),可以使用查询+SQL92语法对日志进行实时分析。在结果分析可视化上,除了使用自带Dashboard外,还支持Grafana、Tableua(JDBC)等对接方式
两种方式差别
计算一般根据数据量、实时性和业务需求会分为两种方式:实时计算(流计算)、离线计算(数据仓库+离线计算),日志服务(原SLS)对实时采集数据提供两种方式对接。

image.png

除此之外,对于数据量偏大,对实时性有要求的日志分析场景,我们提供实时索引LogHub中数据机制,之后可通过LogSearch/Anlaytics直接进行查询分析。这种方法好处是什么:

快速:API传入Query立马拿到结果,无需等待和预计算结果
实时:日志产生到反馈大屏99.9%情况下1秒内
动态:无论修改统计方法、补数据能立马刷新结果,不需要等待重新计算
当然没有一个计算系统是万能的,这种方式限制如下:

数据量:单次计算数据量在百亿以下,超过需要限定时间段
计算灵活度:目前计算限于SQL92语法,不支持自定义UDF
实际案例:不断调整统计口径下实时大屏
云栖大会期间有个临时需求,统计线上(网站)在全国各地访问量。由于之前采集全量日志数据并且在日志服务中打开了查询分析,所以只要写一个查询分析Query即可。以统计UV为例子:我们对所有访问日志中nginx下forward字段获取10月11日到目前唯一计数:

* | select approx_distinct(forward) as uv
线上已跑了1天需求变更了,只需要统计yunqi这个域名下的数据。我们增加了一个过滤条件(host),立马拿到结果:

host:yunqi.aliyun.com | select approx_distinct(forward) as uv
后来发现Nginx访问日志中有多个IP情况,默认情况下只要第一个ip即可,在查询中对Query进行处理

host:yunqi.aliyun.com | select approx_distinct(split_part(forward,',',1)) as uv
到第三天接到需求,针对访问计算中需要把uc中广告访问去掉,于是我们加上一个过滤条件(not …)既马上算到最新结果:

host:yunqi.aliyun.com not url:uc-iflow  | select approx_distinct(split_part(forward,',',1)) as uv
Nov-16-2017 14-10-49.gif

最后大屏效果如下:

image.png

使用说明:SLS对接DataV
主要分3个步骤:

数据采集,参考文档
索引设置 与控制台查询,参考索引设置与可视化,或最佳实践中网站日志分析案例
对接DataV插件,将实时查询SQL转化为视图
我们主要演示步骤3,在做完1、2步骤后,在查询页面可以看到原始日志:

image.png

创建dataV数据源
image.png

image.png

类型指定『简单日志服务-SLS』

名称自定义

AK ID和AK Secret填写主账号,或者有权限读取日志服务的子帐号的AK。

Endpoint填写 日志服务的project所在region的地址。图中为杭州的region地址。

创建一个折线图
创建一个折线图,在折线图的数据配置中,数据源类型选择『简单日志服务-SLS』,然后选择刚刚创建的数据源『log_service_api』在查询中输入参数。

image.png

查询参数样例如下:

{
    "projectName": "dashboard-demo",
    "logStoreName": "access-log",
    "topic": "",
    "from": ":from",
    "to": ":to",
    "query": "*| select approx_distinct(remote_addr) as uv ,count(1) as pv , date_format(from_unixtime(date_trunc('hour',__time__) ) ,'%Y/%m/%d %H:%i:%s')   as time group by date_trunc('hour',__time__) order by time limit 1000" ,
    "line": 100,
    "offset": 0
  }
projectName填写自己的project。

logstoreName填写日志的logstore。

from和to分别是日志的起始和结束时间。

注意,上文的我们填写的是:from和:to。 在测试时,可以先填写unix time,例如1509897600。等发布之后,换成:from和:to这种形式,然后我们可以在url参数里控制这两个数值的具体时间范围。例如,预览是的url是http://datav.aliyun.com/screen/86312, 打开http://datav.aliyun.com/screen/86312?from=1510796077&to=1510798877后,会按照指定的时间进行计算。
query填写查询的条件,query的语法参考分析语法文档。样例中是展示每分钟的pv数。 query中的时间格式,一定要是2017/07/11 12:00:00这种,所以采用date_format(from_unixtime(date_trunc('hour',__time__) ) ,'%Y/%m/%d %H:%i:%s') 把时间对齐到整点,再转化成目标格式。

其他参数采用默认值。

配置完成后,点击『查看数据响应结果』:

image.png

点击上方『使用过滤器』,然后新建一个过滤器:

image.png

过滤器内容填写:

return Object.keys(data).map((key) => {
  let d= data[key];
  d["pv"] = parseInt(d["pv"]);
  return d;
}
)
在过滤器中,要把y轴用到的结果变成int类型,上述样例中,y轴是pv,所以需要转换pv列。

能看到在结果中有t和pv两列,那么我们在x轴配置为t,y轴配置成pv。

配置一个饼状图
image.png

查询填写:

{
    "projectName": "dashboard-demo",
    "logStoreName": "access-log",
    "topic": "",
    "from": 1509897600,
    "to": 1509984000,
    "query": "*| select count(1) as pv ,method group by method" ,
    "line": 100,
    "offset": 0
  }
在查询中,我们计算不同method的占比。

添加一个过滤器,过滤器填写:

return Object.keys(data).map((key) => {
  let d= data[key];
  d["pv"] = parseInt(d["pv"]);
  return d;
}
)
饼图的type填写method, value填写pv。

预览和发布
点击预览和发布,一个大屏就创建成功了。开发者和业务同学可以在双十一当天实时看到自己的业务访问情况!

附上:Demo地址。url中的参数from和to,大家可以随意切换成任意时间。

image.png

image.png

操作演示:


0:00
/ 3:00


本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
分享到:
评论

相关推荐

    001_大屏_大屏数据展示_可视化大屏_可视化大屏源码_数据开发_源码.zip

    "001_大屏_大屏数据展示_可视化大屏_可视化大屏源码_数据开发_源码.zip"这一资源正专注于解决这个问题,它提供了大屏数据展示和可视化大屏的源码,旨在帮助开发者构建高效、美观的数据可视化应用。 大屏数据展示是...

    001_大屏_大屏数据展示_可视化大屏_可视化大屏源码_数据开发.zip

    总之,“001_大屏_大屏数据展示_可视化大屏_可视化大屏源码_数据开发.zip”是一个全面的学习资源,不仅展示了大屏数据展示与可视化的理论知识,还提供了实践案例,对于提升开发者在数据可视化领域的能力大有裨益。...

    各类业务领域的离线数据大屏(浏览器可直接访问)

    "各类业务领域的离线数据大屏(浏览器可直接访问)" 指的是无需实时连接服务器,而是通过下载离线文件在本地或私有网络环境中直接在浏览器上查看的数据可视化界面。这种方案适用于那些对数据安全性有较高要求,或者...

    数据大屏76套源码.zip

    "数据大屏76套源码.zip" 是一个包含76个不同设计和功能的数据大屏模板的压缩文件,为用户提供了丰富的选择,无需从零开始构建,直接可以用于自己的项目中。下面我们将详细探讨这些知识点: 1. **前端技术**:数据...

    Vue数据可视化大屏_油井物联网监控_vue_

    在"Vue数据可视化大屏_油井物联网监控_vue_"项目中,Vue.js 被用来构建一个实时的油井物联网监控系统,用于展示和分析油井的工作状态和各项关键数据。 1. **Vue.js 数据绑定**:Vue的核心特性之一是其双-way数据...

    数据可视化大屏资料合集_大屏_数据可视化_驾驶舱html_源码.zip

    在决策制定、业务监控和报告展示等方面,大屏数据可视化提供了一种直观、实时的方式,提高了信息传达的效率和准确性。 2. **大屏设计** 大屏数据可视化通常用于大型会议室、指挥中心或公共展示区域,其特点是屏幕...

    8套精美 智能数据大屏+HTML5 源码

    智能数据大屏是一种高效的信息展示工具,常用于企业数据分析、监控和汇报,通过可视化的方式将复杂的数据转化为易于理解的图表和图形。在这个压缩包中,包含的8套精美智能数据大屏提供了丰富的模板选择,可以帮助...

    疫情大屏_2020新GUAN疫情大屏_疫情_

    【疫情大屏】是一款专为展示全球新冠疫情实时数据而设计的可视化工具,它通过美观的界面,动态地呈现了各国及地区的疫情状况。这款大屏应用不仅提供了关键的疫情统计数据,如确诊人数、治愈病例、死亡病例等,还可能...

    16套html5数据大屏分析显示模板

    这个资源包“16套html5数据大屏分析显示模板”显然旨在为开发者提供一系列现成的解决方案,帮助他们快速构建用于数据可视化和分析的大屏幕展示。这些模板通常用于企业监控室、报告展示或数据分析会议,能够有效地...

    一个基于 vue、datav、Echart 框架的数据大屏项目,通过 vue 组件实现数据动态刷新渲染,内部图表可实现自由替换

    一个基于 vue、datav、Echart 框架的 " 数据大屏项目 ",通过 vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV 自带组件,可进行更改,详情请点击下方 DataV 文档。 项目需要全屏展示...

    4个可视化数据大屏demo源码

    这是一种利用大型显示器展示海量数据的交互式界面,通常用于企业监控中心、指挥调度中心等场合,以便实时监控业务状况。大屏设计通常包含多种图表类型,如折线图、柱状图、饼图、热力图等,以及丰富的色彩和动画效果...

    (1)Vue数据可视化大屏_景区管理平台.rar

    Vue数据可视化大屏在当前的IT行业中已经成为一种热门的技术应用,尤其在景区管理平台的建设中,它能够高效地展示各类关键数据,帮助决策者快速理解景区运营状况。本项目以"Vue数据可视化大屏_景区管理平台"为主题,...

    数据大屏可视化模板(车联网平台数据概览)

    数据大屏可视化是一种将复杂数据转化为直观、动态的图形化展示方式,广泛应用于各个领域,尤其是在车联网平台数据概览中,它能有效地帮助决策者快速理解车辆运行状态、数据分析结果和业务趋势。在这个模板中,我们...

    092 酷炫大屏数据可视化模板_大屏幕展屏(html源码).rar

    在IT行业中,数据可视化是一种将复杂数据转化为易于理解的图形或图像表示的技术,它能够帮助用户快速洞察数据背后的模式、趋势和关联。本资源“092 酷炫大屏数据可视化模板_大屏幕展屏(html源码).rar”提供了用于...

    002_大屏展示_大屏可视化_002.cc全迅网_大屏数据展示_数字化大屏demo.zip

    002.cc全迅网提供的这个"数字化大屏demo"是一个很好的学习和参考资源,其中包含了大屏数据展示的源码,让我们有机会深入了解其背后的实现机制。 大屏展示的核心在于将复杂的数据以直观、易懂的方式呈现出来,通常...

    057 大屏数据统计_大屏幕展屏(html源码).rar

    标题中的“057 大屏数据统计_大屏幕展屏(html源码).rar”指的是一个关于大数据展示的项目,其中包含了...这个压缩包为那些希望提升数据展示专业性的人员提供了一个实践平台,帮助他们掌握大屏数据统计的制作技巧。

    002_大屏展示_大屏可视化_002.cc全迅网_大屏数据展示_数字化大屏demo_源码.zip

    002_大屏展示_大屏可视化_002.cc全迅网_大屏数据展示_数字化大屏demo_源码.zip

Global site tag (gtag.js) - Google Analytics