分析追蹤資料及呼叫

檢查 無界限分析中的追蹤資料,您可以在其中調查 Instana 所收集的追蹤資料和呼叫。 為了協助您瞭解應用程式對每一個呼叫的行為方式,我們會監視每一個進入系統的呼叫。

檢視追蹤資料

  1. 在資訊看板上,按一下 應用程式
  2. 應用程式 儀表板上,選取應用程式或服務。
  3. 在應用程式或服務儀表板上,按一下 分析呼叫
  4. 分析 儀表板上,您可以依應用程式、服務及端點來分析呼叫,分別依服務、端點及呼叫名稱來細分 Instana 呈現的資料。 在 應用程式下,選取 呼叫追蹤
  5. 按一下群組,然後選取追蹤。

檢視追蹤分析

追蹤分析

過濾及分組追蹤或呼叫

分析 儀表板上,可以使用任意標籤來過濾及分組追蹤資料或呼叫。 在「分析呼叫」中,可以使用 ANDOR 邏輯運算子來連接過濾器,並使用方括弧將它們分組在一起。 在「分析追蹤資料」中,只能使用 AND 運算子。

查詢建置器

過濾資料有兩種方法:

  • 查詢建置器
  • 過濾器資訊看板

雖然兩者都可以自行使用,但在結合它們時,會達到最佳結果。

查詢建置器

使用「分析」儀表板頂端的「 查詢建置器 」來過濾起始結果集。 透過按一下 新增過濾器,您可以將 application.nameservice.nameendpoint.name 標籤以及基礎架構實體標籤 (例如 agent.taghost.name) 套用至呼叫的來源和目的地。 依預設,它會套用至目的地。 若要將它變更為來源,請按一下標籤名稱之前的選取器,然後選取來源。 透過結合來源與目的地,您可以建立查詢,例如 向我顯示這兩個服務之間的所有呼叫向我顯示從 agent.zone 「正式作業」向 agent.zone 「測試」發出的所有呼叫。 來源或目的地的選項無法用於呼叫標籤 (例如 call.http.pathcall.tag) ,這些標籤是呼叫本身的內容,與來源或目的地無關。

若要套用分組,請按一下 新增群組 ,然後選取其中一個標籤。 預設分組使用端點名稱 (endpoint.name) 標籤。 若要檢查符合過濾器的個別追蹤及呼叫,您可以將群組展開至尖峰結果,或按一下 將焦點放在此群組 以移除分組並依所選群組的值進一步過濾結果。 標籤可以套用至通話的來源或目的地,因此您可以表示查詢,例如 Show me all calls to this one service , broken by caller。 不符合任何群組的呼叫會顯示在名為 Tag not present的特殊群組中,例如,具有 agent.zone 的呼叫會是 沒有 'agent.zone' 標籤的呼叫。 若要從結果中移除不相符的 agent.zone ,請使用 is present 運算子套用其他過濾器。 在「分析追蹤」中也無法使用依來源和目的地分組,因為該視圖中的可用群組與任何一個特定呼叫的來源或目的地無關。

前述範例依應用程式 Catalogue (user-journey) 進行過濾,並列出依端點名稱分組的呼叫。

過濾資訊看板

使用套用查詢建置器過濾器所收到的結果,可以在頁面左側的 過濾器資訊看板 中套用其他過濾器,以快速往下探查資料。

資訊看板

相同標籤種類內的項目將透過邏輯 OR連結,不同的標籤種類將使用邏輯 AND連結。 過濾器資訊看板中所有選取的過濾器都會透過邏輯 AND套用在任何已套用查詢建置器過濾器的 頂端 。 過濾器資訊看板頂端的標頭會顯示所有標籤中所選取項目的總數,可讓您快速移除所有套用的資訊看板過濾器。

注意: 請注意,「分析追蹤」目前不支援單一標籤的多重選項。

在上述範例中,我們是依過濾器資訊看板中選取的查詢建置器 AND 服務 catalogue-demo OR discount-svc 中的應用程式 Catalogue (user-journey) 來過濾。

