教學課程:使用Log Analytics

Log Analytics 是 Azure 入口網站中的一個工具,用於查詢和分析由 Azure 監視器 Logs 收集的資料。 當你需要排除問題、調查效能趨勢,或了解Azure資源的行為時,請使用 Log Analytics 撰寫並執行 log 查詢

本教學會透過範例資料帶你熟悉 Log Analytics 介面。 你要探索資料表架構,撰寫並執行基本查詢,並處理結果。

在本教學課程中,您會:

  • 了解記錄資料結構描述。
  • 撰寫和執行簡單的查詢,以及修改查詢的時間範圍。
  • 對查詢結果進行篩選、排序和分組。
  • 檢視、修改和共用查詢結果的視覺效果。
  • 載入、匯出及複製查詢和結果。

必要條件

  • 可存取Azure 入口網站的 Microsoft 帳戶或 Microsoft Entra ID 身分識別。
  • Log Analytics 示範環境(推薦)。 示範環境包含支援本教學查詢的範例資料。 不需要 Azure 訂閱。
  • 如果你用自己的訂閱取代示範環境,你需要一個帶有資料的 Log Analytics 工作區。 你的表格可能與示範資料不一致。

附註

Log Analytics 有兩種模式:簡易(Simple)和 Kusto 查詢語言(KQL)。 本教學主要使用 KQL 模式。 如果你偏好點選介面而非撰寫 KQL 查詢,請參見 Analyze data using Log Analytics Simple mode

本教學使用 Log Analytics 功能來建立查詢並使用範例查詢。 當你準備好學習查詢語法並開始直接編輯查詢本身時,可以試試 Kusto 查詢語言(KQL)教學。 該教學課程會逐步說明您可在 Log Analytics 中編輯和執行的範例查詢。 其會使用您在本教學課程中學到的好幾項功能。

開啟 Log Analytics

開啟 Log Analytics 示範環境或從訂用帳戶的 Azure 監視器功能表中選取 [記錄]。 此步驟會將初始範圍設定為 Log Analytics 工作區,讓您的查詢從該工作區中的所有資料進行選取。 如果你從Azure資源的選單選擇 Logs,範圍會縮小到只包含該資源的紀錄。 如需詳細資訊,請參閱 記錄查詢範圍

透過選擇當前查詢的省略號來找出目前的範圍。 如果您使用自己的環境,您會看到可選取不同範圍的選項。 在示範環境中無法使用此選項。

顯示示範的 Log Analytics 範圍螢幕擷取畫面。

驗證: 確認查詢編輯器可見,且範圍左上角顯示你的工作區名稱或「示範」。

檢視資料表資訊

螢幕左側有 「表格」 標籤,你可以檢查目前範圍內可用的表格。 根據預設,這些資料表會依解決方案分組,但您可變更其群組或加以篩選。

  1. 展開記錄管理解決方案,並找出 AppRequests 資料表。 展開表格以查看其結構,或將滑鼠移至其名稱上以顯示更多相關資訊。

  2. 選擇「 有用連結 」下的連結(此例為 AppRequests),以查看記錄該表格及其欄位的參考資料。

  3. 將滑鼠移到 AppRequests 表格上,選擇 執行 ,即可查看表格中過去24小時的紀錄。 此預覽有助於您在執行更深入查詢前驗證資料。

    顯示 AppRequests 資料表的預覽資料螢幕擷取畫面。

驗證: 預覽窗格顯示紀錄欄位如 NameURLDurationMsResultCodeClientCity。 如果 AppRequests 資料表沒有出現在 日誌管理中,表示你的工作區可能沒有設定 Application Insights 資料。

撰寫查詢

透過使用 AppRequests 資料表來撰寫查詢:

  1. 雙擊資料表名稱,或將滑鼠移到它上,選擇 「在編輯器中使用 」,將它加入查詢視窗。 或者,直接在視窗裡輸入 AppRequests 。 IntelliSense 可協助補齊目前範圍中的資料表名稱和 KQL 命令。

  2. 選擇 執行 按鈕,或按 Shift+Enter 鍵,游標在查詢文字中任意位置。 此查詢是最簡單的,會回傳表格中直到 顯示結果 限制為止的所有紀錄。

驗證: 請查看結果面板右下角。 您應該會看到大於零的記錄計數。 關於最大結果數量的資訊,請參見 「設定查詢結果限制」。

若要瞭解如何撰寫自己的查詢,請參閱 開始使用 Azure 監視器記錄中的記錄查詢

設定查詢時間範圍

