前端/UI 配置
配置
UI 的几个方面可以配置
- 可以启用/配置依赖项部分
- 可以启用/配置监控选项卡(也称为:服务性能监控)
- 可以启用/配置应用程序分析跟踪(通过 Google Analytics 或自定义插件)
- 可以向全局导航添加其他菜单选项
- 可以配置搜索输入限制
这些选项可以通过 JSON 配置文件进行配置。然后,在启动查询服务时,查询服务的--query.ui-config
命令行参数必须设置为 JSON 文件的路径。
示例配置文件(参见完整的模式在这里 )
{
"dependencies": {
"dagMaxNumServices": 200,
"menuEnabled": true
},
"monitor": {
"menuEnabled": true
},
"archiveEnabled": true,
"tracking": {
"gaID": "UA-000000-2",
"trackErrors": true
},
"menu": [
{
"label": "About Jaeger",
"items": [
{
"label": "GitHub",
"url": "https://github.com/jaegertracing/jaeger"
},
{
"label": "Docs",
"url": "http://jaeger.readthedocs.io/en/latest/"
}
]
}
],
"search": {
"maxLookback": {
"label": "2 Days",
"value": "2d"
},
"maxLimit": 1500
},
"linkPatterns": [{
"type": "process",
"key": "jaeger.version",
"url": "https://github.com/jaegertracing/jaeger-client-java/releases/tag/#{jaeger.version}",
"text": "Information about Jaeger release #{jaeger.version}"
},
{
"type": "tags",
"key": "uniqueId",
"url": "https://mykibana.com/uniqueId=#{uniqueId}&traceId=#{trace.traceID}",
"text": "Redirect to kibana to view log"
}]
}
依赖项
dependencies.dagMaxNumServices
定义了在禁用 DAG 依赖项视图之前允许的最大服务数量。默认:200
。
dependencies.menuEnabled
启用 (true
) 或禁用 (false
) 依赖项菜单按钮。默认:true
。
监控
monitor.menuEnabled
启用 (true
) 或禁用 (false
) 监控菜单按钮。默认:false
。
存档支持
archiveEnabled
启用 (true
) 或禁用 (false
) 存档跟踪按钮。默认:false
。它需要在查询服务中配置存档存储。存档的跟踪只能通过 ID 直接访问,不能搜索。
应用程序分析跟踪
tracking.gaID
定义 Google Analytics 跟踪 ID。这是 Google Analytics 跟踪所必需的,将其设置为非null
值将启用 Google Analytics 跟踪。默认:null
。
tracking.customWebAnalytics
定义一个自定义跟踪插件的工厂函数(仅当使用 JavaScript 形式的 UI 配置时)。
tracking.trackErrors
启用 (true
) 或禁用 (false
) 错误跟踪。只有在配置了有效的分析跟踪器时才能跟踪错误。默认:true
。
有关应用程序分析的更多详细信息,请参见UI 存储库中的跟踪自述文件 。
自定义菜单项
menu
允许向全局导航添加其他链接。附加链接右对齐。
在上面的示例 JSON 配置中,配置的菜单将有一个名为“关于 Jaeger”的下拉菜单,其中包含“GitHub”和“文档”的子选项。顶部右侧菜单中链接的格式如下:
{
"label": "Some text here",
"url": "https://example.com"
}
链接可以直接是menu
数组的成员,也可以分组到下拉菜单选项中。一组链接的格式如下:
{
"label": "Dropdown button",
"items": [ ]
}
items
数组应包含一个或多个链接配置。
搜索输入限制
search.maxLimit
配置输入允许搜索的最大结果数。
search.maxLookback
配置用户可以查询跟踪的当前时间之前的最大时间。大于此值的回溯下拉菜单中的选项将不会显示。
字段 | 描述 |
---|---|
label | 在搜索表单下拉菜单中显示的文本 |
value | 如果选择了标签,则在搜索查询中提交的值 |
链接模式
linkPatterns
节点可用于从 Jaeger UI 中显示的字段创建链接。
字段 | 描述 |
---|---|
type | 将添加链接的元数据部分:process、tags、logs、traces |
key | 将作为链接显示值的标签/进程/日志属性的名称,此字段对于 type traces 是不必要的。 |
url | 链接指向的 URL,可以是外部网站或 Jaeger UI 中的相对路径 |
text | 链接工具提示中显示的文本 |
url
和text
都可以定义为模板(即使用#{field-name}
),其中 Jaeger UI 将根据标签/日志/跟踪数据动态替换值。
对于跟踪,支持的模板字段为:duration
、endTime
、startTime
、traceName
和traceID
。
此外,当跟踪模板字段以trace.
为前缀时,跟踪模板字段可用于在 process/logs/tags 类型中进行替换。例如:trace.traceID
、trace.startTime
。
嵌入模式
从 1.9 版本开始,Jaeger UI 提供了一个“嵌入”布局模式,旨在支持将 Jaeger UI 集成到其他应用程序中。目前(截至v0
),所采取的方法是从页面中删除各种 UI 元素,以使 UI 更适合空间受限的布局。
嵌入模式通过 URL 查询参数进行诱导和配置。
要进入嵌入模式,必须将uiEmbed=v0
查询参数和值添加到 URL 中。例如,以下 URL 将在嵌入模式下显示 ID 为abc123
的跟踪
https://127.0.0.1:16686/trace/abc123?uiEmbed=v0
uiEmbed=v0
是必需的。
此外,每个支持的页面都添加了一个按钮,该按钮将在新选项卡中打开非嵌入页面。
以下页面支持嵌入模式
- 搜索页面
- 跟踪页面
搜索页面
要将搜索跟踪页面集成到我们的应用程序中,我们必须向 Jaeger UI 指示我们想使用嵌入模式,方法是使用uiEmbed=v0
。
例如
https://127.0.0.1:16686/search?
service=my-service&
start=1543917759557000&
end=1543921359557000&
limit=20&
lookback=1h&
maxDuration&
minDuration&
uiEmbed=v0
配置选项
以下查询参数可用于配置搜索页面的布局
uiSearchHideGraph=1
- 禁用在搜索结果上方显示散点图
https://127.0.0.1:16686/search?
service=my-service&
start=1543917759557000&
end=1543921359557000&
limit=20&
lookback=1h&
maxDuration&
minDuration&
uiEmbed=v0&
uiSearchHideGraph=1
跟踪页面
要将跟踪页面集成到我们的应用程序中,我们必须向 Jaeger UI 指示我们想使用嵌入模式,方法是使用uiEmbed=v0
。
例如
https://127.0.0.1:16686/trace/{trace-id}?uiEmbed=v0
如果我们从搜索跟踪页面导航到此视图,我们将有一个按钮返回结果页面。
配置选项
以下查询参数可用于配置跟踪页面的布局
uiTimelineCollapseTitle=1
使跟踪标题一开始就处于折叠状态,这将隐藏摘要和迷你地图。
https://127.0.0.1:16686/trace/{trace-id}?
uiEmbed=v0&
uiTimelineCollapseTitle=1
uiTimelineHideMinimap=1
彻底删除迷你地图,无论跟踪标题是否展开。
https://127.0.0.1:16686/trace/{trace-id}?
uiEmbed=v0&
uiTimelineHideMinimap=1
uiTimelineHideSummary=1
- 彻底删除跟踪摘要信息(服务数量等),无论跟踪标题是否展开。
https://127.0.0.1:16686/trace/{trace-id}?
uiEmbed=v0&
uiTimelineHideSummary=1
我们还可以组合这些选项
https://127.0.0.1:16686/trace/{trace-id}?
uiEmbed=v0&
uiTimelineHideMinimap=1&
uiTimelineHideSummary=1