Azure 監視器中的代理程式健全狀況解決方案

Azure 中的代理程式健全狀況解決方案可協助您了解哪些監視代理程式沒有回應且正在提交作業資料。 這包括直接向 Azure 監視器中的 Log Analytics 工作區回報,或向連接至 Azure 監視器的 System Center Operations Manager 管理群組回報的所有代理程式。

您也可以使用代理程式健全狀況解決方案來:

  • 追蹤部署的代理程式數目,及其分佈的地理位置。
  • 執行其它查詢,以維持對部署在 Azure、其它雲端環境或內部部署的分佈認知。

先決條件

部署這個解決方案之前,請確認您有支援向 Log Analytics 工作區或向與工作區整合之 Operations Manager 管理群組回報的 Windows 代理程式

管理組件

如果您的 Operations Manager 管理群組已連線到 Log Analytics 工作區,則下列管理組件會安裝在 Operations Manager 中。 新增此解決方案之後,這些管理組件也會安裝在直接連線的 Windows 電腦上。

  • Microsoft System Center Advisor 健全狀況評估直接通道智慧組件 (Microsoft.IntelligencePacks.HealthAssessmentDirect)
  • Microsoft System Center Advisor HealthAssessment Server Channel Intelligence Pack (Microsoft.IntelligencePacks.HealthAssessmentViaServer)。

這些管理組件不需要進行任何設定或管理。 如需有關方案管理組件如何更新的詳細資訊,請參閱 將 Operations Manager 連接到 Log Analytics

組態

使用新增解決方案中所述的流程,將代理程式健全狀況解決方案新增至您的 Log Analytics 工作區。 不需要進一步設定。

支援的代理程式

下表描述本解決方案支援的連線來源。

連線的來源 支援 描述
Windows 代理程式 系統會從直接 Windows 代理程式收集活動訊號事件。
System Center Operations Manager 管理群組 系統會每隔 60 秒從向管理群組回報之代理程式收集活動訊號事件,然後轉送到 Azure 監視器。 Operations Manager 代理程式不需要直接連線到 Azure 監視器。 活動訊號事件資料會從管理群組轉送至 Log Analytics 工作區。

使用解決方案

當您將解決方案新增至 Log Analytics 工作區時,[代理程式健全狀況] 圖格會新增至您的儀表板。 此圖格會顯示過去 24 小時內的代理程式總數和沒有回應的代理程式數目。

此螢幕擷取畫面顯示儀表板上的 [代理程式健全狀況] 圖格。

按一下 [代理程式健全狀況] 圖格,以開啟 [代理程式健全狀況] 儀表板。 此儀表板包含下表中的資料行。 每個資料行依計數列出前 10 個事件,這些事件符合該資料行中指定時間範圍的準則。 您可以選取每個資料行下方的 [查看全部],或選取資料行標頭,以執行記錄搜尋來提供完整清單。

資料行 描述
不同時間的代理程式計數 Linux 和 Windows 代理程式為期七天的代理程式計數趨勢
沒有回應的代理程式計數 在過去 24 小時內尚未傳送活動訊號的代理程式清單
依 OS 型別的分佈情況 您的環境中有多少個 Windows 和 Linux 代理程式的分割
依代理程式版本的分佈情況 您的環境中安裝的不同代理程式版本,以及每個版本的計數的分割
依代理程式類別的分佈情況 傳送活動訊號事件的不同代理程式類別的分割:直接代理程式、Operations Manager 代理程式或 Operations Manager 管理伺服器
依管理群組的分佈情況 環境中 Operations Manager 管理群組的分割
代理程式的地理位置 您擁有代理程式的不同國家/地區,以及各國家/地區安裝代理程式總計數的分割
已安裝的閘道計數 已安裝 Log Analytics 閘道的伺服器數目,以及這些伺服器的清單

此螢幕擷取畫面顯示 [代理程式健全狀況] 解決方案儀表板的範例。

Azure 監視器記錄