所有查詢都會傳回在設定時間範圍內產生的記錄。 預設時間選擇器設定為 「最後 24 小時」。 執行預覽後,查詢會明確將時間範圍設為 24 小時。您可以使用畫面頂端的 時間範圍 下拉式選單設定不同的時間範圍,或編輯查詢中的 where 運算子。 如果你同時使用這兩種方法,Log Analytics 會套用這兩個時間範圍的聯集。 詳情請參見 「指定時間範圍」。

  1. 時間範圍下拉選單選擇「過去12小時」來更改時間範圍。

  2. 如果查詢中有 where 運算子,請將其移除。

  3. 選取 [執行] 以傳回結果。

顯示 sin Log Analytics 時間範圍選擇器的螢幕擷取畫面。

驗證:由於已設定 顯示 限制,右下角的記錄數可能不會少於前 24 小時的結果。

套用多個查詢篩選器

再加一個濾波條件,進一步降低結果。 查詢可以包含任意數量的篩選條件,精確鎖定你想要的紀錄。

  1. 請在查詢編輯器右上角選擇模式下拉選單,切換 KQL 模式簡易模式 。 在簡易模式下,無需寫入 KQL 語法即可新增濾波器。

  2. 選取位於 顯示 限制右側的 新增 篩選器圖示。

  3. 選擇 名稱 篩選器。 預設操作是「 從列表中選擇 」,根據你目前結果中的紀錄顯示數值。

  4. 選取 GET Home/Index。 如果看不到預期值,試著擴大時間範圍、增加顯示限制或移除其他篩選條件,確保這些紀錄包含在結果中。

    顯示使用多個篩選條件的查詢結果螢幕擷取畫面。

  5. 切回 KQL 模式 ,查看你套用的濾波器的 KQL 語法。 查詢現在應該包含一個帶有針對 where 欄位條件的 Name 運算子。

驗證: 記錄數量會比未過濾的查詢減少。 名稱欄中所有可見紀錄都顯示 GET Home/Index

分析查詢結果

Log Analytics 提供超越查詢的結果處理功能。

展開與排序紀錄

  1. 選擇列左側的倒V形符號(>),展開紀錄以查看所有欄位的值。

  2. 選擇任一欄位標頭,即可依該欄位排序結果。 再次選擇相同的標頭,切換升序、降序和預設順序。

    顯示查詢結果依 TimeGenerated 欄位排序,並展開一筆記錄的螢幕擷取畫面。

從欄位標頭篩選

結果表支援類似 Excel 的欄位標頭過濾。 使用此方法進行快速互動分析。

  1. 請選擇 DurationMs 欄位標題旁的橢圓(...)。 此選擇顯示篩選標籤與欄位選項標籤。這裡設定的過濾器在你重跑查詢時會清除。

  2. 在那裡設定篩選器,將記錄限制為耗時超過 150 毫秒的應用程式要求。

    螢幕擷取畫面顯示在搜尋結果中展開的記錄。

驗證: 套用 DurationMs 濾波器後,所有可見紀錄顯示 DurationMs 值大於 150。 記錄數減少。

瀏覽查詢結果

請使用結果面板右上角的搜尋框來搜尋查詢結果。

  1. 在查詢結果的搜尋框中輸入 德州

  2. 請點選向下箭頭,在搜尋結果中找到此字串的下一個實例。

螢幕擷取畫面顯示結果窗格右上方的搜尋方塊。

驗證: 匹配的文字會在結果中標示。 箭號導覽會顯示相符項目的總數 (例如「2/12」)。

附註

搜尋框只會在瀏覽器中篩選顯示的結果,不會修改 KQL 查詢或從伺服器重新取得資料。

重新組織及彙總資料

重新組織並總結查詢結果中的數據,以提升視覺化效果。

  1. 選取結果窗格右側的 [資料行],以開啟 [資料行] 側邊欄。

  2. 將 [URL] 資料行拖曳至 [資料列群組] 區段中。 結果現在會依該欄位分組,你可以摺疊每個群組。

    這個動作會處理你原本查詢回傳的資料——不會從伺服器重新取得資料。 當你重新執行查詢時,Log Analytics 會根據你原本的查詢資料取得資料。

    螢幕擷取畫面顯示依照 URL 分組的查詢結果。

驗證: 結果以可摺疊群組顯示,每個群組都有 URL 標頭。 選擇群組標題來展開或摺疊。

建立樞紐分析表

要分析頁面的效能,請建立樞紐分析表:

  1. 在 [資料行] 資訊看板中,選取 [樞紐模式]

  2. 選取 [Url] 和 [DurationMs],以顯示各 URL 的所有呼叫的總持續時間。

  3. 要查看每個 URL 的最大呼叫時長,請選擇 sum(DurationMs), 然後再選擇 max

    螢幕擷取畫面顯示如何開啟 [樞紐分析表模式],以及根據 URL 和 DurationMS 值設定樞紐分析表。

  4. 在結果欄格中選擇 max(DurationMs) 欄位標頭,依照最長最大通話時長排序結果。

