建構 Log Analytics 查詢
管理員從 Log Analytics 工作區專用資料表中儲存的資料建置 Log Analytics 查詢。 一些常見的專用資料表包括事件、Syslog、活動訊號及警示。 當您建置 Kusto 查詢語言 (KQL) 查詢時,須從決定 Azure 監視器記錄存放庫中哪些資料表具有您要尋找的資料作為開始。
下圖醒目提示 KQL 查詢如何針對受監視的服務和資源使用專用資料表資料。
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 |