时序图

最近更新时间:2025-07-03 15:06:02

我的收藏
时序图需要统计数据具备时序字段,依据时间顺序组织与聚合指标。可直观反映指标随时间的变化趋势。统计近一周,每天404错误出现的次数等趋势分析场景适用。

操作步骤

1. 登录 日志服务控制台,选择仪表盘 > 仪表盘列表,选择您想查看的仪表盘。
2. 单击 添加图表,新建一个图表,图表类型选择时序图
3. 按照需求配置图表。

通用配置

配置项
说明
图表名称
设置图表的显示名称,可为空。
图例
设置图表的图例内容,可以控制图例的样式与位置。同时也支持在图例中添加对比数据。
悬浮提示
设置鼠标悬浮触发的气泡提示的内容样式。
标准配置
设置图表内所有指标类型的字段单位。详情请参见 单位配置
交互事件
自定义交互事件功能,支持单击图表内容触发交互打开检索分析页面、仪表盘页面、第三方 URL 等。详情请参见 交互事件

统计分析字段

时序图必需时间字段和指标字段,当碰到数据不匹配的情况时,需手动选择统计分析字段。
配置项
说明
时间字段
用作时序图 X 轴的时间类型字段,默认选择数据类型为 time 的字段。当没有 time 类型字段时,需手动选择指定字段。
维度字段
分类字段,默认选择数据类型为 string 的字段。当没有 string 类型字段时,需手动选择指定字段。
指标字段
数值字段,默认选择数据类型为 number 的字段。当没有 number 类型字段时,需手动选择指定字段。

趋势对比

配置项
说明
趋势对比
开启趋势对比后,可以选择和 X 小时、天、月、年以前的同周期数据进行对比。对比数据以虚线的方式显示在图表中。




时序图配置

配置项
说明
时序图样式
绘制样式:数据在坐标轴上的显示样式,选择线则为折线图,选择柱则为直方图,选择点则为散点图。
连线方式:设置点与点之间的连线使用直线还是平滑曲线。
线宽:控制线条的粗细。
填充:设置区域填充的样式。
不透明度:控制填充区域的不透明度
显示点:显示数据点,无数据则不显示。
点的大小:设置点的大小。
空值:线上空值点的处理,默认连接。
堆叠方式:是否将数据堆叠显示。
指标最大显示数量:默认显示的最大指标(线条)数量,超出的将被收折隐藏。
坐标轴
Y 轴位置:显示/隐藏 Y 轴,及 Y 轴的位置。
Y 轴最大值/Y 轴最小值:设置 Y 轴显示的最大值与最小值,大于最大值,小于最小值的坐标区域不显示。
Y 轴尺度:控制 Y 轴的尺度,支持线性尺度与对数尺度。
绘制样式示例:



填充示例:



空值示例:




阈值配置

配置项
说明
阈值配置
阈值点:设置阈值点,可以添加多个阈值区间,单击阈值对应色彩可打开色盘自定义颜色。
阈值展示:控制阈值展示的样式,包含阈值线、区域填充、阈值线和区域填充三种模式。选择关闭时,不使用阈值。





字段配置

配置项
说明
字段配置
字段配置支持仅对所选字段生效的配置项,该配置会覆盖默认的图表配置。
示例
实现折线与直方图叠加效果
当表格有多个指标时,想使用折线图展示带宽,使用直方图显示访问 PV。可选择添加字段配置,选择访问 PV,单位配置为“次数”,绘制样式选择“柱”,填充选择“100”,实现目标效果。



折线与直方图叠加效果:





实现双坐标轴效果
当时序图有多个指标时,如想把 Error 日志数、错误率同时显示在同一图上,并带上单位。Error 日志数单位为 “次数”,错误率单位为 “%”,单位不同。此时选择添加字段配置,选择“Error 日志数”,单位配置为“次数”,选择“错误率”,单位配置为“%”,实现双坐标轴的效果。



您可查看双坐标轴的效果:




图表操作

框选时间范围




鼠标悬浮在图表上,长按后拖拽触发框选,时间范围将会使用框选区域的时间。适用于异常点的时间范围下钻等场景。

语句示例

时序图制图需要具备时间类型的字段,使用需依赖各种函数来对时间字段进行处理。更多的时序图时间函数请参见 时间与日期函数
计算每分钟的 PV 与 UV:
* | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as time, count(*) as pv,count( distinct remote_addr) as uv group by time order by time desc limit 10000



计算每分钟各协议类型的 PV:
* | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as time, protocol_type, count(*) as pv group by time, protocol_type order by time desc limit 10000



计算每分钟的请求失败率(%):
* | select date_trunc('minute', __TIMESTAMP__) as time, round(sum(case when status = 404 then 1.00 else 0.00 end)/ cast(count(*) as double)*100,3) as "404比例", round(sum(case when status >= 500 then 1.00 else 0.00 end)/cast(count(*) as double)*100,3) as "5XX比例", round(sum(case when status >= 400 and status < 500 then 1.00 else 0.00 end)/cast(count(*) as double)*100,3) as "4XX比例", round(sum(case when status >= 400 then 1.00 else 0.00 end)/cast(count(*) as double)*100,3) as "总失败率" group by time order by time limit 10000