前端/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
定義自訂追蹤外掛程式的工廠函式 (僅在使用 UI 配置的 JavaScript 形式時)。
tracking.trackErrors
啟用 (true
) 或停用 (false
) 錯誤追蹤。只有在配置有效的分析追蹤器時才能追蹤錯誤。預設值:true
。
如需有關應用程式分析的更多詳細資訊,請參閱 UI 儲存庫中的 追蹤 README 。
自訂選單項目
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 | 將新增連結的中繼資料區段:程序、標籤、記錄、追蹤 |
key | 將其值顯示為連結的標籤/程序/記錄屬性的名稱,此欄位對於 traces 類型不是必要的。 |
url | 連結應指向的 URL,它可以是外部網站或 Jaeger UI 中的相對路徑 |
text | 顯示在連結工具提示中的文字 |
url
和 text
都可以定義為範本 (即使用 #{field-name}
),其中 Jaeger UI 會根據標籤/記錄/追蹤資料動態替換值。
對於追蹤,支援的範本欄位為:duration
、endTime
、startTime
、traceName
和 traceID
。
此外,當追蹤範本欄位的前面加上 trace.
時,追蹤範本欄位可用於在程序/記錄/標籤類型中進行替換。例如: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