針對 Operations Manager 中的事件識別碼 2115 相關效能問題進行疑難解答

本文可協助您找出影響 Operations Manager (OpsMgr) 資料庫和數據倉儲數據插入時間的效能問題並進行疑難解答。 它適用於所有支援的 System Center Operations Manager 版本

原始產品版本: System Center Operations Manager
原始 KB 編號: 2681388

Operations Manager 資料庫效能問題的典型徵兆是在 Operations Manager 事件記錄檔中出現事件標識碼 2115 事件。 這些事件通常表示在管理伺服器或執行 Microsoft SQL Server 且裝載 Operations Manager 或 Operations Manager 數據倉儲資料庫的伺服器上存在效能問題。

Background

資料庫和數據倉儲寫入動作工作流程會在管理伺服器上執行。 這些工作流程會先在內部緩衝區中保留從代理程式和閘道伺服器接收的數據。 然後,他們會從內部緩衝區收集此數據,並將其插入資料庫和數據倉儲。 第一次數據插入完成時,工作流程會建立另一個批次。

每個批次數據的大小取決於建立批次時緩衝區中可用的數據量。 不過,批次中的數據項上限為5,000個。 如果傳入數據項的速率增加,或如果數據項插入至 Operation Manager 和數據倉儲資料庫輸送量降低,緩衝區會累積更多數據,而且批次大小會增加。

管理伺服器上有數個執行的寫入動作工作流程。 例如,下列工作流程會針對不同的數據類型,處理數據插入 Operations Manager 和數據倉儲資料庫:

  • Microsoft.SystemCenter.DataWarehouse.CollectEntityHealthStateChange
  • Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
  • Microsoft.SystemCenter.DataWarehouse.CollectEventData
  • Microsoft.SystemCenter.CollectAlerts
  • Microsoft.SystemCenter.CollectEntityState
  • Microsoft.SystemCenter.CollectPublishedEntityState
  • Microsoft.SystemCenter.CollectDiscoveryData
  • Microsoft.SystemCenter.CollectSignatureData
  • Microsoft.SystemCenter.CollectEventData

當管理伺服器上的資料庫或數據倉儲寫入動作工作流程遇到數據批次插入 (例如,超過 60 秒) 時,工作流程會開始將事件標識碼 2115 記錄到 Operations Manager 事件記錄檔。 此事件會每分鐘記錄一次,直到數據批次插入資料庫或數據倉儲,或寫入動作工作流程模組卸除數據為止。 因此,記錄事件標識碼 2115 是因為將數據插入資料庫或數據倉儲期間所發生的延遲。 下列是記錄的事件範例,因為寫入動作工作流程模組捨棄了數據:

事件類型:錯誤
事件來源:HealthService
事件類別目錄:無
事件標識碼:4506
計算機: <RMS 名稱>
描述:
在管理群組管理組><名中,針對實例 RMS NAME> 執行的 “Microsoft.SystemCenter.OperationalDataReporting.SubmitOperationalDataFailed.Alert” <規則中有太多未處理的數據,導致數據遭到捨棄:“{F56EB161-4ABE-5BC7-610F-4365524F294E}”。

深入瞭解

事件識別碼 2115 包含兩個重要資訊:

  • 發生問題的工作流程名稱
  • 工作流程開始插入最後一批數據的經過時間

例如:

記錄檔名稱:Operations Manager
來源:HealthService
事件標識碼:2115
層級:警告
計算機: <RMS 名稱>
描述:
管理群組管理組 <名> 中的系結數據源已將專案張貼到工作流程,但在 300 秒內尚未收到回應。 這表示工作流程的效能或功能問題。
工作流程標識碼:Microsoft.SystemCenter.CollectPublishedEntityState
實例: <RMS 名稱>
實例標識符: {88676CDF-E284-7838-AC70-E898DA1720CB}

工作流程會 Microsoft.SystemCenter.CollectPublishedEntityState 將實體狀態數據寫入 Operations Manager 資料庫。 事件標識碼 2115 訊息表示 Microsoft.SystemCenter.CollectPublishedEntityState 工作流程嘗試插入實體狀態數據批次,且在 300 秒前啟動。 在此範例中,不會完成實體狀態數據的插入。 通常,一批數據的插入應該會在 60 秒內完成。

如果工作流程標識碼包含 DataWarehouse 一詞,則問題牽涉到 Operations Manager 數據倉儲資料庫。 否則,問題牽涉到將數據插入 Operations Manager 資料庫。

原因

下列任何問題都可能導致這類問題。

插入問題

