監視 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 監視器服務限制

作業:資料收集已停止

「由於已達到每日免費資料限制,因此已停止資料收集。 擷取狀態 = 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)

下一步