驗證: 樞紐分析表會為每個 URL 顯示一列,並包含一個 max(DurationMs) 值。 結果以最長時長排序於頂端。

將查詢結果視覺化為圖表

檢視將數值資料以圖表呈現的查詢。 與其建立查詢,不如使用內建查詢函式庫中的範例查詢。

  1. 清除查詢編輯器中現有的文字,或透過點擊當前查詢標籤旁的加號圖示開啟新的查詢分頁。

  2. 在左側窗格上選取 [查詢]。 此面板包含範例查詢,供載入查詢編輯器。 如果你使用自己的工作區,就會找到分類在不同類別中的各種查詢。

  3. 應用程式類別中尋找回應時間趨勢查詢。 要載入它,雙擊查詢或將滑鼠移到查詢名稱上以顯示更多資訊,然後選擇 「載入到編輯器」。 空白行將新查詢與先前任何查詢分隔開來。 在 KQL 中,查詢結束時會用空行表示,因此編輯器中的每個查詢都能獨立執行。

  4. 將游標放在新查詢的任意位置,選擇 執行

    顯示查詢結果圖表的螢幕擷取畫面。

  5. 切換 結果 標籤或更改 圖表格式 以探索其他選項。

驗證: 圖表顯示一個時間序列折線圖,並包含每小時的數據點。 Y軸顯示平均反應時間(以毫秒為單位)。 如果您看到資料出現尖峰,請透過調整時間範圍進一步調查。

要在尖峰發生時收到通知,請建立警示規則。 在動作列中,開啟 查詢中樞 旁的(...),然後選取 + 新增警示規則。 如需詳細資訊,請參閱 教學課程:建立 Azure 資源的記錄搜尋警示。 示範環境中不支援建立警報規則,但你仍可探索這個選項,看看它的運作方式。

匯出與複製結果

執行查詢後,匯出或複製結果以便 Log Analytics 外使用。 從操作列中的 分享 選單:

  • 複製連結至查詢: 建立一個連結到目前查詢,讓你可以分享給有權限使用同一工作區的人。
  • 複製查詢文字: 將編輯器中的查詢文字複製到剪貼簿。

這些功能在示範環境中無法使用,因為示範沒有獨特的網址或存檔查詢,但你可以在自己的環境中嘗試。

  • 複製結果: 在結果欄選出列,右鍵點擊,選擇 複製 或使用 Ctrl+C。 將資料貼到試算表或文字編輯器中。
  • 匯出成 CSV - 所有欄位 ,或 匯出成 CSV - 顯示 欄位以下載資料。
  • 匯出到Power BI(作為 M 查詢)匯出到Power BI(新資料集)以開啟Power BI資料以進行進一步分析與視覺化。
  • Open in Excel: 匯出資料並以 Excel 開啟。 這個選項只有在你的電腦上安裝了 Excel 時才有。

在動作列的 儲存 選單中,有儲存查詢或將視覺化固定到儀表板的選項。 若要了解如何將視覺效果釘選至共用儀表板,請參閱 建立和共用可將 Azure 監視器 Logs 中的資料視覺化的儀表板

排除常見問題

Problem 可能原因 Solution
示範環境無法載入 瀏覽器會阻擋彈出視窗或第三方 Cookie。 允許 portal.azure.com 的彈出式視窗。 試著開啟私密或無痕瀏覽器視窗。
AppRequests 表格不可見 工作空間沒有 Application Insights 的資料。 使用示範環境,或 將 Application Insights 資源連接到 你的工作區。
查詢回傳零結果 所選的時間範圍沒有資料,或是濾波器過於狹窄。 擴大時間範圍(例如, 過去7天)。 移除篩選器以驗證資料的存在。
Workspace 上出現「無存取」錯誤 你的帳號對該工作區沒有讀取權限。 請你的管理員指派 Log Analytics Reader 角色。 請參閱 管理日誌資料與工作區存取
排行榜標籤顯示「無可用圖表」 查詢不會回傳適合繪製圖表的時間序列或數值資料。 確保您的查詢包含帶有 summarize 子句的 bin(TimeGenerated, ...) 運算子。
篩選標籤是空的 目前查詢結果的篩選器不會被載入。 先執行查詢。 然後選擇 篩選 標籤,選擇重新整理或載入選項來填充篩選器值。
DurationMs 濾鏡在 150 毫秒時沒有結果> 你的工作區資料回應時間普遍都很短。 降低門檻(例如試著 > 5 毫秒)或使用有不同回應時間的示範環境。
看不到樞紐模式選項 欄目側邊欄沒有開啟。 選擇結果窗格右側的 欄位 以開啟側邊欄 > ,選擇 樞紐模式

後續步驟

現在您已了解如何使用 Log Analytics,以完成使用記錄查詢的教學課程: