共用方式為


監視 Azure 監視器 Log Analytics 工作區中的作業問題

若要在 Azure 監視器中維護 Log Analytics 工作區的效能和可用性,您必須能夠主動偵測任何發生的問題。 此文章描述如何使用 Operation 資料表中的資料,監視 Log Analytics 工作區的健康情況。 此表格包含在每個 Log Analytics 工作區中。 其中包含在工作區中發生的錯誤訊息和警告。 建議您針對警告和錯誤層級的問題建立警示。

需要的權限

例如,對於查詢的 Log Analytics 工作區,您必須擁有 Microsoft.OperationalInsights/workspaces/query/*/read 權限,如 Log Analytics 讀取器內建角色所提供。

_LogOperation 函式

Azure 監視器記錄會將任何問題的詳細資料傳送至發生問題所在工作區的 Operation 資料表。 _LogOperation 系統函式會以 Operation 資料表為基礎,提供一組簡化的資訊以供分析和警示。

資料行

_LogOperation 函式會傳回下表中的資料行。

資料行 描述
TimeGenerated 事件發生的時間 (以 UTC 表示)。
類別 作業類別群組。 可用來篩選作業類型,並協助建立更精確的系統稽核和警示。 如需類別清單,請參閱下一節。
作業 作業類型的描述。 作業可以指出已達到其中一個 Log Analytics 限制、後端程序相關問題,或任何其他服務訊息。
層級 問題的嚴重性層級:
- 資訊:不需特別注意。
- 警告:程序並未如預期般完成,需要注意。
- 錯誤:程序失敗,需要注意。
詳細資料 作業的詳細描述,包括特定的錯誤訊息。
_ResourceId 與作業相關之 Azure 資源的資源識別碼。
電腦 如果作業與 Azure 監視器代理程式相關,則為電腦名稱。
CorrelationId 用來對連續相關作業進行分組。

類別

下表說明 _LogOperation 函式中的類別。

類別 描述
擷取 屬於資料擷取程序的作業。
專員 指出代理程式安裝的問題。
資料集合 與資料收集程序相關的作業。
解決方案目標 已處理 ConfigurationScope 類型的作業。
評量解決方案 已執行評量程序。

擷取

擷取作業是在資料擷取期間發生的問題,包括有關達到 Azure Log Analytics 工作區限制的通知。 此類別中的錯誤狀況可能暗示資料遺失,因此請務必加以監視。 如需 Log Analytics 工作區的服務限制,請參閱 Azure 監視器服務限制

重要

如果您要針對使用資料收集規則 (DCR) (例如 Azure 監視器代理程式或記錄擷取 API) 的案例進行資料收集疑難排解,請參閱在 Azure 監視器中監視 DCR 資料收集和進行疑難排解,以取得其他疑難排解資訊。

作業:資料收集已停止

「由於已達到每日免費資料限制,因此已停止資料收集。 擷取狀態 = OverQuota」

在過去 7 天,記錄的收集已達到每日設定限制。 若工作區的設定為免費層,就會設定此限制,或是已設定此工作區的每日收集限制。 達到設定的限制之後,當天就會自動停止收集資料,資料的收集只能在下一個收集日繼續執行。

建議的動作:

  • 檢查 _LogOperation 資料表以取得停止收集和繼續收集的事件:
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Detail has "Data collection"
  • 在「已停止收集資料」作業事件發生時建立警示。 此警示會在達到收集限制時通知您。
  • 在達到每日收集限制之後所集的資料會遺失。 使用 [工作區深入解析] 窗格可檢閱每個來源的使用率。 或者,您可以決定管理每日資料量上限,或變更定價層以符合您的收集率模式。
  • 資料收集率會每天計算,並在隔天開始時重設。 您也可以透過在「繼續收集資料」作業事件發生時建立警示,以監視繼續收集事件。

作業:擷取速率

「資料擷取量速率已超過工作區中的閾值:每分鐘 {0:0.00} MB,且已捨棄資料。」

建議的動作:

  • 檢查 _LogOperation 資料表是否有擷取率事件:
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Operation has "Ingestion rate"
    持續超過閾值時,每隔六小時會傳送事件至工作區中的 Operation 資料表。
  • 在「已停止收集資料」作業事件發生時建立警示。 此警示會在達到收集限制時通知您。
  • 當擷取率達到百分之 100 時,收集的資料將遭捨棄並遺失。 使用 [工作區深入解析] 窗格檢閱您的使用模式並嘗試加以減少。
    如需詳細資訊,請參閱:

作業:資料表資料行計數上限

「已捨棄 <資料表名稱> 類型的資料,因為欄位的數目 <新欄位計數> 已超過每個資料類型 <目前欄位計數限制> 個自訂欄位的限制。」

建議的動作:對於自訂資料表,您可以改成在查詢中剖析資料

作業:欄位內容驗證

「下列欄位的值 <欄位名稱> (類型為 <資料表名稱>) 已修剪為允許的大小上限,<欄位大小限制> 位元組。 請據以調整您的輸入。」

大於限制大小的欄位已由 Azure 記錄處理。 會將欄位修剪為允許的欄位限制。 不建議您傳送大於允許限制的欄位,因為這樣會導致資料遺失。

建議的動作:

檢查受影響資料類型的來源:

  • 如果資料會透過 HTTP 資料收集器 API 傳送,您必須變更程式碼或指令碼,在擷取資料之前先加以分割。
  • 若是 Log Analytics 代理程式所收集的自訂記錄,請變更應用程式或工具的記錄設定。
  • 對於任何其他資料類型,請提出支援案例。 如需詳細資訊,請參閱 Azure 監視器服務限制

資料集合

下一節提供資料收集的相關資訊。

作業:Azure 活動記錄收集

「訂用帳戶的存取權已遺失。 請確定 <訂用帳戶識別碼> 訂用帳戶位於 <租用戶識別碼> Microsoft Entra 租用戶中。 如果將訂用帳戶轉移給另一個租用戶,則不會影響服務,但租用戶的資訊最多可能需要一小時才會傳播。

在某些情況下 (例如,將訂用帳戶移至不同的租用戶),Azure 活動記錄可能會停止流入工作區。 在那些情況下,您必須遵循此文章所述的程序來重新連線訂用帳戶。

建議的動作:

  • 如果警告訊息中提及的訂用帳戶已不存在,請移至 [傳統] 底下的 [舊版活動記錄連接器] 窗格。 選取相關的訂用帳戶,然後選取 [中斷連線] 按鈕。
  • 如果您無法再存取警告訊息上提及的訂用帳戶:
    • 請遵循上述步驟,中斷訂用帳戶的連線。
    • 若要繼續從此訂用帳戶收集記錄,請連絡訂用帳戶擁有者來修正權限,並重新啟用活動記錄的收集。
  • 建立診斷設定,以將活動記錄傳送至 Log Analytics 工作區。

專員

下一節提供代理程式的相關資訊。

作業:Linux 代理程式

「來自 OMS 設定的兩個連續設定應用程式失敗。」

入口網站上的組態設定已變更。

建議的動作:此問題會在代理程式擷取新組態設定發生問題時出現。 若要減緩此問題,請重新安裝代理程式。 檢查代理程式事件的 _LogOperation 資料表:

_LogOperation | where TimeGenerated >= ago(6h) | where Category == "Agent" | where Operation == "Linux Agent" | distinct _ResourceId

此清單會顯示代理程式設定錯誤的資源識別碼。 若要減緩此問題,請重新安裝列出的代理程式。

警示規則

在 Azure 監視器中使用記錄搜尋警示,以在您的 Log Analytics 工作區中偵測到問題時主動收到通知。 使用可讓您及時回應問題,同時將成本降至最低的策略。 您的訂用帳戶將依 Azure 監視器定價中列出的費用,為每個警示規則付費。

建議的策略是根據問題層級,從兩個警示規則開始。 針對「錯誤」使用較短的頻率 (例如每 5 分鐘),針對「警告」則使用較長的頻率 (例如 24 小時)。 因為「錯誤」指出可能的資料遺失,因此建議您快速加以回應,以將任何遺失降到最低。 「警告」通常會指出不需立即注意的問題,因此您可以每天加以檢閱。

利用使用 Azure 監視器建立、檢視及管理記錄搜尋警示中的程序來建立記錄搜尋警示規則。 下列各節描述每個規則的詳細資料。

查詢 臨界值 期間 頻率
_LogOperation | where Level == "Error" 0 5 5
_LogOperation | where Level == "Warning" 0 1,440 1,440

這些警示規則將對具有「錯誤」或「警告」的所有作業做出相同回應。 當您更熟悉產生警示的作業之後,您可能想要針對特定作業做出不同回應。 例如,您可能想要針對特定作業,將通知傳送給不同人員。

若要針對特定作業建立警示規則,請使用包括 [類別] 和 [作業] 資料行的查詢。

下列範例會在擷取量速率達到限制的百分之 80 時建立警告警示:

  • 目標:選取您的 Log Analytics 工作區
  • 準則:
    • 訊號名稱:自訂記錄搜尋
    • 搜尋查詢:_LogOperation | where Category == "Ingestion" | where Operation == "Ingestion rate" | where Level == "Warning"
    • 依據:結果數目
    • 條件:大於
    • 閾值:0
    • 週期:5 (分鐘)
    • 頻率︰5 (分鐘)
  • 警示規則名稱:已達到每日資料限制
  • 嚴重性:警告 (Sev 1)

下列範例會在資料收集達到每日限制時建立警告警示:

  • 目標:選取您的 Log Analytics 工作區
  • 準則:
    • 訊號名稱:自訂記錄搜尋
    • 搜尋查詢:_LogOperation | where Category == "Ingestion" | where Operation == "Data collection Status" | where Level == "Warning"
    • 依據:結果數目
    • 條件:大於
    • 閾值:0
    • 週期:5 (分鐘)
    • 頻率︰5 (分鐘)
  • 警示規則名稱:已達到每日資料限制
  • 嚴重性:警告 (Sev 1)

下一步