Integrare una soluzione di monitoraggio esterno con l'hub di Azure Stack
Per il monitoraggio esterno dell'infrastruttura dell'hub di Azure Stack, è necessario monitorare il software, i computer fisici e i commutatori di rete fisici dell'hub di Azure Stack. Ognuna di queste aree offre un metodo per recuperare informazioni sull'integrità e sugli avvisi:
- Il software dell'hub di Azure Stack offre un'API basata su REST per recuperare i dati relativi a integrità e avvisi. Le tecnologie software-defined, ad esempio Spazi di archiviazione diretta, Integrità archiviazione e avvisi, fanno parte del monitoraggio software.
- I computer fisici possono rendere disponibili le informazioni sull'integrità e sugli avvisi tramite i controller BMC (Baseboard Management Controller).
- I dispositivi di rete fisici possono rendere disponibili le informazioni sull'integrità e sugli avvisi tramite il protocollo SNMP.
Ogni soluzione hub di Azure Stack viene fornita con un host del ciclo di vita hardware. Questo host esegue il software di monitoraggio del fornitore dell'hardware OEM (Original Equipment Manufacturer) per i server fisici e i dispositivi di rete. Verificare con il provider OEM se le soluzioni di monitoraggio fornite possono essere integrate con soluzioni di monitoraggio esistenti nel data center.
Importante
La soluzione di monitoraggio esterno usata deve essere senza agente. Non è possibile installare agenti di terze parti all'interno dei componenti dell'hub di Azure Stack.
Il diagramma seguente mostra il flusso di traffico tra un sistema integrato dell'hub di Azure Stack, l'host del ciclo di vita dell'hardware, una soluzione di monitoraggio esterno e un sistema di raccolta dati/ticket esterno.
Nota
L'integrazione del monitoraggio esterno direttamente nei server fisici non è consentita e viene attivamente bloccata dagli elenchi di controllo di accesso (ACL). L'integrazione del monitoraggio esterno direttamente nei dispositivi di rete fisici è supportata. Rivolgersi al provider OEM per informazioni su come abilitare questa funzionalità.
Questo articolo illustra come integrare l'hub di Azure Stack con soluzioni di monitoraggio esterne, ad esempio System Center Operations Manager e Nagios. Include anche come usare gli avvisi a livello di codice usando PowerShell o tramite chiamate API REST.
Eseguire l'integrazione con Operations Manager
È possibile usare Operations Manager per il monitoraggio esterno dell'hub di Azure Stack. Il Management Pack di System Center per l'hub di Microsoft Azure Stack consente di monitorare più distribuzioni dell'hub di Azure Stack con una singola istanza di Operations Manager. Questo Management Pack usa le API REST del provider di risorse di integrità e del provider di risorse di aggiornamento per comunicare con l'hub di Azure Stack. Se si prevede di non usare il software di monitoraggio OEM in esecuzione nell'host del ciclo di vita hardware, è possibile installare i Management Pack dei fornitori per monitorare i server fisici. È anche possibile usare l'individuazione dei dispositivi di rete di Operations Manager per monitorare i commutatori di rete.
Il Management Pack per l'hub di Azure Stack offre le funzionalità seguenti:
- È possibile gestire più distribuzioni dell'hub di Azure Stack.
- È disponibile il supporto per Microsoft Entra ID e Active Directory Federation Services (AD FS).
- È possibile recuperare e chiudere gli avvisi.
- È disponibile un dashboard di integrità e capacità.
- Include il rilevamento della modalità di manutenzione automatica per quando sono in corso patch e aggiornamenti (P&U).
- Sono incluse attività di tipo forzatura degli aggiornamenti per la distribuzione e l'area.
- È possibile aggiungere informazioni personalizzate a un'area.
- Sono supportati report e notifiche.
Per scaricare il Management Pack di System Center e la guida utente associata, vedere Scaricare Il Management Pack di System Center per l'hub di Microsoft Azure Stack.
Per una soluzione di creazione di ticket, è possibile integrare Operations Manager con System Center Service Manager. Il connettore prodotto integrato consente la comunicazione bidirezionale che permette di chiudere un avviso nell'hub di Azure Stack e in Operations Manager dopo aver risolto una richiesta di servizio in Service Manager.
Il diagramma seguente mostra l'integrazione dell'hub di Azure Stack con una distribuzione di System Center esistente. È possibile automatizzare ulteriormente Service Manager con System Center Orchestrator o Service Management Automation (SMA) per eseguire operazioni nell'hub di Azure Stack.
Integrazione con Nagios
È possibile configurare e configurare il plug-in Nagios per l'hub di Microsoft Azure Stack.
Un plug-in di monitoraggio Nagios è stato sviluppato insieme ai partner Cloudbase Solutions, disponibile con la licenza software gratuita permissiva - MIT (Massachusetts Institute of Technology).
Il plug-in è scritto in Python e sfrutta l'API REST del provider di risorse di integrità. Offre funzionalità di base per recuperare e chiudere gli avvisi nell'hub di Azure Stack. Analogamente al Management Pack di System Center, consente di aggiungere più distribuzioni dell'hub di Azure Stack e di inviare notifiche.
Con la versione 1.2 il plug-in Hub di Azure Stack - Nagios sfrutta la libreria Microsoft ADAL e supporta l'autenticazione usando l'entità servizio con un segreto o un certificato. Inoltre, la configurazione è stata semplificata usando un singolo file di configurazione con nuovi parametri. Supporta ora le distribuzioni dell'hub di Azure Stack usando Microsoft Entra ID e AD FS come sistema di identità.
Importante
AD FS supporta solo sessioni di accesso interattive. Se è necessario un accesso non interattivo per uno scenario automatizzato, è necessario usare un nome SPN.
Il plug-in funziona con Nagios 4x e XI. Per scaricare il plug-in, vedere Monitoraggio degli avvisi dell'hub di Azure Stack. Il sito di download include anche i dettagli di installazione e configurazione.
Requisiti per Nagios
La versione minima di Nagios è 4.x
Microsoft Entra libreria Python. Questa libreria può essere installata usando Python PIP.
sudo pip install adal pyyaml six
Installare il plug-in
Questa sezione descrive come installare il plug-in dell'hub di Azure Stack presupponendo un'installazione predefinita di Nagios.
Il pacchetto del plug-in contiene i file seguenti:
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
Copiare il plug-in
azurestack_plugin.py
nella directory seguente:/usr/local/nagios/libexec
.Copiare il gestore
azurestack_handler.sh
nella directory seguente:/usr/local/nagios/libexec/eventhandlers
.Assicurarsi che il file del plug-in sia impostato come eseguibile:
sudo cp azurestack_plugin.py <PLUGINS_DIR> sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
Configurare il plug-in
I parametri seguenti sono disponibili per la configurazione nel file azurestack.cfg. I parametri in grassetto devono essere configurati indipendentemente dal modello di autenticazione scelto.
Per altre informazioni su come creare un nome SPN, vedere Usare un'identità dell'app per accedere alle risorse.
Parametro | Descrizione | Authentication |
---|---|---|
External_domain_fqdn | FQDN di dominio esterno | |
Regione: | Nome area | |
tenant_id: | ID tenant* | |
client_id: | ID client | SPN con segreto |
client_secret: | Client Password | SPN con segreto |
client_cert**: | Percorso del certificato | NOME SPN con certificato |
client_cert_thumbprint**: | Identificazione personale del certificato | NOME SPN con certificato |
*L'ID tenant non è necessario per le distribuzioni dell'hub di Azure Stack con AD FS.
** Segreto client e certificato client si escludono a vicenda.
Gli altri file di configurazione contengono impostazioni di configurazione facoltative perché possono essere configurate anche in Nagios.
Nota
Controllare la destinazione della posizione in azurestack_hosts.cfg e azurestack_services.cfg.
Configurazione | Descrizione |
---|---|
azurestack_commands.cfg | Configurazione del gestore senza requisiti di modifica |
azurestack_contacts.cfg | Impostazioni di notifica |
azurestack_hosts.cfg | Denominazione della distribuzione dell'hub di Azure Stack |
azurestack_services.cfg | Configurazione del servizio |
Procedura di configurazione
Modificare il file di configurazione.
Copiare i file di configurazione modificati nella cartella seguente:
/usr/local/nagios/etc/objects
.
Aggiornare la configurazione di Nagios
La configurazione di Nagios deve essere aggiornata per assicurarsi che il plug-in Hub di Azure Stack - Nagios venga caricato.
Aprire il file seguente:
/usr/local/nagios/etc/nagios.cfg
Aggiungere la voce seguente:
# 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
Ricaricare Nagios.
sudo service nagios reload
Chiudere manualmente gli avvisi attivi
Gli avvisi attivi possono essere chiusi all'interno di Nagios usando la funzionalità di notifica personalizzata. La notifica personalizzata deve essere:
/close-alert <ALERT_GUID>
Un avviso può anche essere chiuso usando un terminale con il comando seguente:
/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Close --alert-id <ALERT_GUID>
Risoluzione dei problemi
La risoluzione dei problemi del plug-in viene eseguita chiamando manualmente il plug-in in un terminale. Usare il metodo seguente:
/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Monitor
Usare PowerShell per monitorare l'integrità e gli avvisi
Se non si usa Operations Manager, Nagios o una soluzione basata su Nagios, è possibile usare PowerShell per abilitare un'ampia gamma di soluzioni di monitoraggio da integrare con l'hub di Azure Stack.
Per usare PowerShell, assicurarsi di disporre di PowerShell installato e configurato per un ambiente dell'operatore hub di Azure Stack. Installare PowerShell in un computer locale che può raggiungere l'endpoint Resource Manager (amministratore) (https://adminmanagement.[area].[ External_FQDN]).
Eseguire i comandi seguenti per connettersi all'ambiente hub di Azure Stack come operatore dell'hub di Azure Stack:
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"
Usare comandi come gli esempi seguenti per usare gli avvisi:
# 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
Altre informazioni
Per informazioni sul monitoraggio dell'integrità predefinito, vedere Monitorare l'integrità e gli avvisi nell'hub di Azure Stack.