日志服务高级图表介绍

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

日志服务高级图表

一张好图胜过千言万语。所谓的高级图表,并不是指使用上的高级,而是相对于一些基础图表(线图、饼图),在一些特殊场景下使用它们能发挥出来更好的效果。
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
170 0
XMeter Newsletter 2022-06|企业版 v3.2.3 发布,错误日志与测试报告图表优化
|
监控
日志分析图表:同比环比场景和TreeMap
一. 同比环比场景应用 同比环比是日志分析中十分常见的场景,日志服务于7月推出同比环比函数,我们可以利用其强大的分析能力,配合日志分析图表中的同比环比图以及折线图和柱状图进行非常直观清晰的展示。 同比环比函数 同比函数用于把当前区间的计算结果和之前一个指定区间的结果进行比较。
3557 0
|
17天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
73 1
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
72 1
|
22天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
27天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
48 0
|
29天前
|
存储 数据库
ALTER MATERIALIZED VIEW LOG :语句来更改现有物化视图日志的存储特征或类型。
`ALTER MATERIALIZED VIEW LOG` 语句用于修改已有的物化视图日志的存储属性或类型。配合示例中的动画图像(由于格式限制无法显示),该语句帮助优化数据库的性能和管理。
44 0

相关产品

  • 日志服务