此問題可能表示資料庫效能問題,或代理程式傳送太多數據。 事件標識碼 2115 描述只指出有一個待辦專案會影響將數據插入資料庫 (Operations Manager 或 Operations Manager 數據倉儲) 。 這些事件可能會因為許多原因而發生。 例如,可能會有突然大量的探索數據。 或者,可能有資料庫連線問題。 或者,資料庫可能已滿。 或者,可能有磁碟相關或網路相關的條件約束。

在 Operations Manager 中,探索數據插入是相當耗費人力的程式。 它也可能出現高載,其中管理伺服器會收到大量數據。 這些高載可能會造成事件標識碼 2115 的暫時實例,但如果事件標識碼 2115 一致地出現在探索數據收集中,這可能表示資料庫或數據倉儲插入問題或管理元件中收集太多探索數據的探索規則。

實例空間變更或管理元件匯入所造成的 Operations Manager 組態更新,會直接影響資料庫伺服器上的 CPU 使用率。 這可能會影響資料庫插入時間。 在管理元件匯入或大型實例空間變更之後,您預期會看到事件標識碼 2115 訊息。 如需詳細資訊,請 參閱偵測 Operations Manager 中的頻繁組態變更並進行疑難解答

在 Operations Manager 中,昂貴的使用者介面查詢也會影響資料庫上的資源使用率,而導致資料庫插入時間延遲。 當使用者執行昂貴的使用者介面作業時,您可能會看到已記錄的事件標識碼 2115 訊息。

資料庫已滿或離線

如果 Operations Manager 或 Operations Manager 數據倉儲資料庫空間不足或離線,您預期管理伺服器會繼續將事件標識碼 2115 訊息記錄到 Operations Manager 事件記錄檔。 此外,暫止時間也會增加。

如果寫入動作工作流程無法連線到 Operations Manager 或 Operations Manager 數據倉儲資料庫,或是使用無效的認證來建立連線,則會封鎖數據插入,並記錄事件標識碼 2115 訊息,直到解決此案例為止。

設定和環境問題

如果 Operations Manager 資料庫、數據倉儲資料庫和所有支持環境未正確設定,事件標識碼 2115 訊息也可能表示效能問題。 以下是此問題的一些可能原因:

  • SQL Server 記錄檔或TempDB資料庫太小或空間不足。
  • 從 Operations Manager 和數據倉儲資料庫到管理伺服器的網路連結受到頻寬限制或延遲很大。 在此案例中,建議您將管理伺服器放在與 Operations Manager 和數據倉儲伺服器相同的 LAN 上。
  • 裝載資料庫、記錄或 TempDB Operations Manager 和數據倉儲資料庫所使用的數據磁碟速度很慢,或發生功能問題。 在此案例中,我們建議您使用RAID 10,同時在數位控制器上啟用電池支援的寫入快取。
  • Operations Manager 資料庫或數據倉儲伺服器沒有足夠的記憶體或 CPU 資源。
  • 裝載 Operations Manager 資料庫或數據倉儲的 SQL Server 實例已離線。

我們也建議您將管理伺服器放在與 Operations Manager 和數據倉儲資料庫伺服器相同的 LAN 上。

如果裝載資料庫的磁碟子系統、記錄或 TempDB Operations Manager 和數據倉儲資料庫所使用的 磁碟子系統速度緩慢或發生功能問題,也可能會發生事件標識碼 2115 訊息。 建議您使用RAID 10,同時在數位控制器上啟用電池支援的寫入快取。

解決方案

針對效能相關事件標識碼 2115 訊息進行疑難解答的第一個步驟,是識別事件內傳回的數據項。 例如,工作流程標識碼會指出 (的數據項類型,例如探索、警示、事件、效能) ,以及涉及哪些資料庫。 如果工作流程標識碼包含 DataWarehouse 一詞,則疑難解答的重點應該是 Operations Manager 數據倉儲資料庫。 在其他情況下,焦點應該放在 Operations Manager 資料庫上。

案例 1

在下列範例中,問題牽涉到 Microsoft.SystemCenter.CollectSignatureData 工作流程:

事件類型:
警告事件來源:HealthService
事件類別目錄:無
事件標識碼:2115
計算機: <RMS 名稱>
描述:管理群組管理組 <名> 中的系結數據源已將專案張貼到工作流程,但在 300 秒內尚未收到回應。 這表示工作流程的效能或功能問題。
工作流程標識碼:Microsoft.SystemCenter.CollectSignatureData
實例: <RMS 名稱>
實例標識符: {F56EB161-4ABE-5BC7-610F-4365524F294E}

