交易搜尋和診斷
Azure 監視器的 Application Insights 會提供交易搜尋,用於找出特定的遙測項目和交易診斷,以進行完整的端對端交易分析。
交易搜尋:此體驗可讓使用者尋找及檢查個別的遙測項目,例如頁面檢視、例外狀況和 Web 要求。 此外也可讓您檢視編碼至應用程式中的記錄追蹤和事件。 這可用來識別應用程式內的效能問題和錯誤。
交易診斷:透過全面深入解析端對端交易詳細資料,包括相依性和例外狀況,快速識別元件中的問題。 透過搜尋介面並從搜尋結果中選擇項目,以存取這項功能。
交易搜尋是 Application Insights 的一項功能,可用來尋找及探索個別遙測項目,例如頁面檢視、例外狀況或 Web 要求。 您也可以檢視您編碼的記錄追蹤和事件。
若要對您的資料執行更複雜的查詢,請使用 Log Analytics。
「搜尋」在哪裡?
您可以在 Azure 入口網站或 Visual Studio 中找到 [搜尋]。
在 Azure 入口網站中
您可以從應用程式的 Application Insights [概觀] 索引標籤中開啟交易搜尋。 您也可以選取左側功能表上 [調查] 下的 [搜尋]。
移至 [事件類型] 下拉式功能表,以查看遙測項目的清單,例如伺服器要求、頁面檢視,以及您已編碼的自訂事件。 [結果] 清單頂端有摘要圖表,其中顯示一段時間的事件計數。
退出下拉式功能表,或選取 [重新整理] 以取得新的事件。
在 Visual Studio 中
在 Visual Studio 中,也有 [Application Insights 搜尋] 視窗。 它最適合顯示您偵錯的應用程式所產生的遙測事件。 還可以顯示 Azure 入口網站上從您已發佈的應用程式收集的事件。
在 Visual Studio 中,開啟 [Application Insights 搜尋] 視窗:
[Application Insights 搜尋] 視窗有與 Web 入口網站類似的功能:
當您開啟要求或頁面檢視時,可以看到 [追蹤作業] 索引標籤。 「作業」是與單一要求或頁面檢視相關聯的一連串事件。 例如,相依性呼叫、例外狀況、追蹤記錄和自訂事件可能都是單一作業的一部分。 針對要求或頁面檢視,[追蹤作業] 索引標籤會以圖形顯示這些事件的時刻和持續時間。
檢查個別項目
選取任何遙測項目來查看重要欄位和相關項目。
端對端交易詳細資料檢視隨即開啟。
篩選事件類型
開啟 [事件類型] 下拉式功能表,然後選擇您想要查看的事件類型。 如果您想要稍後還原篩選,則請選取 [重設]。
事件類型包括:
- 追蹤:診斷記錄,包括 TrackTrace、log4Net、NLog 和 System.Diagnostic.Trace 呼叫。
- 要求:伺服器應用程式收到的 HTTP 要求,包括頁面、指令碼、影像、樣式檔案和資料。 這些事件是用來建立要求和回應概觀圖表。
- 頁面檢視:遙測是由 Web 用戶端傳送,用來建立頁面檢視報表。
- 自訂事件:如果您已插入
TrackEvent()
呼叫來監視使用量,則可以在這裡進行搜尋。 - 例外狀況:未捕捉到伺服器中的例外狀況,以及您使用
TrackException()
所記錄的例外狀況。 - 相依性:從伺服器應用程式呼叫其他服務 (例如 REST API 或資料庫),以及來自用戶端程式碼的 AJAX 呼叫。
- 可用性:可用性測試的結果
依據屬性值篩選
您可以依屬性的值篩選事件。 可用的屬性因您所選取的事件類型而定。 選取 [篩選] 以啟動。
如果未針對特定屬性選擇任何值,則相當於選擇全部的值。 這樣會關掉該屬性的篩選功能。
篩選器值右側的計數顯示目前篩選的集合中有多少個出現次數。
尋找具有相同屬性的事件
若要尋找具有相同屬性值的所有項目,請在 [搜尋] 方塊中輸入屬性,或在 [篩選] 索引標籤上查看屬性時選取此核取方塊。
搜尋資料
注意
若要撰寫更複雜的查詢,請開啟 [搜尋] 窗格頂端的記錄 (分析)。
您可以搜尋任何屬性值中的字詞。 如果您撰寫具有屬性值的自訂事件,則此功能十分有用。
您可能想要設定時間範圍,因為對一小段範圍進行的搜尋較為快速。
請搜尋完整單字,而不是子字串。 使用引號來括住的特殊字元。
String | 未找到 | 已找到 |
---|---|---|
HomeController.About | home controller out |
homecontroller about "homecontroller.about" |
美國 | Uni ted |
united states united AND states "united states" |
您可以使用下列搜尋運算式:
範例查詢 | 影響 |
---|---|
apple |
在時間範圍中尋找欄位含有 apple 這個字的所有事件。 |
apple AND banana apple banana |
尋找同時含有這兩個字的事件。 使用大寫 AND ,而非 and 。 簡短格式。 |
apple OR banana |
尋找含有任一單字的事件。 使用 OR ,而不是 or 。 |
apple NOT banana |
尋找含有一個字但不含另一個字的事件。 |
取樣
如果您的應用程式產生大量遙測,並使用 ASP.NET SDK 2.0.0-beta3 版或更新版本,則會自動透過調適型取樣來減少傳送至入口網站的資料量。 此模組只會傳送代表性的小部分事件。 其會選取或取消選取與群組相同要求相關的事件,讓您在相關事件之間瀏覽。
了解取樣。
建立工作項目
您可以利用來自任何遙測項目的詳細資料,在 GitHub 或 Azure DevOps 中建立 Bug。
選取任何遙測項目,以移至端對端交易詳細資料檢視。 然後選取 [建立工作項目]。
當您第一次執行此步驟時,系統會要求您設定與 Azure DevOps 組織和專案的連結。 您也可以在 [工作項目] 索引標籤上設定連結。
傳送更多遙測到 Application Insights
除了 Application Insights SDK 傳送的內建遙測,您可以:
了解如何將記錄和自訂遙測傳送至 Application Insights。
常見問題集
尋找常見問題的解答。
保留多少資料?
請參閱限制摘要。
我如何查看我的伺服器要求中的 POST 資料?
我們不會自動記錄 POST 資料,但您可以使用 TrackTrace 或記錄呼叫。 將 POST 資料放在訊息參數中。 您無法像篩選屬性一樣來篩選訊息,但大小限制比較長。
為什麼我的 Azure 函式搜尋不會傳回任何結果?
Azure Functions 不會記錄 URL 查詢字串。