建構 Log Analytics 查詢

已完成

管理員從 Log Analytics 工作區專用資料表中儲存的資料建置 Log Analytics 查詢。 一些常見的專用資料表包括事件、Syslog、活動訊號及警示。 當您建置 Kusto 查詢語言 (KQL) 查詢時,須從決定 Azure 監視器記錄存放庫中哪些資料表具有您要尋找的資料作為開始。

下圖醒目提示 KQL 查詢如何針對受監視的服務和資源使用專用資料表資料。

圖例顯示如何從 Log Analytics 工作區專用資料表中的資料建置 Log Analytics 查詢。

KQL 查詢結構的須知事項

讓我們進一步了解專用資料表資料,以及如何建構 KQL 記錄查詢。

  • 每個選取的資料來源和解決方案都將其資料儲存在 Log Analytics 工作區的專用資料表中。

  • 每個資料來源和解決方案的文件都包括其建立的資料類型之名稱及其每個屬性的描述。

  • 查詢的基本結構為來源資料表,緊接著一系列命令 (稱為運算子)。

  • 查詢可以有多個運算子鏈結,以精簡您的資料並執行進階函式。

  • 查詢鏈結中的每個運算子都是以管道字元 | 開頭。

  • 許多査詢只需要來自單一資料表的資料,但其他査詢可以使用各種選項並包括來自多個資料表的資料。

KQL 記錄查詢範例

讓我們檢閱一些常見的 KQL 記錄查詢運算子和範例語法。

我們可以建置查詢來搜尋具有五個項目之 StormEvent 資料表中的資料:

type event severity start duration region
Water Freezing rain 1 6:00 AM 01-27-2023 3 hours 1, 2
Wind High winds 1 8:00 AM 01-27-2023 12 hours 1, 2, 4, 5
Temperature Below freezing 2 11:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Flood warning 2 9:00 AM 01-26-2023 10 hours 3

若要尋找其他運算子和範例,請檢閱:使用 Kusto 查詢語言分析監視資料 - 訓練 | Microsoft Learn.

項目計數

使用 count 運算子以探索輸入記錄集中的記錄數目。

下列範例會傳回 StormEvent 資料表中記錄的數目。 查詢結果會顯示 StormEvent 資料表具有五個項目。

StormEvent | count

查詢結果:

計數
5

傳回第一個項目數目

使用 top 運算子來查看您輸入記錄集的前 N 筆記錄,依指定的資料行排序。 資料行會對應至專用資料表中定義的資料屬性。

下列範例會傳回 StormEvent 的前三筆資料記錄。 結果資料表會顯示風暴 event 名稱、嚴重程度和預測持續時間。

StormEvent | top 3 by event severity duration

查詢結果:

event severity duration
Freezing rain 1 3 hours
High winds 1 12 hours
Below freezing 2 10 hours

尋找相符的項目

使用 where 運算子來將資料表篩選為符合所提供述詞值的資料列子集。 述詞值會指出在資料表中要搜尋的內容,如 where=="find-this" 中所示。

下列範例會篩選 StormEvent 的資料記錄,以僅使用與 [snow] 相符的記錄。

StormEvent | where event=="snow"

您的查詢會篩選至 StormEvent 資料表中的一個資料列:

type event severity start duration region
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5