乌克兰国旗 我们与乌克兰的朋友和同事站在一起。为了在乌克兰需要时支持他们请访问此页面

前端/UI 配置

版本  2.8 最新 前往最新的 1.x 版本

配置

UI 的多个方面可以进行配置

  • 可以启用/配置依赖关系部分
  • 可以启用/配置监控选项卡(又称:服务性能监控)
  • 可以启用/配置应用分析跟踪(通过 Google Analytics 或自定义插件)
  • 可以将额外的菜单选项添加到全局导航
  • 可以配置搜索输入限制

这些选项可以通过 JSON 配置文件进行配置。然后,在启动查询服务时,必须将查询服务的 --query.ui-config 命令行参数设置为 JSON 文件的路径。

一个示例配置文件(在此处查看完整架构外部链接 - Jaeger 分布式追踪平台

{
  "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": "https://jaeger.golang.ac.cn/docs/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"
  },
  {
    "type": "traces",
    "url": "https://my-logs.server?from=#{startTime | add -60000000 | epoch_micros_to_date_iso}&to=#{endTime | add 60000000 | epoch_micros_to_date_iso}'",
    "text": "Redirect to kibana to view log with formatted dates"
  }],
  "traceIdDisplayLength": 20
}

依赖关系

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 仓库中的跟踪 README 文件外部链接 - Jaeger 分布式追踪平台

自定义菜单项

menu 允许将额外的链接添加到全局导航。这些额外的链接是右对齐的。

在上面的示例 JSON 配置中,配置的菜单将有一个标有“关于 Jaeger”的下拉菜单,其中包含“GitHub”和“文档”的子选项。右上角菜单中链接的格式如下

{
  "label": "Some text here",
  "url": "https://example.com"
}

链接可以直接是 menu 数组的成员,也可以被分组到下拉菜单选项中。链接组的格式是

{
  "label": "Dropdown button",
  "items": [ ]
}

items 数组应包含一个或多个链接配置。

搜索输入限制

search.maxLimit 配置了输入允许您搜索的最大结果数量。

search.maxLookback 配置了用户可以查询跟踪的最大回溯时间。超过此值的“回溯”下拉菜单中的选项将不会显示。

字段描述
标签搜索表单下拉菜单中显示的文本
如果选择标签,则在搜索查询中提交的值

linkPatterns 节点可用于从 Jaeger UI 中显示的字段创建链接。

字段描述
类型您的链接将添加到的元数据部分:进程、标签、日志、跟踪
标签/进程/日志属性的名称,其值将显示为链接,对于 traces 类型,此字段不是必需的。
URL链接应指向的 URL,可以是外部站点或 Jaeger UI 中的相对路径
文本链接工具提示中显示的文本

