当您需要频繁查看某一查询和分析语句的结果时,可以将该查询和分析语句另存为快速查询。快速查询是日志服务提供的用于保存查询和分析操作的功能。您可通过保存的历史操作,快速执行查询和分析操作。
前提条件
已创建索引。具体操作,请参见创建索引。
创建快速查询
修改快速查询
在左侧导航栏中,选择。
在快速查询列表中,单击目标快速查询。
输入新的查询和分析语句,然后单击
。单击页面右上角的
图标。在快速查询详情面板中,修改快速查询相关信息,单击确定。
获取快速查询ID
创建快速查询后,您可以使用快速查询ID将快速查询页面嵌入到自建Web页面。具体操作,请参见配置控制台内嵌参数。
在左侧导航栏中,选择。
在快速查询列表中,单击目标快速查询。
在URL中获取快速查询ID。

通过 URL 参数动态传递快速查询变量
当您将日志服务控制台通过 iframe 嵌入到自建 Web 页面,或需要从外部系统跳转到快速查询页面时,可以通过在 URL 中附加参数,动态替换快速查询语句中的变量占位符,实现查询内容的动态注入。
前提条件
已创建快速查询,并在查询语句中使用了 Token 变量(即
${变量名}格式的占位符)。快速查询已开启 Token 功能(tokenQuery 模式)。
Token 变量的配置方式:在快速查询语句中,将需要动态替换的值写成 ${变量名} 形式,例如 * | WHERE status = ${testParam}。
快速查询页面的标准 URL 格式如下:
/lognext/project/{ProjectName}/savedsearch/{SavedSearchName}在此 URL 后附加查询参数,即可实现动态变量注入和过滤条件叠加。URL 参数说明如下:
当查询参数中包含特殊字符时,请进行URL编码后传入。
参数名 | 类型 | 是否必须 | 说明 |
| JSON 数组字符串 | 否 | 直接传入变量值,用于替换查询语句中的 |
| JSON 数组字符串 | 否 | 从上游(如仪表盘 drilldown)继承的变量值,格式与 |
| 字符串 | 否 | 直接追加的过滤条件,会以 AND 方式追加到查询语句最前面 |
token 参数
token 是一个 JSON 数组,每个元素为 { "key": "变量名", "value": "替换值" } 的对象。格式如下:
[{"key": "变量名1", "value": "值1"}, {"key": "变量名2", "value": "值2"}]示例:假设快速查询 my-search 的查询语句为 * | WHERE status = ${testParam},通过以下 URL 传递参数后,查询语句将被替换为 * | WHERE status = '200':
/lognext/project/my-project/savedsearch/my-search?token=[{"key":"testParam","value":"200"}]
tokenInherit 参数
tokenInherit 与 token 格式相同,通常由仪表盘的 drilldown 跳转自动附带,用于将仪表盘中选中的变量值继承到快速查询中。当 token 和 tokenInherit 同时存在时,token 中的变量优先级更高,相同 key 以 token 为准。
filters 参数
filters 是一个过滤条件字符串,会直接以 AND 方式追加到查询语句最前面。示例:
/lognext/project/my-project/savedsearch/my-search?filters=level%3D"ERROR"最终执行的查询语句为:
(level="ERROR") AND <原始查询语句>参数优先级与叠加顺序
当多个参数同时存在时,查询语句的构建顺序如下:
以快速查询的原始语句为基础;
若存在
token或tokenInherit,对语句中的${变量名}占位符进行替换;若存在
filters,将该过滤条件以 AND 追加到最前面。
完整示例
Project 名称为 my-project,快速查询名称为 error-query,查询语句为 * | WHERE status = ${statusCode} AND host = ${hostName},需要传入 statusCode=500、hostName=web-server-01,并附加过滤条件 level="ERROR"。构造 URL:
/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"},{"key":"hostName","value":"web-server-01"}]&filters=level%3D"ERROR"最终执行的查询语句为:
(level="ERROR") AND * | WHERE status = 500 AND host = web-server-01在 iframe 嵌入场景中使用
如果您通过 iframe 将快速查询页面嵌入到自建 Web 中,可以在构造 iframe 的 src URL 时动态拼接参数:
<iframe
src="/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"}]"
width="100%"
height="800px"
frameborder="0"
/>或在 JavaScript 中动态构造:
const params = encodeURIComponent(JSON.stringify([
{ key: 'statusCode', value: '500' },
{ key: 'hostName', value: 'web-server-01' }
]))
const iframeSrc = `/lognext/project/my-project/savedsearch/error-query?token=${params}`
document.getElementById('sls-iframe').src = iframeSrc注意事项
token参数值为 JSON 数组,在 URL 中需要进行 URL 编码(encodeURIComponent)。变量名(key)须与快速查询语句中定义的 Token 变量名完全一致(区分大小写)。
若快速查询未开启 Token 功能(
tokenQuery为空),token和tokenInherit参数将不生效,查询语句不会被替换。filters无论快速查询是否开启 Token 功能,均可正常使用。
删除快速查询
在左侧导航栏中,选择。在快速查询列表中,鼠标悬浮在目标快速查询上,单击
,然后单击删除。



