共用方式為


整合外部監視解決方案與 Azure Stack Hub

針對外部監視 Azure Stack Hub 基礎結構,您需要監視 Azure Stack Hub 軟體、實體電腦和實體網路交換器。 每個區域都會提供方法來擷取健康情況和警示資訊:

  • Azure Stack Hub 軟體提供 REST 型 API 來擷取健康情況和警示。 儲存空間直接存取、儲存體健康情況和警示等軟體定義技術的使用情況,都是軟體監視的一部分。
  • 實體電腦可讓健康情況和警示資訊透過基礎板管理控制器 (BMC) 提供。
  • 實體網路裝置可讓健康情況和警示資訊透過 SNMP 通訊協定提供。

每個 Azure Stack Hub 解決方案隨附硬體生命週期主控件。 此主控件會針對實體伺服器及網路裝置執行原始設備製造商 (OEM) 硬體廠商的監視軟體。 如果 ORM 提供者的監視解決方案可以與資料中心內現有的監視解決方案整合。

重要

您使用的外部監視解決方案必須是無代理程式。 您無法在 Azure Stack Hub 元件內部安裝協力廠商代理程式。

下圖顯示整合 Azure Stack Hub 整合式系統、硬體生命週期主機、外部監視解決方案和外部票證/資料收集系統之間的流量。

此圖顯示 Azure Stack Hub、監視和票證解決方案之間的流量。

注意

不允許外部監視功能直接與實體伺服器進行整合,且存取控制清單 (ACL) 會主動加以封鎖。 支援外部監視功能直接與實體網路裝置整合。 請洽詢您的 OEM 提供者,以了解如何啟用此功能。

本文說明如何整合 Azure Stack Hub 與外部監視解決方案,例如 System Center Operations Manager 和 Nagios。 它也包含如何使用PowerShell或透過REST API呼叫,以程式設計方式處理警示。

與 Operations Manager 整合

您可以使用 Operations Manager 進行 Azure Stack Hub 的外部監視。 Microsoft Azure Stack Hub 適用的 System Center 管理組件可讓您使用單一 Operations Manager 執行個體來監視多個 Azure Stack Hub 部署。 管理組件會使用健康情況資源提供者和更新資源提供者 REST API 與 Azure Stack Hub 進行通訊。 如果您打算略過硬體生命週期主機上執行的 OEM 監視軟體,您可以安裝廠商管理組件來監視實體伺服器。 您也可以使用 Operations Manager 網路裝置探索來監視網路交換器。

Azure Stack Hub 的管理組件提供下列功能:

  • 您可以管理多個 Azure Stack Hub 部署。
  • 支援 Microsoft Entra ID 和 Active Directory 同盟服務 (AD FS)。
  • 您可以擷取和關閉警示。
  • 有健康情況和容量儀表板可供使用。
  • 包含修補和更新進行時自動維護模式偵測。
  • 包含針對部署和區域的強制更新工作。
  • 您可以將自訂資訊新增至區域。
  • 支援通知與報告。

若要下載 System Center 管理元件和相關聯的使用者指南,請參閱 下載 Microsoft Azure Stack Hub 的 System Center 管理元件。

如需票證解決方案,您可以將 Operations Manager 與 System Center Service Manager 整合。 整合的產品連接器會啟用雙向通訊,可讓您在解決 Service Manager 中的服務要求之後關閉 Azure Stack Hub 和 Operations Manager 中的警示。

下圖顯示 Azure Stack Hub 與現有的 System Center 部署的整合。 您可以使用 System Center Orchestrator 或 Service Management Automation (SMA) 來將 Service Manager 進一步自動化,以在 Azure Stack Hub 中執行作業。

顯示與 OM、Service Manager 和 SMA 整合的圖表。

與 Nagios 整合

您可以設定及設定適用於 Azure Stack Hub Microsoft Nagios 外掛程式。

Nagios 監視外掛程式是與合作夥伴 Cloudbase Solutions 一起開發,該解決方案以寬鬆的免費軟體授權提供 - MIT (麻省理工學院)。

外掛程式是以 Python 撰寫,並利用健康情況資源提供者 REST API。 它提供在 Azure Stack Hub 中擷取和關閉警示的基本功能。 如同 System Center 管理元件,它可讓您新增多個 Azure Stack Hub 部署,以及傳送通知。

使用 1.2 版的 Azure Stack Hub - Nagios 外掛程式會利用 Microsoft ADAL 連結庫,並支援使用服務主體搭配秘密或憑證進行驗證。 此外,已使用單一組態檔搭配新參數來簡化組態。 它現在支援使用 Microsoft Entra ID 和 AD FS 作為身分識別系統的 Azure Stack Hub 部署。

重要

AD FS 僅支援互動式登入工作階段。 如果您需要自動化案例的非互動式登入,您必須使用SPN。

外掛程式可與 Nagios 4x 和 XI 搭配運作。 若要下載外掛程式,請參閱 監視 Azure Stack Hub 警示。 下載網站也包含安裝和設定詳細數據。