urltext 都可以定义为模板(即使用 #{field-name}),Jaeger UI 将根据标签/日志/跟踪数据动态替换值。

对于跟踪,支持的模板字段是:durationendTimestartTimetraceNametraceID

此外,当跟踪模板字段以 trace. 为前缀时,它们可用于进程/日志/标签类型中的替换。例如:trace.traceIDtrace.startTime

格式化

除了将字段插入链接外,还可以使用格式化函数。语法是 #{field | function}(例如 #{endTime | epoch_micros_to_date_iso}')。格式化函数可以链接在一起(例如 #{startTime | add 60000000 | epoch_micros_to_date_iso})。

可用的格式化函数及其行为描述如下

epoch_micros_to_date_iso

将自纪元以来的微秒日期格式化为 ISO 日期时间。

示例:#{endTime | epoch_micros_to_date_iso}

pad_start

用给定字符填充字符串的开头,直到结果字符串达到给定长度。其行为由 JavaScript 的 String.padStart外部链接 - Jaeger 分布式追踪平台 实现并与之匹配

参数

  • targetLength (整数) - 填充后字符串的期望长度
  • padCharacter (字符串) - 用于填充输入字符串开头的字符串

示例:#{traceID | pad_start 32 0}

add

将一个值加到另一个数字。可以是正数或负数。

参数

  • offset (整数) - 要添加到输入数字的值

示例:#{startTime | add 1000000}

跟踪 ID 显示长度

traceIdDisplayLength 设置控制 Jaeger UI 中显示多少个跟踪 ID 字符(例如,在跟踪列表或跟踪详细信息标题中)。这有助于提高可读性或与日志或仪表板等其他系统中的跟踪 ID 对齐。

字段描述
traceIdDisplayLength可选。决定跟踪 ID 显示字符数的整数值。默认值是 7

示例

{
  "traceIdDisplayLength": 12
}

这将显示类似 1a2b3c4d5e6f 的跟踪 ID(而不是完整的 32 个字符 ID 或默认的 7 个字符)。

嵌入模式

从 1.9 版本开始,Jaeger UI 提供了一种“嵌入式”布局模式,旨在支持将 Jaeger UI 集成到其他应用程序中。目前(截至 v0 版本),采取的方法是从页面中移除各种 UI 元素,以使 UI 更适合空间受限的布局。

嵌入模式通过 URL 查询参数启用和配置。

要进入嵌入模式,必须将 uiEmbed=v0 查询参数和值添加到 URL 中。例如,以下 URL 将以嵌入模式显示 ID 为 abc123 的跟踪

https://:16686/trace/abc123?uiEmbed=v0

uiEmbed=v0 是必需的。

此外,对于每个支持的页面,都会添加一个按钮 在嵌入式窗口中打开,该按钮将在新标签页中打开非嵌入式页面。

以下页面支持嵌入模式

  • 搜索页面
  • 跟踪页面

搜索页面

要将搜索跟踪页面集成到我们的应用程序中,我们必须向 Jaeger UI 指示我们想要使用 uiEmbed=v0 的嵌入模式。

例如

https://:16686/search?
    service=my-service&
    start=1543917759557000&
    end=1543921359557000&
    limit=20&
    lookback=1h&
    maxDuration&
    minDuration&
    uiEmbed=v0

Embed Search Traces

配置选项

以下查询参数可用于配置搜索页面的布局

  • uiSearchHideGraph=1 - 禁用搜索结果上方散点图的显示
https://:16686/search?
    service=my-service&
    start=1543917759557000&
    end=1543921359557000&
    limit=20&
    lookback=1h&
    maxDuration&
    minDuration&
    uiEmbed=v0&
    uiSearchHideGraph=1

Embed Search Traces without Graph

跟踪页面

要将跟踪页面集成到我们的应用程序中,我们必须向 Jaeger UI 指示我们想要使用 uiEmbed=v0 的嵌入模式。

例如

https://:16686/trace/{trace-id}?uiEmbed=v0

Embed Trace view

如果从搜索跟踪页面导航到此视图,我们将有一个返回结果页面的按钮。

Embed Trace view

配置选项

以下查询参数可用于配置跟踪页面的布局

  • uiTimelineCollapseTitle=1 使跟踪标题开始时处于折叠状态,从而隐藏摘要和迷你地图。
https://:16686/trace/{trace-id}?
    uiEmbed=v0&
    uiTimelineCollapseTitle=1

Embed Trace view

  • uiTimelineHideMinimap=1 完全移除迷你地图,无论跟踪标题是否展开。
https://:16686/trace/{trace-id}?
    uiEmbed=v0&
    uiTimelineHideMinimap=1

Embed Trace view

  • uiTimelineHideSummary=1 - 完全移除跟踪摘要信息(服务数量等),无论跟踪标题是否展开。
https://:16686/trace/{trace-id}?
    uiEmbed=v0&
    uiTimelineHideSummary=1

Embed Trace view

我们也可以组合这些选项

https://:16686/trace/{trace-id}?
    uiEmbed=v0&
    uiTimelineHideMinimap=1&
    uiTimelineHideSummary=1

Embed Trace view