解決方案

我們可以藉由執行下列 SQL 查詢,在此範例中識別效能簽章數據收集規則。 此查詢應該在 SQL Server Management Studio 中針對 Operations Manager 資料庫執行。

-- Return all Performance Signature Collection Rules
Use OperationsManager
select
managementpack.mpname,
rules.rulename
from performancesignature with (nolock)
inner join rules with (nolock)
on rules.ruleid = performancesignature.learningruleid
inner join managementpack with(nolock)
on rules.managementpackid = managementpack.managementpackid
group by managementpack.mpname, rules.rulename
order by managementpack.mpname, rules.rulename

此查詢會傳回所有效能簽章集合規則及其各自的管理元件名稱。 系統會針對管理元件名稱和規則名稱傳回數據行。

下列 效能監視器 伺服器上的計數器會提供資料庫和數據倉儲寫入動作插入批次大小和時間的相關信息:

  • OpsMgr DB 寫入動作模組 (*) \平均批次大小
  • OpsMgr DB 寫入動作模組 (*) \平均處理時間
  • OpsMgr DW 寫入器模組 (*) \Avg. 批處理時間, ms
  • OpsMgr DW 寫入器模組 (*) \Avg. 批次大小

例如,如果批次大小增加 (,預設批次大小為5,000個專案) ,這表示管理伺服器將數據插入資料庫或數據倉儲的速度很慢,或是從代理程式或閘道伺服器收到大量數據項。

藉由檢查資料庫和數據倉儲寫入動作帳戶 平均處理時間 計數器,我們可以瞭解將數據批次寫入資料庫和數據倉儲的平均花費時間。 視將數據批次寫入資料庫所需的時間而定,這可能會提供微調的機會。

案例 2

如果裝載 Operations Manager 資料庫或數據倉儲資料庫的 SQL Server 實例脫機,事件標識碼 2115 和事件標識碼 29200 會記錄到 Operations Manager 事件記錄檔。 例如:

記錄檔名稱:Operations Manager
來源:HealthService
日期:
事件標識碼:2115
層級:警告
描述:
管理群組 MSFT 中的系結數據源已將專案張貼至工作流程,但在 60 秒內尚未收到回應。 這表示工作流程的效能或功能問題。
工作流程標識碼:Microsoft.SystemCenter.CollectEventData
實例:name.contoso.local
實例標識符: {88676CDF-E284-7838-AC70-E898DA1720CB}

記錄檔名稱:Operations Manager
來源:OpsMgr 設定服務
事件標識碼:29200
層級:錯誤
描述:
OpsMgr 設定服務已失去與 OpsMgr 資料庫的連線,因此無法從資料庫取得任何更新。 這可能是暫時性的問題,可能會自動復原。 如果問題持續發生,通常表示資料庫有問題。 原因:
建立與 SQL 伺服器的連線時,發生與網路相關的錯誤或是執行個體特有的錯誤 找不到或無法存取伺服器。 確認實例名稱正確,且 SQL Server 已設定為允許遠端連線。 (提供者:命名管道提供者,錯誤:40 - 無法開啟與 SQL Server) 的連線

解決方案

若要解決此問題,請遵循下列步驟:

  1. 線上到裝載 Operations Manager 資料庫的伺服器。
  2. 開啟 [服務 ] 小程式。
  3. 確認 SQL Server (MSSQLSERVER) 服務已啟動並執行。
  4. 如果 SQL Server (MSSQLSERVER) 服務未啟動並執行,請啟動服務。

還原資料庫連線之後,工作流程應該會成功開始將數據再次儲存在個別的資料庫中。 事件標識碼 31554 確認已成功寫入資訊:

記錄檔名稱:Operations Manager
來源:健全狀況服務模組
事件標識碼:31554
工作類別:Data Warehouse
層級:資訊
描述:
工作流程成功將數據儲存在 Data Warehouse
一或多個工作流程受到此影響。
工作流程名稱:Microsoft.SystemCenter.DataWarehouse.CollectEventData
實例名稱:name.contoso.local
實例標識符: {88676CDF-E284-7838-AC70-E898DA1720CB}

案例 3

事件標識碼 2115 是由無效的 RunAs 認證所造成。

解決方案

檢查下列事件的 Operations Manager 事件記錄檔。 這些事件通常表示 Data Warehouse SQL Server 驗證帳戶可能有不正確的認證。

