Integrar a solução de monitoramento externo com o Azure Stack Hub
Para o monitoramento externo da infraestrutura do Azure Stack Hub, você precisa monitorar o software do Azure Stack Hub, os computadores físicos e os comutadores de rede física. Cada uma dessas áreas oferece um método para recuperar as informações de alerta e de integridade:
- o software do Azure Stack Hub oferece uma API baseada em REST para recuperar a integridade e os alertas. O uso de tecnologias definidas pelo software, como Espaços de Armazenamento Diretos, a integridade do armazenamento e os alertas fazem parte do monitoramento de software.
- Os computadores físicos podem disponibilizar informações de integridade e alerta por meio dos BMCs (controladores de gerenciamento de placa base).
- Os dispositivos de rede física podem disponibilizar informações de integridade e alerta por meio do protocolo SNMP.
Cada solução do Azure Stack Hub é acompanhada com um host de ciclo de vida de hardware. Esse host executa o software de monitoramento do fornecedor de hardware OEM (fabricante original do equipamento) para os servidores físicos e dispositivos de rede. Verifique com seu fornecedor OEM se as soluções de monitoramento podem ser integradas com as soluções de monitoramento existentes em seu datacenter.
Importante
A solução de monitoramento externo que você usa deve ser sem agente. Você não pode 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 de hardware, uma solução de monitoramento externo e um sistema externo de coleta de tíquetes/dados.
Observação
A integração de monitoramento externo diretamente com servidores físicos não é permitida e é bloqueada ativamente pelas ACLs (Listas de Controle de Acesso). Há suporte para a integração de monitoramento externo diretamente com dispositivos da rede física. Verifique com seu provedor OEM como habilitar esse recurso.
Este artigo explica como integrar o Azure Stack Hub a soluções de monitoramento externas, 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 à API REST.
Integrar com 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 atualiza as APIs REST do provedor de recursos para se comunicar com o Azure Stack Hub. Se você planeja ignorar o software de monitoramento de OEM que está em execução no host do ciclo de vida de hardware, é possível instalar pacotes de gerenciamento de fornecedores 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 do Azure Stack Hub fornece os seguintes recursos:
- Você pode gerenciar várias implantações do Azure Stack Hub.
- Há suporte para o Microsoft Entra ID e para os Serviços de Federação do Active Directory (o AD FS).
- Você pode recuperar e fechar alertas.
- Há um painel de capacidade e de integridade.
- Inclui detecção do Modo de Manutenção Automática para quando o patch e a atualização (P&U) estão em andamento.
- Inclui tarefas Forçar Atualização para implantação e região.
- Você pode adicionar informações personalizadas a uma região.
- Dá suporte à notificação 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 tíquetes, você pode integrar o Operations Manager com o System Center Service Manager. O conector de produtos integrado permite a comunicação bidirecional que permite que você feche um alerta no Azure Stack Hub e o 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 do System Center existente. Você pode automatizar o Service Manager com o System Center Orchestrator ou SMA (Service Management Automation) para executar as operações no Azure Stack Hub.
Integre com Nagios
Você pode instalar e configurar o plug-in Nagios para Microsoft Azure Stack Hub.
Um plugin de monitoramento Nagios foi desenvolvido em conjunto com a parceira 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 integridade. Ele oferece funcionalidade básica para recuperar e fechar alertas no Azure Stack Hub. Assim 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 do Azure Stack Hub – Nagios aproveita a biblioteca da 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 a ID do Microsoft Entra e o AD FS como o sistema de identidade.
Importante
O AD FS dá suporte apenas a sessões de entrada 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
A versão mínima do Nagios é 4.x
Biblioteca Python do Microsoft Entra. Esta biblioteca pode ser instalada usando Python PIP.
sudo pip install adal pyyaml six
Instalar o plug-in
Esta seção descreve como instalar o plug-in do Azure Stack Hub supondo uma instalação padrão do Nagios.
O pacote de plug-ins 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 plug-in
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
.Certifique-se de que o arquivo do plug-in esteja definido para ser executável:
sudo cp azurestack_plugin.py <PLUGINS_DIR> sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
Configurar plugin
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 | Descrição | Autenticação |
---|---|---|
External_domain_fqdn | FQDN de domínio externo | |
região: | Nome da Região | |
tenant_id: | ID do locatário* | |
client_id: | ID do Cliente | SPN com segredo |
client_secret: | Senha do cliente | SPN com segredo |
client_cert**: | Caminho para o certificado | SPN com certificado |
client_cert_thumbprint**: | Impressão digital 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.
Observação
Verifique o destino do local em azurestack_hosts.cfg e azurestack_services.cfg.
Configuração | Descrição |
---|---|
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 |
Etapas de configuração
Modificar 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 Azure Stack Hub – Plug-in do Nagios seja carregado.
Abra o seguinte arquivo:
/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 alertas ativos manualmente
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>
Solução de problemas
A solução de problemas do plug-in é feita chamando-o 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 os alertas
Se você não estiver usando o Operations Manager, o 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 Resource Manager (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
Saiba mais
Para obter informações sobre o monitoramento de integridade interno, consulte Monitorar a integridade e os alertas no Azure Stack Hub.