向数据框分析作业添加自定义 URL
Elastic Stack 无服务器
您可以选择性地将一个或多个自定义 URL 附加到您的数据框分析作业。 这些链接可以将您定向到仪表盘、**Discover** 应用或外部网站。 例如,您可以定义一个自定义 URL,以便用户可以从回归作业向下钻取到源数据。 您可以在作业创建期间,在**作业详情**步骤中的**其他设置**下创建自定义 URL。 或者,您可以通过单击**操作**菜单中的**编辑**,在作业列表中编辑或添加新的自定义 URL。

当您在 Kibana 中创建或编辑数据框分析作业时,它可以简化 Kibana 仪表盘和 **Discover** 应用的自定义 URL 的创建,并使您能够测试您的 URL。 例如

对于每个自定义 URL,您必须提供一个标签。 您还可以选择性地提供时间范围。 当您链接到 **Discover** 或 Kibana 仪表盘时,您将有其他选项来指定相关的数据视图或仪表盘名称和查询实体。
您可以在自定义 URL 中使用美元符号 ($) 分隔的令牌。 这些令牌将被替换为结果索引中相应字段的值。 例如,一个自定义 URL 可能会解析为 discover#/?_g=(time:(from:'$earliest$',mode:absolute,to:'$latest$'))&_a=(filters:!(),index:'4b899bcb-fb10-4094-ae70-207d43183ffc',query:(language:kuery,query:'Carrier:"$Carrier$"'))
。 在这种情况下,当您单击该链接时,`Carrier` 字段的相关值将传递到目标页面。
当您在 Kibana 中创建自定义 URL 时,只有当索引中存在适当的字段时,才会显示**查询实体**选项。
$earliest$
和 $latest$
令牌将数据的时间跨度的开始和结束传递到目标页面。 这些令牌被替换为 ISO-8601 格式的日期时间字符串。 例如,以下 API 更新一个作业以添加使用 $earliest$
和 $latest$
令牌的自定义 URL
POST _ml/data_frame/analytics/flight-delay-regression/_update
{
"_meta": {
"custom_urls": [
{
"url_name": "flight-delay-regression-results",
"url_value": "dashboards#/view/7adfa750-4c81-11e8-b3d7-01146121b73d?_g=(filters:!(),time:('$earliest$',mode:absolute,to:'$latest$'))&_a=(filters:!(),query:(language:kuery,query:''))",
"time_range": "1h",
}
]
}
}
当您单击此自定义 URL 时,它会打开 **Discover** 页面,并显示默认全局设置日期前后一小时的源数据。
- 自定义 URL 链接使用弹出窗口。 您必须配置您的 Web 浏览器,使其不阻止弹出窗口或为您的 Kibana URL 创建例外。
- 当创建到 Kibana 仪表板的链接时,仪表板的 URL 可能会非常长。 注意拼写错误、行尾字符和 URL 编码。 另外,确保您使用目标 Kibana 数据视图的适当索引 ID。
- 替换
$earliest$
和$latest$
令牌的日期采用 ISO-8601 格式,目标系统必须理解此格式。 - 如果作业对嵌套 JSON 字段执行分析,则字符串替换的令牌可以使用点表示法引用这些字段。 例如,
$cpu.total$
。 - Elasticsearch 源数据映射可能会使查询字符串难以工作。 在保存作业配置之前测试自定义 URL,以检查它是否按预期工作,尤其是在使用字符串替换时。