若要快速依其中一個過濾器資訊看板標籤分組,請按一下每一個適合分組之標籤右側顯示的 分組按鈕 。 這是在查詢建置器中配置分組的快速方式,如先前所述。 與依特定過濾器資訊看板標籤分組一樣,也可以透過按一下目前用於分組的標籤上的 取消分組按鈕 來再次提升分組。

已知限制

依日誌標籤分組呼叫: 依 log.levellog.message分組呼叫時,特殊群組 Tag not present 不會像其他標籤那樣呈現。

延遲分佈

可以使用 延遲分佈 圖表來檢查追蹤及呼叫延遲。 在圖表上選取延遲範圍時,將會相應地調整圖表上方的過濾器。 將更新表格中的結果,以僅顯示指定延遲範圍內的追蹤或呼叫。

延遲分佈視圖

追蹤視圖

若要顯示追蹤視圖,請在 分析 儀表板上選取群組,然後按一下追蹤。 選取呼叫會在其追蹤的環境定義中顯示呼叫。

追蹤視圖

摘要詳細資料

追蹤的摘要詳細資料包括:

  • 追蹤名稱 (通常是 HTTP 項目)。
  • 發生它的服務名稱。
  • 類型或技術。
  • 核心 KPI:
    • 對其他服務的子呼叫。
    • 錯誤呼叫數。
    • 追蹤內的錯誤數。
    • 追蹤內的警告數。
    • 追蹤持續時間。 追蹤中第一個呼叫開始與最後一個呼叫結束之間的間隔。

時間表

追蹤時間表會顯示下列:

  • 追蹤開始的時間。
  • 追蹤中被呼叫的服務時間順序。

呼叫鏈會從根元素 (span) 當掉。 在簡式三層系統上,您具有四個層次的一般深度。 相反地,在具有分散式服務或微服務架構的系統上,您可以預期看到更長的冰柱。 當您有很長的追蹤子呼叫或定期呼叫型樣 (例如每個資料庫項目一個 HTTP 呼叫) 時,時間表會提供您絕佳的呼叫結構概觀。

若要檢視跨距的詳細資料,請按一下時間表圖形內的跨距。 若要檢視特定呼叫內所花費時間的詳細資料,請將滑鼠移至時間表圖形上顯示的呼叫。

通話詳細資料包括下列類型的時間:

  • Self: 呼叫在下游呼叫之外所花費的時間量 (亦即,在呼叫內所花費的時間)。
  • Waiting: 呼叫等待所有下游呼叫完成所花費的時間量。
  • Network: 呼叫程式的 Exit Span Time 與呼叫程式的 Entry Span Time 之間的時差。
  • Total: 呼叫的時間總計。

服務

時間表圖形下列出的服務會彙總每個服務的所有呼叫,並列出呼叫數、聚集時間及發生的錯誤。 每一個服務都有自己的顏色 (在此範例中為 shop = blue , productsearch 綠色)。 選取服務以在應用程式及服務儀表板中檢視其詳細資料。

呼叫

通話視圖

追蹤樹狀結構會顯示上游和下游服務呼叫的結構,以及呼叫的類型。 如果要探索特定的呼叫,請展開和收合追蹤樹狀結構的個別部分。 選取呼叫以在服務及端點儀表板中檢視其詳細資料。

孤立呼叫

如果遺漏呼叫的母項呼叫,則會將該呼叫視為孤立。 呼叫可能因各種原因而遺漏,例如尚未完成或正在傳送至另一個 APM 工具。 因為上下代關係決定呼叫樹狀結構中呼叫的位置,所以孤立呼叫的位置不明。 孤立呼叫會直接附加至根呼叫。 指示器圖示會顯示在根與孤立呼叫之間的邊緣上。

孤立呼叫

通話詳細資料

若要顯示通話詳細資訊看板,請在時間表圖形中選取通話。 顯示的詳細資料包括呼叫的來源和目的地、錯誤、狀態碼以及堆疊追蹤。

擷取日誌及錯誤

當偵測到服務傳回不正確的回應或具有 ERRORWARN 層次 (或類似,視架構而定) 的日誌時, Instana 會自動擷取錯誤。