此解決方案會在 Log Analytics 工作區中建立一種型別的記錄:活動訊號。 活動訊號記錄具有下表中的屬性。

屬性 描述
Type Heartbeat
Category Direct AgentSCOM AgentSCOM Management Server
Computer 電腦名稱
OSType Windows 或 Linux 作業系統
OSMajorVersion 作業系統主要版本
OSMinorVersion 作業系統次要版本
Version Log Analytics 代理程式或 Operations Manager 代理程式版本
SCAgentChannel Direct 和/或 SCManagementServer
IsGatewayInstalled 如果已安裝 Log Analytics 閘道,則為 true;否則為 false
ComputerIP 如果有 Azure 虛擬機器的公用 IP 位址;使用私人 IP 之虛擬機器的 Azure SNAT 位址 (不是私人 IP 地址)
ComputerPrivateIPs 電腦的私人 IP 清單
RemoteIPCountry 電腦部署所在的地理位置
ManagementGroupName Operations Manager 管理群組的名稱
SourceComputerId 電腦的唯一識別碼
RemoteIPLongitude 電腦的地理位置經度
RemoteIPLatitude 電腦的地理位置緯度

回報給 Operations Manager 管理伺服器的每個代理程式都會傳送兩個活動訊號。 SCAgentChannel 屬性值會同時包含 DirectSCManagementServer,視您在訂閱中啟用的資料來源和監視解決方案而定。

如果您重新叫用,解決方案中的資料會透過以下兩種方式傳送:

  • 直接從 Operations Manager 管理伺服器傳送到 Azure 監視器
  • 直接從代理程式傳送到 Azure 監視器 (有鑒於代理程式上收集的資料量)

若活動訊號事件的值為 SCManagementServer,則 ComputerIP 的值代表管理伺服器的 IP 位址,因為資料係由該處上傳。 若為 SCAgentChannel 設為 Direct 的活動訊號,此值為代理程式的公用 IP 位址。

記錄搜尋範例

下表提供此解決方案所收集之記錄的記錄搜尋範例。

查詢 描述
Heartbeat | distinct Computer 代理程式總數
Heartbeat | summarize LastCall = max(TimeGenerated) by Computer | where LastCall < ago(24h) 過去 24 小時內沒有回應的代理程式計數
Heartbeat | summarize LastCall = max(TimeGenerated) by Computer | where LastCall < ago(15m) 過去 15 分鐘內沒有回應的代理程式計數
Heartbeat | where TimeGenerated > ago(24h) and Computer in ((Heartbeat | where TimeGenerated > ago(24h) | distinct Computer)) | summarize LastCall = max(TimeGenerated) by Computer 過去 24 小時內的電腦連線
Heartbeat | where TimeGenerated > ago(24h) and Computer !in ((Heartbeat | where TimeGenerated > ago(30m) | distinct Computer)) | summarize LastCall = max(TimeGenerated) by Computer 在過去 30 分鐘內離線的代理程式總數 (針對過去 24 小時)
Heartbeat | summarize AggregatedValue = dcount(Computer) by OSType 依 OS 型別取得一段時間內的代理程式數目趨勢
Heartbeat | summarize AggregatedValue = dcount(Computer) by OSType 依 OS 型別的分佈情況
Heartbeat | summarize AggregatedValue = dcount(Computer) by Version 依代理程式版本的分佈情況
Heartbeat | summarize AggregatedValue = count() by Category 依代理程式類別的分佈情況
Heartbeat | summarize AggregatedValue = dcount(Computer) by ManagementGroupName 依管理群組的分佈情況
Heartbeat | summarize AggregatedValue = dcount(Computer) by RemoteIPCountry 代理程式的地理位置
Heartbeat | where iff(isnotnull(toint(IsGatewayInstalled)), IsGatewayInstalled == true, IsGatewayInstalled == "true") == true | distinct Computer 安裝的 Log Analytics 閘道數目

後續步驟