类型说明
类型 | 说明 | 生效范围 |
通过指定字段的字段值对仪表盘内所有图表的数据进行过滤。过滤字段在日志主题索引配置内开启统计时,可自动获取字段的值作为列表项 | 仪表盘内所有日志主题的图表 | |
通过输入检索语句对仪表盘内所有图表的数据进行过滤,相当于在各图表查询语句中增加了过滤条件。检索语句过滤支持 范围过滤、NOT 过滤、全文检索等更丰富的过滤方式 | 仪表盘内所有日志主题的图表 | |
数据源变量支持批量切换仪表盘内图表的数据源,适用于一个仪表盘应用到多个日志主题、仪表盘内数据进行蓝绿对比等场景 | 仪表盘内使用该变量的图表 | |
自定义变量支持用户自己设置静态输入或动态查询的变量值,替换到检索语句、标题、文本图表中,实现快捷的语句批量修改。 | 仪表盘内使用该变量的图表 | |
系统预置变量,无需配置即可直接在语句中引用,自动替换语句中对应的字段。在需要自适应时间颗粒度、自动获取当前时间范围的场景适用。 | 仪表盘内使用该变量的图表 |
过滤
下拉选项过滤配置
1. 登录 日志服务控制台。
2. 在左侧导航栏中,单击仪表盘>仪表盘列表,进入仪表盘管理页面。
3. 单击需要操作的仪表盘 ID/名称,进入该仪表盘详情页面。
4. 单击顶部的新增过滤与变量打开设置页面。
5. 在弹出的窗口中,设置下拉选项过滤配置,单击确定。
表单元素 | 说明 |
类型 | 不同的类别对应不同的配置项与应用场景,此处选择下拉选项过滤。 |
过滤器别名 | 界面上过滤器的显示名称,非必填项目,空置时自动使用过滤字段为显示名称。 |
日志主题 | 过滤字段来源的日志主题。 |
过滤字段 | 过滤的对象字段。 |
动态选项 | 开启后,自动获取过滤字段的值作为过滤选项。 |
上级级联过滤 | 可选择当前过滤字段级联的上一级过滤字段,配置后只会显示符合上一级过滤条件的过滤项。常用如:国家、省份等具有级联关系的字段。 |
静态选项 | 手动添加过滤项,静态过滤项将常驻显示,支持配置别名,非必填项目。 |
默认过滤 | 用于配置查看仪表盘时的默认过滤项,非必填项目。 |
支持多选 | 开启后可以选择多个过滤项作为过滤条件。 |
6. 返回仪表盘详情页面,单击过滤器,选择过滤项,仪表盘数据将刷新为过滤后内容。
检索语句过滤配置
1. 登录 日志服务控制台。
2. 在左侧导航栏中,单击仪表盘>仪表盘列表,进入仪表盘管理页面。
3. 单击需要操作的仪表盘 ID/名称,进入该仪表盘详情页面。
4. 单击顶部的新增过滤与变量打开设置页面。
5. 在弹出的窗口中,设置检索语句过滤信息,单击确定。
表单元素 | 说明 |
类型 | 不同的类别对应不同的配置项与应用场景,此处选择检索语句过滤。 |
过滤器名称 | 过滤器的名称,名称唯一,不能重复。 |
过滤器别名 | 界面上过滤器的显示名称,非必填项目。 |
日志主题 | 过滤字段来源的日志主题。 |
模式 | 检索语句的输入模式,支持交互模式与语句模式两种。 |
默认过滤 | 用于配置查看仪表盘时的默认过滤项,非必填项目。 |
6. 返回仪表盘详情页面,单击过滤器,选择过滤项,仪表盘数据将刷新为过滤后内容。
检索语句过滤支持:范围过滤、NOT 过滤、全文检索等更丰富的过滤方式。
变量
数据源变量配置
1. 登录 日志服务控制台。
2. 在左侧导航栏中,单击仪表盘>仪表盘列表,进入仪表盘管理页面。
3. 单击需要操作的仪表盘 ID/名称,进入该仪表盘详情页面。
4. 单击顶部的新增过滤与变量打开设置页面。
5. 在弹出的窗口中,设置模板变量信息,单击确定。
表单元素 | 说明 |
变量类型 | 变量的类别,不同的类别对应不同的配置项与应用场景,此处选择数据源变量。 |
变量名称 | 查询检索语句中变量的命名,仅支持字母、数字和_。 |
显示名称 | 仪表盘上变量的显示名称,非必填项目,为空时自动使用变量名称为显示名称。 |
数据源范围 | 变量值的可选范围,默认为“所有日志主题”。可选择“自定义过滤”,设置过滤条件,只查看符合条件的日志主题。 |
默认日志主题 | 默认使用的日志主题。 |
6. 返回仪表盘详情页面,单击图表右上角的
>编辑。说明:
7. 在编辑图表检索语句内,单击日志主题,勾选使用数据源变量,选择刚新建的模板变量。
8. 点击保存。
9. 返回仪表盘详情页面,单击上方的数据源变量下拉框,将日志主题切换为其他日志主题,使用该变量的图表将自动切换数据源。
自定义变量配置
1. 登录 日志服务控制台。
2. 在左侧导航栏中,单击仪表盘>仪表盘列表,进入仪表盘管理页面。
3. 单击需要操作的仪表盘 ID/名称,进入该仪表盘详情页面。
4. 单击顶部的新增过滤与变量打开设置页面。
5. 在弹出的窗口中,设置自定义变量信息,单击确定。
表单元素 | 说明 |
类型 | 变量的类别,不同的类别对应不同的配置项与应用场景,此处选择数据源变量。 |
变量名称 | 查询检索语句中变量的命名,仅支持字母与数字。通过${变量名称}的格式引用变量。 |
变量别名 | 查仪表盘上变量的显示名称,非必填项目,为空时自动使用变量名称为显示名称。 |
静态变量值 | 手动添加静态变量值,静态变量值将常驻显示,支持配置别名。 |
动态变量值 | 开启后,可以选择一个日志主题并输入检索分析语句,取检索分析的结果作为可选变量值。 |
默认值 | 默认使用变量值,为必填项。 |
6. 返回仪表盘详情页面,单击图表右上角的
>编辑。说明:
7. 在编辑图表检索语句内,插入刚才创建的自定义变量${region},替换原始的文本。
8. 单击应用到仪表盘。
9. 返回仪表盘详情页面,单击上方的地域颗粒度变量下拉框,修改颗粒度,发现插入该变量的图表发生对应的变更。
系统预置变量
系统预置变量无需配置即可在仪表盘中直接使用。
时间颗粒度变量
时间颗粒度变量应用到语句中时将会自动根据所选时间范围适配不同的时间颗粒度,并替换到语句中。用法如下:
变量 | 说明 | 变量替换后的结果格式 |
${__interval} | 变量自动根据时间范围适配不同的时间颗粒度,不指定时间颗粒度单位。 | 10s、15m、2h等(默认格式) 10 second、15 minute、2 hour等(使用histogram函数时) |
示例:
日志主题:使用 histogram 函数做时序分析
* | select histogram(__TIMESTAMP__,interval ${__interval}) as time, count() as count group by time order by time limit 10000
日志主题:使用 time_series 函数做时序分析
* | select time_series(__TIMESTAMP__, '${__interval}', '%Y-%m-%dT%H:%i:%s+08:00', '0') as time, count(*) as count group by time order by time limit 10000
指标主题:统计指标每秒平均变化率
rate(MetricName{label=~".*"}[${__interval}])
时间长度变量
时间范围变量,应用到语句中时将会自动根据所选时间范围计算所选时间的长度,并替换到语句中。用法如下:
变量 | 说明 | 变量替换后的结果格式 |
${__range} | 将会自动根据所选时间范围计算所选时间的长度。 | 10s、150s、300s等 |
${__range_s} | 将会自动根据所选时间范围计算所选时间的长度,指定时间长度的单位为s,结果不携带单位。 | 10、150、300等 |
${__range_ms} | 将会自动根据所选时间范围计算所选时间的长度,指定时间长度的单位为ms,结果不携带单位。 | 10000、150000、300000等 |
示例:
指标主题:统计所选时间范围的PV
sum_over_time(ReqCount{label=~".*"}[${__range}])
指标主题:统计所选时间范围的QPS
sum_over_time(ReqCount{label=~".*"}[${__range}])/${__range_s}
常见问题
配置并使用数据源变量后,为什么没有生效,或只有部分图表生效?
数据源变量并不会直接针对仪表盘内所有图表生效,只有在图表编辑页面中使用了该变量的图表才会生效。
使用案例
在仪表盘内分析不同应用接口的性能指标(下拉选项过滤)
需求场景
日志主题 A 为某应用的 nginx 访问日志,需要通过仪表盘查看该应用整体及指定某个接口的吞吐量、错误请求数和响应时间。样例日志如下:
body_bytes_sent:1344client_ip:127.0.0.1host:www.example.comhttp_method:POSThttp_referer:www.example.comhttp_user_agent:Mozilla/5.0proxy_upstream_name:proxy_upstream_name_4remote_user:examplereq_id:5EC4EE87A478DA3436A79550request_length:13506request_time:1http_status:201time:27/Oct/2021:03:25:24upstream_addr:219.147.70.216upstream_response_length:406upstream_response_time:18upstream_status:200interface:proxy/upstream/example/1
解决方案
1. 创建仪表盘。
2. 针对应用性能指标,分别创建三个图表(时序图)。其对应的查询语句分别如下:
吞吐量:
* | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as analytic_time, count(*) as pv group by analytic_time order by analytic_time limit 1000
错误请求数:
http_status:>=400 | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as analytic_time, count(*) as pv_lost group by analytic_time order by analytic_time limit 1000
平均响应时间:
* | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as analytic_time, avg(request_time) as response_time group by analytic_time order by analytic_time limit 1000
3. 添加下拉选项过滤。
类型:下拉选项过滤
显示名称:接口名称
日志主题:日志主题 A
字段选择:interface
4. 返回仪表盘详情页面,即可在页面顶部看到该变量。
接口名称没有指定值时,表示不进行数据过滤,仪表盘内各个图表展示的是全部数据,即应用的整体性能指标。
接口名称指定具体值时,仪表盘内所有图表以该接口作为过滤条件进行数据过滤,展示该接口的性能指标。
在仪表盘内分别查看生产环境及测试环境的性能指标(数据源变量)
需求场景
某应用具备生产环境及测试环境,分别将日志采集到“日志主题 A(生产环境)”和“日志主题 B(测试环境)”中。因此,在应用的开发、测试及运维过程中,需要同时关注两个环境的性能指标。
解决方案
1. 创建仪表盘。
2. 添加模板变量。
变量类型:数据源
变量名称:env
显示名称:应用环境
数据源范围:所有日志主题
默认日志主题:日志主题 A(生产环境)
3. 添加图表。
在日志主题下拉菜单中,勾选“使用数据源变量”,选择上一步中创建的
${env}
变量。图表将使用该变量的值作为当前图表的数据源,即日志主题 A(生产环境)。
4. 重复执行步骤3,添加其他图表。
5. 返回仪表盘详情页面,并在该页面顶部单击数据源变量“应用环境”,在该变量的下拉菜单中切换日志主题。同时,使用该变量的图表也将切换日志主题。