自動聚集短結束呼叫

Instana 總是努力讓您對服務互動有最好的瞭解,同時將對實際應用程式的影響降到最低。 不過,某些實務需要 Instana 捨棄資料,才能達到此目的。

系統中常見的問題是所謂的 1+N 查詢問題,它說明程式碼執行 1 個資料庫呼叫以取得項目清單,後面接著 N 個個別呼叫以擷取個別項目的狀況。 此問題通常可以透過僅執行一個呼叫並加入其他呼叫來修正。

通話名稱旁邊的圖示指出有多少要求已一起批次處理。 呼叫詳細資料符合最重要服務呼叫的那些詳細資料,例如具有最高持續時間或具有錯誤的要求。 所顯示呼叫的持續時間及錯誤計數是從所有批次呼叫聚集而來。

呼叫批次處理範例

服務互動的聚集僅在下列限制內發生:

  • 類似類型的高頻率重複存取型樣
  • 個別服務呼叫花費不到 10 毫秒
  • 呼叫之間的時間小於 10 毫秒

擷取參數

由於影響考量,目前 Instana 的追蹤感應器不會自動擷取方法參數或方法回覆值。 若要隨需應變擷取其他資料,請使用 SDK。

長時間執行作業

由於逾時、高負載或任何其他數目的環境狀況,呼叫可能需要很長時間才能回應。 追蹤可以包含數十個甚至數百個這類呼叫。 由於 Instana 打算盡快提供追蹤資訊給使用者,長時間執行的跨距會先取代為位置保留元。 當長時間執行跨距最終傳回時,位置保留元會再次取代為正確的呼叫資訊。

批次追蹤處理

由於跨距處理管線的高效能及近乎即時的本質,當跨距鏈結至產生的追蹤時,會對延遲到達且非同步到達的跨距進行稍微不同的處理。 「追蹤視圖」中的資訊框會呈現給使用者,並提供形態異常追蹤的相關資訊。

對於 Instana 使用者,可能會發生下列影響:

  • 在「追蹤視圖」中,不會呈現追蹤的所有子呼叫。
  • 列出具有相同追蹤 ID 的個別追蹤,並局部呈現整體追蹤。
  • 呼叫可能不會對映至對應的「應用程式視景」,然後可能會在「無界限分析」中遺失。
  • 呼叫可能不會對映至對應的「服務」,然後可能會在「無界限分析」中遺失。
  • 流程對映可能顯示不一致的呼叫計數。
  • 流程對映可能顯示不一致的服務對映。

已在多個批次中處理此追蹤

在此狀況下,當已處理產生的追蹤時,有些文字段會在 2 秒間隔之後到達。 此方法呈現所有擷取的跨距,但部分相關性可能不正確。

這可能導致 Instana 資料模型中發生下列異常:

  • 結束跨距及對應的進入跨距可能不會合併至單一呼叫。
  • 呼叫可能未對映至正確的服務。
  • 呼叫可能無法鏈結至正確的母項呼叫。
  • 通話可能遺失基礎架構標籤。
  • 呼叫可能未或不正確地對映至應用程式視景。

下列影像呈現類似的追蹤,其中所有文字段都在根文字段的環境定義中處理,因此以單一批次鏈結至追蹤:

以單一批次處理追蹤

大約資料

追蹤資料和呼叫會保留 7 天。 在此期間之後,您會看到大約資料指示器,指出保留的呼叫數及原始呼叫計數的估計。 在這類實務範例中,可能不會呈現很少發生的追蹤及呼叫。

附註: 如果 timepicker 中的時間範圍在過去 7 天內開始及結束,則會使用近似資料來分析整個選取的時間範圍,即使部分時間範圍會保留完整資料。 如果您想要分析完整資料集,請確定選取的時間範圍在過去 7 天內開始。

近似資料指示器

應用程式視景的精確度量值會保留過去 31 天。 當您展開群組或移除群組以查看個別呼叫時,只能查看保留的呼叫及大約資料指示器。

超過 31 天之後,度量值和呼叫都將是近似值。

近似分組資料指示器