Integrar a solução de monitorização externa com o Azure Stack Hub
Para a monitorização externa da infraestrutura do Azure Stack Hub, tem de monitorizar o software do Azure Stack Hub, os computadores físicos e os comutadores de rede física. Cada uma destas áreas oferece um método para obter informações de estado de funcionamento e alerta:
- O software do Azure Stack Hub oferece uma API baseada em REST para obter o estado de funcionamento e os alertas. A utilização de tecnologias definidas por software, como Espaços de Armazenamento Direto, estado de funcionamento do armazenamento e alertas, faz parte da monitorização de software.
- Os computadores físicos podem disponibilizar informações de estado de funcionamento e alerta através dos controladores de gestão de bases (BMCs).
- Os dispositivos de rede física podem disponibilizar informações de estado de funcionamento e alerta através do protocolo SNMP.
Cada solução do Azure Stack Hub é fornecida com um anfitrião de ciclo de vida de hardware. Este anfitrião executa o software de monitorização do fabricante de hardware original (OEM) para os servidores físicos e dispositivos de rede. Verifique junto do seu fornecedor de OEM se as soluções de monitorização podem ser integradas com soluções de monitorização existentes no seu datacenter.
Importante
A solução de monitorização externa que utiliza tem de ser sem agente. Não pode instalar agentes de terceiros dentro dos componentes do Azure Stack Hub.
O diagrama seguinte mostra o fluxo de tráfego entre um sistema integrado do Azure Stack Hub, o anfitrião do ciclo de vida do hardware, uma solução de monitorização externa e um sistema de recolha de dados/pedidos externos.
Nota
A integração de monitorização externa diretamente com servidores físicos não é permitida e bloqueada ativamente por Controlo de Acesso Listas (ACLs). A integração de monitorização externa diretamente com dispositivos de rede física é suportada. Consulte o seu fornecedor OEM sobre como ativar esta funcionalidade.
Este artigo explica como integrar o Azure Stack Hub com soluções de monitorização externas, como o System Center Operations Manager e o Nagios. Também inclui como trabalhar com alertas programaticamente através do PowerShell ou através de chamadas à API REST.
Integrar com o Operations Manager
Pode utilizar o Operations Manager para monitorização externa do Azure Stack Hub. O Pacote de Gestão do System Center para o Microsoft Azure Stack Hub permite-lhe monitorizar várias implementações do Azure Stack Hub com uma única instância do Operations Manager. O pacote de gestão utiliza o fornecedor de recursos de estado de funcionamento e atualiza as APIs REST do fornecedor de recursos para comunicar com o Azure Stack Hub. Se planear ignorar o software de monitorização OEM que está em execução no anfitrião do ciclo de vida do hardware, pode instalar pacotes de gestão de fornecedores para monitorizar servidores físicos. Também pode utilizar a deteção de dispositivos de rede do Operations Manager para monitorizar os comutadores de rede.
O pacote de gestão do Azure Stack Hub fornece as seguintes capacidades:
- Pode gerir várias implementações do Azure Stack Hub.
- Existe suporte para Microsoft Entra ID e Serviços de Federação do Active Directory (AD FS) (AD FS).
- Pode obter e fechar alertas.
- Existe um dashboard de estado de funcionamento e capacidade.
- Inclui a deteção do Modo de Manutenção Automática para quando o patch e a atualização (P&U) estão em curso.
- Inclui tarefas force update para implementação e região.
- Pode adicionar informações personalizadas a uma região.
- Suporta notificações e relatórios.
Para transferir o Pacote de Gestão do System Center e o guia de utilizador associado, veja Transferir o System Center Management Pack para o Microsoft Azure Stack Hub.
Para uma solução de ticketing, pode integrar o Operations Manager com System Center Service Manager. O conector de produto integrado permite a comunicação bidirecional que lhe permite fechar um alerta no Azure Stack Hub e no Operations Manager depois de resolver um pedido de serviço no Service Manager.
O diagrama seguinte mostra a integração do Azure Stack Hub com uma implementação existente do System Center. Pode automatizar mais Service Manager com o System Center Orchestrator ou a Service Management Automation (SMA) para executar operações no Azure Stack Hub.
Integrar com Nagios
Pode configurar o Plug-in Nagios para o Microsoft Azure Stack Hub.
Foi desenvolvido um plug-in de monitorização naGios juntamente com o parceiro Cloudbase Solutions, que está disponível ao abrigo da licença de software livre permissiva – MIT (Massachusetts Institute of Technology).
O plug-in é escrito no Python e tira partido da API REST do fornecedor de recursos de estado de funcionamento. Oferece funcionalidades básicas para obter e fechar alertas no Azure Stack Hub. Tal como o pacote de gestão do System Center, permite-lhe adicionar várias implementações do Azure Stack Hub e enviar notificações.
Com a Versão 1.2, o plug-in do Azure Stack Hub – Nagios tira partido da biblioteca da Microsoft ADAL e suporta a autenticação através do Principal de Serviço com um segredo ou certificado. Além disso, a configuração foi simplificada com um único ficheiro de configuração com novos parâmetros. Agora suporta implementações do Azure Stack Hub com o Microsoft Entra ID e o AD FS como o sistema de identidade.
Importante
O AD FS só suporta sessões de início de sessão interativas. Se precisar de um início de sessão não interativo para um cenário automatizado, tem de utilizar um SPN.
O plug-in funciona com Nagios 4x e XI. Para transferir o plug-in, veja Monitorizar Alertas do Azure Stack Hub. O site de transferência também inclui detalhes de instalação e configuração.
Requisitos para Nagios
A Versão Mínima de Nagios é 4.x
Microsoft Entra biblioteca python. Esta biblioteca pode ser instalada com o PIP do Python.
sudo pip install adal pyyaml six
Instalar plug-in
Esta secção descreve como instalar o plug-in do Azure Stack Hub assumindo uma instalação predefinida do Nagios.
O pacote de plug-in contém os seguintes ficheiros:
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
Copie o plug-in
azurestack_plugin.py
para o seguinte diretório:/usr/local/nagios/libexec
.Copie o processador
azurestack_handler.sh
para o seguinte diretório:/usr/local/nagios/libexec/eventhandlers
.Certifique-se de que o ficheiro de plug-in está definido como executável:
sudo cp azurestack_plugin.py <PLUGINS_DIR> sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
Configurar plug-in
Os seguintes parâmetros estão disponíveis para serem configurados no ficheiro azurestack.cfg. Os parâmetros a negrito têm de ser configurados de forma independente do modelo de autenticação que escolher.
Para obter mais informações sobre como criar um SPN, veja Utilizar uma identidade de aplicação para aceder aos recursos.
Parâmetro | Description | Autenticação |
---|---|---|
External_domain_fqdn | FQDN de Domínio Externo | |
região: | Nome da Região | |
tenant_id: | ID do Inquilino* | |
client_id: | ID de Cliente | SPN com segredo |
client_secret: | Palavra-passe do Cliente | SPN com segredo |
client_cert**: | Caminho para o Certificado | SPN com certificado |
client_cert_thumbprint**: | Thumbprint do certificado | SPN com certificado |
*O ID do Inquilino não é necessário para implementações do Azure Stack Hub com o AD FS.
** O segredo do cliente e o certificado de cliente são mutuamente exclusivos.
Os outros ficheiros de configuração contêm definições de configuração opcionais, uma vez que também podem ser configurados no Nagios.
Nota
Verifique o destino da localização em azurestack_hosts.cfg e azurestack_services.cfg.
Configuração | Descrição |
---|---|
azurestack_commands.cfg | Configuração do processador sem requisito de alterações |
azurestack_contacts.cfg | Definições de Notificação |
azurestack_hosts.cfg | Nomenclatura de Implementação do Azure Stack Hub |
azurestack_services.cfg | Configuração do Serviço |
Passos de configuração
Modifique o ficheiro de configuração.
Copie os ficheiros de configuração modificados para a seguinte pasta:
/usr/local/nagios/etc/objects
.
Atualizar a configuração do Nagios
A configuração do Nagios tem de ser atualizada para garantir que o Plug-in do Azure Stack Hub – Nagios está carregado.
Abra o seguinte ficheiro:
/usr/local/nagios/etc/nagios.cfg
Adicione a seguinte entrada:
# 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
Recarregue Nagios.
sudo service nagios reload
Fechar manualmente alertas ativos
Os alertas ativos podem ser fechados no Nagios com a funcionalidade de notificação personalizada. A notificação personalizada tem de ser:
/close-alert <ALERT_GUID>
Um alerta também pode ser fechado através de um terminal com o seguinte comando:
/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Close --alert-id <ALERT_GUID>
Resolução de problemas
A resolução de problemas do plug-in é feita ao chamar o plug-in manualmente num terminal. Utilize o seguinte método:
/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Monitor
Utilizar o PowerShell para monitorizar o estado de funcionamento e os alertas
Se não estiver a utilizar o Operations Manager, o Nagios ou uma solução baseada em Nagios, pode utilizar o PowerShell para ativar uma ampla gama de soluções de monitorização para integrar no Azure Stack Hub.
Para utilizar o PowerShell, certifique-se de que tem o PowerShell instalado e configurado para um ambiente de operador do Azure Stack Hub. Instale o PowerShell num computador local que consiga aceder ao ponto final Resource Manager (administrador) (https://adminmanagement.[região].[ External_FQDN]).
Execute os seguintes comandos para ligar ao ambiente do Azure Stack Hub como um operador do 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"
Utilize comandos como os seguintes exemplos para trabalhar com alertas:
# 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
Saber mais
Para obter informações sobre a monitorização do estado de funcionamento incorporada, veja Monitorizar o estado de funcionamento e os alertas no Azure Stack Hub.