Nagios 的需求

  1. 最小 Nagios 版本為 4.x

  2. Microsoft Entra Python 連結庫。 您可以使用 Python PIP 來安裝此連結庫。

    sudo pip install adal pyyaml six
    

安裝外掛程式

本節說明如何安裝假設預設安裝 Nagios 的 Azure Stack Hub 外掛程式。

外掛程式套件包含下列檔案:

azurestack_plugin.py
azurestack_handler.sh
samples/etc/azurestack.cfg
samples/etc/azurestack_commands.cfg
samples/etc/azurestack_contacts.cfg
samples/etc/azurestack_hosts.cfg
samples/etc/azurestack_services.cfg
  1. 將外掛程式 azurestack_plugin.py 複製到下列目錄: /usr/local/nagios/libexec

  2. 將處理程式 azurestack_handler.sh 複製到下列目錄: /usr/local/nagios/libexec/eventhandlers

  3. 請確定外掛程式檔案已設定為可執行檔案:

    sudo cp azurestack_plugin.py <PLUGINS_DIR>
    sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
    

設定外掛程式

下列參數可在 azurestack.cfg 檔案中設定。 必須從您選擇的驗證模型獨立設定粗體的參數。

如需如何建立SPN的詳細資訊,請參閱 使用應用程式身分識別來存取資源

參數 描述 驗證
External_domain_fqdn 外部網域 FQDN
地區: 區域名稱
tenant_id: 租使用者標識碼*
client_id: Client ID SPN 與秘密
client_secret: 客戶端密碼 SPN 與秘密
client_cert**: 憑證的路徑 SPN 與憑證
client_cert_thumbprint**: 憑證指紋 SPN 與憑證

*使用 AD FS 進行 Azure Stack Hub 部署時不需要租使用者識別碼。

** 用戶端密碼和用戶端憑證互斥。

其他組態檔也包含選擇性組態設定,因為它們也可在 Nagios 中設定。

注意

檢查 azurestack_hosts.cfg 和 azurestack_services.cfg 中的位置目的地。

組態 描述
azurestack_commands.cfg 處理程式設定不需變更
azurestack_contacts.cfg 通知設定
azurestack_hosts.cfg Azure Stack Hub 部署命名
azurestack_services.cfg 服務的組態

安裝步驟

  1. 修改組態檔。

  2. 將修改過的組態檔複製到下列資料夾: /usr/local/nagios/etc/objects

更新 Nagios 設定

必須更新 Nagios 設定,以確保 Azure Stack Hub - Nagios 外掛程式已載入。

  1. 開啟下列檔案:

    /usr/local/nagios/etc/nagios.cfg
    
  2. 新增下列項目:

    # Load the Azure Stack Hub Plugin Configuration
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_contacts.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_commands.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_hosts.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_services.cfg
    
  3. 重載 Nagios。

    sudo service nagios reload
    

手動關閉作用中警示

使用自定義通知功能可以在 Nagios 內關閉作用中警示。 自訂通知必須是:

/close-alert <ALERT_GUID>

您也可以使用終端機搭配下列命令來關閉警示:

/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Close --alert-id <ALERT_GUID>

疑難排解

藉由在終端機中手動呼叫外掛程式,即可針對外掛程式進行疑難解答。 使用下列方法:

/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Monitor

使用 PowerShell 監視健康情況和警示

如果您未使用 Operations Manager、Nagios 或 Nagios 型解決方案,您可以使用 PowerShell 來啟用廣泛的監視解決方案,以與 Azure Stack Hub 整合。

  1. 若要使用PowerShell,請確定您已 針對 Azure Stack Hub 操作員環境安裝並設定 PowerShell。 在可連線到 Resource Manager(系統管理員) 端點 (https://adminmanagement.[region].[ 的本機電腦上安裝 PowerShell。External_FQDN])。

  2. 以 Azure Stack Hub 操作員身分執行下列命令以連線到 Azure Stack Hub 環境:

    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint https://adminmanagement.[Region].[External_FQDN] `
       -AzureKeyVaultDnsSuffix adminvault.[Region].[External_FQDN] `
       -AzureKeyVaultServiceEndpointResourceId https://adminvault.[Region].[External_FQDN]
    
    Connect-AzAccount -EnvironmentName "AzureStackAdmin"
    
  3. 使用下列範例之類的命令來處理警示:

# Retrieve all alerts
$Alerts = Get-AzsAlert
$Alerts

# Filter for active alerts
$Active = $Alerts | Where-Object { $_.State -eq "active" }
$Active

# Close alert
Close-AzsAlert -AlertID "ID"

#Retrieve resource provider health
$RPHealth = Get-AzsRPHealth
$RPHealth

# Retrieve infrastructure role instance health
$FRPID = $RPHealth | Where-Object { $_.DisplayName -eq "Capacity" }
   Get-AzsRegistrationHealth -ServiceRegistrationId $FRPID.RegistrationId

深入了解

如需內建健康情況監視的相關信息,請參閱 在 Azure Stack Hub 中監視健康情況和警示。

下一步

安全性整合