記錄檔名稱:Operations Manager
來源:HealthService
事件標識碼:7000
工作類別:健全狀況服務
層級:錯誤
描述:健全狀況服務無法登入管理群組管理組名的 RunAs 帳戶<名稱>>。< 錯誤為登入失敗:未知的使用者名稱或密碼錯誤。 (1326L) 。 這會防止健全狀況服務使用此 RunAs 帳戶監視或執行動作

記錄檔名稱:Operations Manager
來源:HealthService
事件標識碼:7015
工作類別:健全狀況服務
層級:錯誤
描述:
健全狀況服務無法驗證管理群組管理組<名>之 RunAs 帳戶帳戶<名稱>的未來有效性。 錯誤為登入失敗:未知的使用者名稱或密碼錯誤。 (1326L) 。

若要解決此問題,請遵循下列步驟:

  1. 開啟 Operations Manager 控制台。
  2. 取 [系統管理]
  3. 取 [執行身分設定\帳戶]
  4. 設定 Data Warehouse SQL Server 驗證帳戶的適當認證。

案例 4

磁碟效能問題所造成的事件標識碼 2115。 當裝載 Operations Manager 和數據倉儲資料庫所使用之資料庫、記錄或 TempDB 的數據磁碟速度緩慢或發生問題時,就會發生這種情況。 在此案例中,建議您使用RAID 10,同時在數位控制器上啟用電池支援的寫入快取。

解決方案

首先,針對包含 SQL Server 數據或記錄檔的所有磁碟驅動器,擷取下列實體磁碟計數器:

  • % 空閒時間:報告多少磁碟閑置時間。 小於 50% 的任何專案都可能表示磁碟瓶頸。

  • 平均磁碟佇列長度:此值不應超過 LUN 上主軸數目的兩倍。 例如,如果 LUN 有 25 個主軸,則可接受 50 的 值。 不過,如果 LUN 有 10 個主軸,則 25 的值太高。 您可以根據 RAID 設定中的 RAID 層級和磁碟數目,使用下列公式:

    • RAID 0:所有磁碟都在RAID 0集合中執行工作。

      Average Disk Queue Length <= # (Disks in the array) *2

    • RAID 1:一半的磁碟正在執行工作。 因此,只有一半可以計入磁碟佇列。

      Average Disk Queue Length <= # (Disks in the array/2) *2

    • RAID 10:一半的磁碟正在執行工作。 因此,只有一半可以計入磁碟佇列。

      Average Disk Queue Length <= # (Disks in the array/2) *2

    • RAID 5:所有磁碟都在RAID 5集合中執行工作。

      Average Disk Queue Length <= # (Disks in the array/2) *2

      平均磁碟秒/傳輸:完成一個磁碟 I/O 所需的秒數。
      平均磁碟秒數/讀取:從磁碟讀取數據的平均時間,以秒為單位。
      平均磁碟秒數/寫入:將數據寫入磁碟的平均時間,以秒為單位。
      Disk Bytes/sec:每秒要傳送到磁碟或從磁碟傳輸的位元組數目。
      磁碟傳輸/秒: (IOPS) 每秒輸入和輸出作業的數目。

      注意事項

      此清單中最後三個計數器的值應該一致地大約 為 .020 (20 毫秒) 或更少,且絕對不能超過 .050 (50 毫秒)

      下列臨界值記載於 SQL Server 效能疑難解答指南中:

      • 小於 10 毫秒:很好
      • 10-20 毫秒:良好
      • 20-50 毫秒:慢,需要注意
      • 大於 50 毫秒:嚴重的 I/O 瓶頸
      • Disk Bytes/sec:每秒傳輸到磁碟或從磁碟傳輸的位元組數目
      • 磁碟傳輸/秒: (IOPS) 每秒輸入和輸出作業的數目

    %Idle Time (10% 或更少) 時,這表示磁碟已充分利用。 在此情況下,此清單中的最後兩個計數器會分別 (磁 碟位元組/秒磁碟傳輸/秒) 分別以位元組和IOPS提供磁碟驅動器最大輸送量的良好指示。 SAN 磁碟驅動器的輸送量會高度變動,視主軸數目、磁碟驅動器速度和通道速度而定。 建議您向 SAN 廠商詢問磁碟驅動器應該支援的位元組和 IOPS 數目。 如果 %Idle Time 很低,而且這兩個計數器的值不符合磁碟驅動器的預期輸送量,請向 SAN 廠商尋求更多疑難解答協助。

下列文章提供如何針對 SQL Server 效能問題進行疑難解答的更深入解析:

案例 5

