日志服务高级图表介绍

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介: 日志服务高级图表 一张好图胜过千言万语。所谓的高级图表,并不是指使用上的高级,而是相对于一些基础图表(线图、饼图),在一些特殊场景下使用它们能发挥出来更好的效果。如图所示,这些高级图表目前在阿里云日志服务控制台都是已经支持的。

日志服务高级图表

一张好图胜过千言万语。所谓的高级图表,并不是指使用上的高级,而是相对于一些基础图表(线图、饼图),在一些特殊场景下使用它们能发挥出来更好的效果。
undefined
如图所示,这些高级图表目前在阿里云日志服务控制台都是已经支持的。下面将简单介绍这些图表,以及它们的使用场景。

变更图

简介:通过绘制每个数据点的X轴起始值来显示时间范围。使用的每个时间值 被绘制为条形柱的上限和下限。这里需要注意的是,X轴的数值必须是Unix时间戳。x轴的显示会根据时间戳的范围,进行格式化,动态的显示成时间字符串。
使用场景:延迟分布、trace分析
实践:通过变更图表,分析网站请求超时问题。

* | select min(__time__) - random(4000) as startTime, max(__time__) + random(4000) as endTime , request_uri group by request_uri

查询结果:
undefined
这个数据是一个简单的mock数据。request_uri表示请求地址,startTime表示请求开始时间,endTime表示加载完成时间。类似这样的场景,就可以利用我们的变更图了。效果图如下。
undefined
通过观察蓝色柱状的长度,可以迅速发现那些地址的加载时间存在异常。

漏斗图

简介:漏斗图适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观地发现和说明问题所在的环节,进而做出决策。漏斗图用梯形面积表示某个环节业务量与上一个环节之间的差异。漏斗图从上到下,有逻辑上的顺序关系,表现了随着业务流程的推进业务目标完成的情况。
使用场景:流程流量分析
undefined
以电商网站用户操作的信息为例。我们可以看到用户从“浏览网站”到“完成交易”整体的转换情况。通过漏斗图,我们能看到各个流程上转换的情况,这可以帮助我们快速的找出那个环节出了问题,需要优化的环节是那部分。
实践:模拟一个帮助文档的点击信息日志,通过点击总数,来分析每个页面之间的点击转换情况。
undefined
通过查询语句,查询出文档每一页的点击情况。

event.type:click and (event.target: register  or event.target: button_19 or event.target:button_18 or event.target: button_17  or event.target:  button_16) | select "event.target" as target ,  count(1) as click_count  group by target order by strpos('register,button_19,button_18,button_17,button_16'  , "event.target")

查询结果:
undefined
这里数据表示从第一页到最后一页的总点击量。
undefined
通过漏斗图的展示,可以知道有多少用户是完整看完了帮助文档,以及整个流程自上而下的点击量变化。这能帮助我们快速分析出大部分用户是在哪一个页面停止继续浏览。然后针对性的对这个页面进行优化,进步一增强用户的引导,提升文档整体的完整阅读率。

气泡图

简介:气泡图通常用于比较和展示不同类别圆点(这里我们称为气泡)之间的关系,通过气泡的位置以及面积大小。从整体上看,气泡图可用于分析数据之间的相关性。气泡图主要由三个维度组成:X轴,Y轴,数值列(对应气泡的大小)
使用场景:监控,异常分析
实践:通过气泡图分析请求的异常情况,我们首先预设一些请求次数上限的阈值。通过超出阈值来判断异常情况。
查询语句:

* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i') as minute, case 
when method = 'GET' and COUNT(1) > 9000 then 3 when method = 'GET' and COUNT(1) > 8500 then 2 when method = 'GET' and COUNT(1) > 8000 then 1 
when method = 'POST' and COUNT(1) > 3000 then 3
when method = 'DELETE' and COUNT(1) > 1500 then 3
else 0 end as level,  method group by minute, method order by minute asc limit 1000

查询结果:
undefined
这里通过查询语句,将每分钟GET请求超过9000,8500,8000的异常等级分别用level:3,2,1来表示。然后通过level作为气泡图的数值列,就可以得到一张请求异常分析的图表了。
undefined
通过气泡图,我们可以快速分析出那些时间点对应的请求发生了异常,以及异常发生的严重程度。

