Integrar a solução de monitoramento externo com o Azure Stack Hub
Para monitoramento externo da infraestrutura do Azure Stack Hub, você precisa monitorar o software Azure Stack Hub, os computadores físicos e os comutadores de rede física. Cada uma dessas áreas oferece um método para recuperar informações de saúde e alerta:
- O software Azure Stack Hub oferece uma API baseada em REST para recuperar integridade e alertas. O uso de tecnologias definidas por software, como Espaços de Armazenamento Diretos, integridade do armazenamento e alertas fazem parte do monitoramento de software.
- Os computadores físicos podem disponibilizar informações de integridade e alerta por meio dos controladores de gerenciamento da placa base (BMCs).
- Os dispositivos de rede física podem disponibilizar informações de saúde e alerta através do protocolo SNMP.
Cada solução do Azure Stack Hub é fornecida com um host de ciclo de vida de hardware. Esse host executa o software de monitoramento do fornecedor de hardware do fabricante do equipamento original (OEM) para os servidores físicos e dispositivos de rede. Verifique com seu provedor OEM se suas soluções de monitoramento podem se integrar com as soluções de monitoramento existentes em seu datacenter.
Importante
A solução de monitoramento externo que você usa deve ser sem agente. Não é possível instalar agentes de terceiros dentro dos componentes do Azure Stack Hub.
O diagrama a seguir mostra o fluxo de tráfego entre um sistema integrado do Azure Stack Hub, o host do ciclo de vida do hardware, uma solução de monitoramento externo e um sistema externo de emissão de tíquetes/coleta de dados.
Nota
A integração de monitoramento externo diretamente com servidores físicos não é permitida e ativamente bloqueada por ACLs (Listas de Controle de Acesso). A integração de monitoramento externo 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 monitoramento externo, como o System Center Operations Manager e o Nagios. Ele também inclui como trabalhar com alertas programaticamente usando o PowerShell ou por meio de chamadas de API REST.
Integração com o Operations Manager
Você pode usar o Operations Manager para monitoramento externo do Azure Stack Hub. O Pacote de Gerenciamento do System Center para Microsoft Azure Stack Hub permite monitorar várias implantações do Azure Stack Hub com uma única instância do Operations Manager. O pacote de gerenciamento usa o provedor de recursos de integridade e as APIs REST do provedor de recursos de atualização para se comunicar com o Azure Stack Hub. Se você planeja ignorar o software de monitoramento OEM em execução no host do ciclo de vida do hardware, poderá instalar pacotes de gerenciamento do fornecedor para monitorar servidores físicos. Você também pode usar a descoberta de dispositivo de rede do Operations Manager para monitorar comutadores de rede.
O pacote de gerenciamento para o Azure Stack Hub fornece os seguintes recursos:
- Você pode gerenciar várias implantações do Azure Stack Hub.
- Há suporte para Microsoft Entra ID e Serviços de Federação do Ative Directory (AD FS).
- Você pode recuperar e fechar alertas.
- Há um painel de integridade e capacidade.
- Inclui deteção do Modo de Manutenção Automática para quando o patch e a atualização (P&U) estão em andamento.
- Inclui tarefas de Atualização de Força para implantação e região.
- Você pode adicionar informações personalizadas a uma região.
- Suporta notificações e relatórios.
Para baixar o Pacote de Gerenciamento do System Center e o guia do usuário associado, consulte Baixar o Pacote de Gerenciamento do System Center para Microsoft Azure Stack Hub.
Para uma solução de emissão de tíquetes, você pode integrar o Operations Manager ao System Center Service Manager. O conector de produto integrado habilita a comunicação bidirecional que permite fechar um alerta no Azure Stack Hub e no Operations Manager depois de resolver uma solicitação de serviço no Service Manager.
O diagrama a seguir mostra a integração do Azure Stack Hub com uma implantação existente do System Center. Você pode automatizar ainda mais o Service Manager com o System Center Orchestrator ou o Service Management Automation (SMA) para executar operações no Azure Stack Hub.
Integre com o Nagios
Você pode instalar e configurar o plug-in Nagios para o Microsoft Azure Stack Hub.
Um plugin de monitoramento Nagios foi desenvolvido em conjunto com o parceiro Cloudbase Solutions, que está disponível sob a licença permissiva de software livre - MIT (Massachusetts Institute of Technology).
O plug-in é escrito em Python e aproveita a API REST do provedor de recursos de saúde. Ele oferece funcionalidade básica para recuperar e fechar alertas no Azure Stack Hub. Como o pacote de gerenciamento do System Center, ele permite que você adicione várias implantações do Azure Stack Hub e envie notificações.
Com a Versão 1.2, o plug-in Azure Stack Hub - Nagios aproveita a biblioteca Microsoft ADAL e dá suporte à autenticação usando a Entidade de Serviço com um segredo ou certificado. Além disso, a configuração foi simplificada usando um único arquivo de configuração com novos parâmetros. Ele agora dá suporte a implantações do Azure Stack Hub usando 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 você precisar de uma entrada não interativa para um cenário automatizado, deverá usar um SPN.
O plugin funciona com Nagios 4x e XI. Para baixar o plug-in, consulte Monitorando alertas do Azure Stack Hub. O site de download também inclui detalhes de instalação e configuração.
Requisitos para Nagios
Versão mínima do Nagios é 4.x
Biblioteca Microsoft Entra Python. Esta biblioteca pode ser instalada usando Python PIP.
sudo pip install adal pyyaml six
Instalar plugin
Esta seção descreve como instalar o plug-in do Azure Stack Hub assumindo uma instalação padrão do Nagios.
O pacote de plug-in contém os seguintes arquivos:
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 plugin
azurestack_plugin.py
para o seguinte diretório:/usr/local/nagios/libexec
.Copie o manipulador
azurestack_handler.sh
para o seguinte diretório:/usr/local/nagios/libexec/eventhandlers
.Verifique se o arquivo do plugin está definido para ser executável:
sudo cp azurestack_plugin.py <PLUGINS_DIR> sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
Configurar plug-in
Os parâmetros a seguir estão disponíveis para serem configurados no arquivo azurestack.cfg. Os parâmetros em negrito precisam ser configurados independentemente do modelo de autenticação escolhido.
Para obter mais informações sobre como criar um SPN, consulte Usar uma identidade de aplicativo para acessar 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 |
*A ID do Locatário não é necessária para implantações do Azure Stack Hub com o AD FS.
** O segredo do cliente e o certificado do cliente são mutuamente exclusivos.
Os outros arquivos de configuração contêm definições de configuração opcionais, pois também podem ser configurados no Nagios.
Nota
Verifique o destino da localização em azurestack_hosts.cfg e azurestack_services.cfg.
Configuração | Description |
---|---|
azurestack_commands.cfg | Configuração do manipulador sem necessidade de alterações |
azurestack_contacts.cfg | Configurações de notificação |
azurestack_hosts.cfg | Nomenclatura de implantação do Azure Stack Hub |
azurestack_services.cfg | Configuração do Serviço |
Passos de configuração
Modifique o arquivo de configuração.
Copie os arquivos de configuração modificados para a seguinte pasta:
/usr/local/nagios/etc/objects
.
Atualizar a configuração do Nagios
A configuração do Nagios precisa ser atualizada para garantir que o Plug-in do Azure Stack Hub - Nagios seja 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 usando a funcionalidade de notificação personalizada. A notificação personalizada deve ser:
/close-alert <ALERT_GUID>
Um alerta também pode ser fechado usando 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 solução de problemas do plug-in é feita chamando o plug-in manualmente em um terminal. Use o seguinte método:
/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Monitor
Usar o PowerShell para monitorar a integridade e alertas
Se você não estiver usando o Operations Manager, Nagios ou uma solução baseada em Nagios, poderá usar o PowerShell para habilitar uma ampla variedade de soluções de monitoramento para integração com o Azure Stack Hub.
Para usar o PowerShell, verifique se você tem o PowerShell instalado e configurado para um ambiente de operador do Azure Stack Hub. Instale o PowerShell em um computador local que possa acessar o ponto de extremidade do Gerenciador de Recursos (administrador) (https://adminmanagement.[região].[ External_FQDN]).
Execute os seguintes comandos para se conectar 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"
Use comandos como os exemplos a seguir 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
Mais informações
Para obter informações sobre o monitoramento de integridade interno, consulte Monitorar a integridade e alertas no Azure Stack Hub.