事件標識碼 2115 會記錄下來,而管理伺服器會產生無法將數據寫入 Operations Manager 中 Data Warehouse 警示。 您也會在管理伺服器電腦上遇到下列徵兆:

  • 管理伺服器會產生一或多個類似下列的警示:

    記錄檔名稱:Operations Manager
    來源:健全狀況服務模組
    日期:2022 年 1 月 1 日下午 12:00:00
    事件標識碼:31551
    工作類別:Data Warehouse
    層級:錯誤
    關鍵詞:傳統
    使用者:N/A
    計算機: <ManagementServerFQDN>
    描述:
    無法將數據儲存在 Data Warehouse 中。 將會重試作業。
    例外狀況 'SqlException': 無法開啟登入所要求的資料庫 “OperationsManagerDW”。 登入失敗。
    使用者 『CONTOSO\Action_Account』 的登入失敗。

    一或多個工作流程受到此影響。

    工作流程名稱:Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
    實例名稱: <ManagementServerFQDN>
    實例標識符: {AEC38E5Z-67A9-0406-20DB-ACC33BB9C494}
    管理群組: <ManagementGroupName>

  • 下列事件會記錄在管理伺服器上的 Operations Manager 事件記錄檔中:

    記錄檔名稱:Operations Manager
    來源:HealthService
    日期:2022 年 1 月 1 日下午 12:00:00
    事件標識碼:2115
    工作類別:無
    層級:警告
    關鍵詞:傳統
    使用者:N/A
    計算機: <ManagementServerFQDN>
    描述:
    管理群組管理群組 <中的系結數據源GroupName> 已將專案張貼至工作流程,但在 22560 秒內尚未收到回應。 這表示工作流程的效能或功能問題。
    工作流程標識碼:Microsoft.SystemCenter.DataWarehouse.CollectPerformanceData
    實例: <ManagementServerFQDN>
    實例標識符: {AEC38E5Z-67A9-0406-20DB-ACC33BB9C494}

解決方案

如果管理伺服器沒有針對其數據倉儲 RunAs 配置檔指定的帳戶,就會發生此問題。 此問題比較可能會影響次要管理伺服器。 如果要解決這個問題,請依照下列步驟執行。

  1. 在執行 Operations Manager 的電腦上,開啟 Operations 控制台。

  2. 在瀏覽窗格中,選取 [ 系統管理]

  3. 展開 [安全性],然後選取 [ 執行身分配置檔]

  4. 在 [執行身分配置檔] 檢視中,按兩下 [Data Warehouse 帳戶]

  5. 在 [執行身分配置檔屬性 - Data Warehouse 帳戶屬性] 對話框中,選取 [執行身分帳戶] 索引卷標,然後選取 [新增]

  6. 在 [執行身分帳戶] 列表中,選取 [Data Warehouse 動作帳戶]

  7. 在 [ 名稱] 清單中,選取產生警示的管理伺服器。

  8. 選取 [確定] 兩次。

  9. 請遵循步驟 4 到 8,將適當的 RunAs 帳戶指派給下列配置檔:

    • Data Warehouse 設定同步處理讀取器帳戶
    • Data Warehouse 報表部署帳戶
    • Data Warehouse SQL Server 驗證帳戶
  10. 針對每個配置檔,選取符合 RunAs 設定檔名稱的 RunAs 帳戶。 例如,進行下列指派:

    • 將 Data Warehouse 組態同步處理讀取器帳戶指派給 Data Warehouse 組態同步處理讀取器帳戶配置檔。
    • 將 Data Warehouse 報表部署帳戶指派給 Data Warehouse 報表部署帳戶配置檔。
    • 將 Data Warehouse SQL Server 驗證帳戶指派給 Data Warehouse SQL Server 驗證帳戶配置檔。
  11. 在產生警示的管理伺服器上,重新啟動 OpsMgr Health Service

  12. 在管理伺服器的 Operations Manager 事件記錄檔中,確認已記錄事件標識碼 31554 事件。 事件標識碼 31554 表示監視狀態已變更為 [狀況良好]。 這項變更會解決警示。

案例 6

事件標識碼 2115 發生在執行 HP MPIO FF DSM XP 3.01 的伺服器上,其中沒有顯示任何 LUN。 當用戶開啟 效能監視器 並嘗試新增計數器時,效能監視器 停止回應,而且此應用程式的句柄計數會快速增加。

因應措施

此問題有兩個因應措施:

  • 重新命名 HPPerfProv.dll 檔案,然後重新啟動 Windows。 當檔案重新命名且未載入時,效能監視器 將不會有任何問題。
  • 系統上至少有一個 LUN 存在。