迷你图

简介:在数据处理中,图表往往会比较直观形象的反映数据的变化,但是普通图表占空间比较大,排版也需要花费很多时间,因此迷你图应运而生。简而言之,迷你图就是在表格中显示基础图形。迷你图更多的是为了展示指标趋势的变化,对于图形的X轴和Y轴具体信息它不会显示出来,所以我们在使用它的时候,需要考虑到这点。还有一点需要注意的是,绘制迷你图,我们要确保数据是一个数字数组类型。
使用场景:多个指标的趋势变化
实践:以疫情数据分析为例,我们想知道每个国家的病例发展趋势,并在一个大盘中显示出来。如果采用单个基础图形进行绘制,这需要占用很大的空间,而且浏览器加载也会较慢。迷你图正好解决了这个问题。
查询语句:

version: test and type: country_stat | select "国家", "确诊", "确诊趋势", "治愈趋势", "疑似趋势" from (select country as "国家", quezhen as "确诊", quezhen_hist as "确诊趋势", zhiyu_hist as "治愈趋势", yisi_hist as "疑似趋势"  from log l right join (select max(version) as version from log) r on  l.version =  r.version order by quezhen desc, zhiyu desc, dead desc, yisi desc, country)

查询结果:
undefined
通过查询,得到了,"确诊趋势", "治愈趋势", "疑似趋势",三个趋势的数字数组信息。然后进行迷你图相关的属性配置。
undefined
最后生成图表如下:
undefined
通过一张图表,就能让我们一眼看到大量数据的趋势变化,这种可读性是非常强的。

时间轴

简介:时间轴是依据时间顺序,把一方面或多方面的事件串联起来,形成相对完整的记录体系。在时间轴上面,我们可以清晰的观测到数据在某一个时间点的数据情况,它的优点主要是具有连续性和准确性。
使用场景:新闻动态类场景
实践:还是以疫情数据分析为例。通过时间轴来展示疫情的实时动态。
查询语句:

type: news | select news_time as "发布时间", author as "发布者", title as "标题", source as "来源网站",
case when strpos(url, 'https://') = 1 then substr(url, 9) when  strpos(url, 'http://') = 1 then substr(url, 8) else url end as url from log l right join 
(select max(version) as version from log) r on  l.version =  r.version order by news_time asc limit 50

查询结果:
undefined
对于这类信息,我们更多关心的是新闻标题和发布者,以及新闻发布时间。我们可以在时间轴属性配置里面,在“显示列”中选择“标题”和“发布者”,然后在提示列中选择完整的列。
undefined
最终生成的图表如下:
undefined
鼠标放上去显示详细信息:
undefined

写在最后

这里关于高级图表的使用,是日志服务可视化中很小一部分功能。目前日志服务支持的可视化组件类型有30+,覆盖了绝大部分数据可视化场景。日志服务可视化目前经历了大量场景的锤炼,在集团内部得到了广泛使用。如果您有更好的想法或者建议,欢迎加入钉钉群进行讨论。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
EMQ
|
消息中间件 运维 Kubernetes
XMeter Newsletter 2022-06|企业版 v3.2.3 发布,错误日志与测试报告图表优化
六月,XMeter 发布了企业版 3.2.3 版本。这个版本仍保留了非 Kubernetes 的测试机部署方式,即在多台物理机或虚机上预安装 XMeter 的测试代理 DCM,以构建可水平扩展的测试机集群。
EMQ
191 0
XMeter Newsletter 2022-06|企业版 v3.2.3 发布,错误日志与测试报告图表优化
|
监控
日志分析图表:同比环比场景和TreeMap
一. 同比环比场景应用 同比环比是日志分析中十分常见的场景,日志服务于7月推出同比环比函数,我们可以利用其强大的分析能力,配合日志分析图表中的同比环比图以及折线图和柱状图进行非常直观清晰的展示。 同比环比函数 同比函数用于把当前区间的计算结果和之前一个指定区间的结果进行比较。
3669 0
|
19天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
156 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
245 3
|
3月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
136 3
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1645 14
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0

相关产品

  • 日志服务
  • 下一篇
    无影云桌面