Azure 監視器中的記錄查詢
Azure 監視器記錄是以 Azure Data Explorer 為基礎,而記錄查詢是使用相同的 Kusto 查詢語言 (KQL) 來撰寫。 這個豐富的語言設計成易於閱讀和撰寫,因此您應該能夠透過一些基本指引來開始撰寫查詢。
您將在其中使用查詢的 Azure 監視器區域包括:
- Log Analytics:在 Azure 入口網站中使用此主要工具來編輯記錄查詢,並以互動方式分析其結果。 即使您打算在 Azure 監視器的其他地方使用記錄查詢,您通常還是會在 Log Analytics 中撰寫並測試,再將其複製到最終位置。
- 記錄搜尋警示規則:主動識別您工作區中資料的問題。 每個警示規則都是根據以固定間隔自動執行的記錄查詢。 系統會檢查結果,判斷是否應該建立警示。
- 活頁簿:包含記錄查詢結果,其使用 Azure 入口網站互動式視覺效果報告中的不同視覺效果。
- Azure 儀表板:您可以將任何查詢的結果釘選到 Azure 儀表板中,如此即可以視覺化方式顯示記錄和計量資料,並選擇性地將其與其他 Azure 使用者共用。
- Azure Logic Apps:使用邏輯應用程式工作流程,在自動化工作流程中使用記錄查詢的結果。
- PowerShell:從命令列或使用
Invoke-AzOperationalInsightsQuery
的 Azure 自動化 Runbook,在 PowerShell 指令碼中使用記錄查詢的結果。 - Log Analytics 查詢 API:可從任何 REST API 用戶端的工作區擷取記錄資料。 API 要求包含針對 Azure 監視器執行的查詢,來判斷要擷取的資料。
- Azure 監視器查詢用戶端程式庫:透過適用於下列生態系統的慣用用戶端程式庫,從工作區擷取記錄資料:
-
如需如何實作適用於 Python 的 Azure 監視器查詢用戶端程式庫的範例,請參閱使用筆記本分析 Azure 監視器記錄中的資料。
開始使用
開始了解使用 KQL 撰寫記錄查詢的最佳方式是使用可用的教學課程和範例:
- Log Analytics 教學課程:此教學課程使用 Log Analytics 的功能,其為您在 Azure 入口網站中用來編輯和執行查詢的工具。 您也可以使用此工具來撰寫簡單的查詢,而不需直接使用查詢語言。 如果您之前尚未使用 Log Analytics,請從這裡開始,了解您將與其他教學課程和範例搭配使用的工具。
- KQL 教學課程:基本 KQL 概念和一般運算子的引導式逐步解說。 這是開始了解語言本身和記錄查詢結構的最佳起點。
- 範例查詢:Log Analytics 可用的範例查詢描述。 您可以在不修改的情況下使用這些查詢,也可以將其作為學習 KQL 的範例。
參考文件
Azure Data Explorer 文件中提供的 KQL 文件,其中包括所有命令和運算子的參考。 即使您熟悉使用 KQL,仍會經常使用該參考來調查您之前未用過的新命令和情節。
語言差異
雖然 Azure 監視器所使用的 KQL 與 Azure 資料總管相同,但仍有一些差異。 KQL 文件將指出 Azure 監視器不支援或具有不同功能的運算子。 Azure 監視器專屬的運算子均記載於 Azure 監視器內容中。 下列各節列出語言版本之間的差異,以供快速參考。
Azure 監視器中不支援的陳述式
Azure 監視器中不支援的函式
- cluster()
- cursor_after()
- cursor_before_or_at()
- cursor_current()、current_cursor()
- database()
- current_principal()
- extent_id()
- extent_tags()
Azure 監視器中不支援的運算子
Azure 監視器中不支援的外掛程式
Azure 監視器中的其他運算子
下列運算子支援特定 Azure 監視器功能,且無法在 Azure 監視器以外的地方使用: