Uso de logs do Azure Monitor para monitorar clusters do HDInsight

Saiba como usar os logs do Azure Monitor para monitorar operações de cluster Hadoop em HDInsight. E como adicionar uma solução de monitoramento do HDInsight.

Os logs do Azure Monitor representam um serviço do Azure Monitor que monitora os ambientes de nuvem e locais. O objetivo do monitoramento é manter a disponibilidade e o desempenho. Ele coleta dados gerados pelos recursos em seus ambientes de nuvem e locais e de outras ferramentas de monitoramento. Os dados são usados para fornecer análise para várias fontes.

Observação

Este artigo foi atualizado recentemente para usar o termo logs do Azure Monitor em vez de Log Analytics. Os dados de log ainda são armazenados em um espaço de trabalho do Log Analytics e ainda são coletados e analisados pelo mesmo serviço do Log Analytics. Estamos atualizando a terminologia para refletir melhor a função dos logs no Azure Monitor. Confira as alterações de terminologia do Azure Monitor para obter detalhes.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Importante

A nova experiência do Azure Monitor está disponível em todas as regiões como uma versão prévia de recurso.

Pré-requisitos

  • Um espaço de trabalho do Log Analytics. É possível pensar neste workspace como um ambiente exclusivo de logs do Azure Monitor com seu próprio repositório de dados, fontes de dados e soluções. Para obter instruções, consulte Criar um espaço de trabalho do Log Analytics.

  • Um cluster Azure HDInsight. No momento, é possível usar os logs do Azure Monitor com os seguintes tipos de cluster HDInsight:

    • O Hadoop
    • HBase
    • Consulta Interativa
    • Kafka
    • Spark

    Para obter instruções sobre como criar um cluster HDInsight, consulte Introdução ao Azure HDInsight.

  • Se estiver usando o PowerShell, você precisará do Az Module. Verifique se você tem a versão mais recente. Se for necessário, execute Update-Module -Name Az.

  • Se desejar usar a CLI do Azure e você ainda não a instalou, veja Instalação da CLI do Azure.

Observação

A nova experiência do Azure Monitor está disponível em todas as regiões apenas como uma versão prévia de recurso. É recomendável colocar o cluster HDInsight e o espaço de trabalho do Log Analytics na mesma região para melhorar o desempenho.

Habilitar o Azure Monitor usando o portal

Nesta seção, você configurará um cluster HDInsight Hadoop existente para usar um workspace do Log Analytics para monitorar trabalhos, logs de depuração, e assim por diante.

  1. No portal do Azure, selecione o cluster. O cluster abre em uma nova página do portal.

  2. No lado esquerdo, em Monitoramento, selecione Integração do Monitor.

  3. Na exibição principal, em Integração do Azure Monitor para Clusters do HDInsight, selecioneHabilitar.

  4. Na lista suspensa Selecionar espaço de trabalho, selecione um espaço de trabalho do Log Analytics existente.

  5. Clique em Salvar. Levará alguns minutos para salvar a configuração.

    Enable monitoring for HDInsight clusters.

Se quiser desabilitar o Azure Monitor, você poderá fazer o mesmo neste portal.

Habilitar o Azure Monitor usando o Azure PowerShell

É possível habilitar os logs do Azure Monitor usando o cmdlet Enable-AzHDInsightAzureMonitor do módulo Az do Azure PowerShell.

# Enter user information
$resourceGroup = "<your-resource-group>"
$cluster = "<your-cluster>"
$LAW = "<your-Log-Analytics-workspace>"
# End of user input

# obtain workspace id for defined Log Analytics workspace
$WorkspaceId = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW).CustomerId

# obtain primary key for defined Log Analytics workspace
$PrimaryKey = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW | Get-AzOperationalInsightsWorkspaceSharedKeys).PrimarySharedKey

# Enables monitoring and relevant logs will be sent to the specified workspace.
Enable-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster `
    -WorkspaceId $WorkspaceId `
    -PrimaryKey $PrimaryKey

# Gets the status of monitoring installation on the cluster.
Get-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster

Para desabilitar, use o cmdlet Disable-AzHDInsightAzureMonitor:

Disable-AzHDInsightAzureMonitor -ResourceGroupName $resourceGroup `
-ClusterName $cluster

Habilitar o Azure Monitor usando a CLI do Azure

É possível habilitar os logs do Azure Monitor usando o comando az hdinsight azure-monitor enable da CLI do Azure.

# set variables
export resourceGroup=RESOURCEGROUPNAME
export cluster=CLUSTERNAME
export LAW=LOGANALYTICSWORKSPACENAME

# Enable the Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor enable --name $cluster --resource-group $resourceGroup --workspace $LAW

# Get the status of Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor show --name $cluster --resource-group $resourceGroup

Para desabilitar, use o comando az hdinsight monitor disable.

az hdinsight azure-monitor disable --name $cluster --resource-group $resourceGroup

Usar Insights prontos para uso do HDInsight para monitorar um único cluster

O HDInsight fornece uma pasta de trabalho específica para cargas de trabalho para ajudá-lo a obter insights rapidamente. Essa pasta de trabalho coleta importantes métricas de desempenho do cluster do HDInsight e fornece visualizações e painéis para os cenários mais comuns. Os insights prontos para uso fornecem uma visão completa de um único cluster do HDInsight, incluindo a utilização de recursos e o status do aplicativo.

Pastas de trabalho do HDInsight disponíveis:

  • Pasta de trabalho do HDInsight Spark
  • Pasta de trabalho do HDInsight Kafka
  • Pasta de trabalho do HDInsight HBase
  • Pasta de trabalho do HDInsight Hive/LLAP

Captura de tela da pasta de trabalho do Spark Spark workbook screenshot.

Configuração dos contadores de desempenho

O Azure Monitor dá suporte à coleta e análise de métricos de desempenho para os nós no cluster. Para obter mais informações, veja Fontes de dados de desempenho do Linux no Azure Monitor.

Auditoria de cluster

O HDInsight dá suporte à auditoria de cluster com os logs do Azure Monitor, importando os seguintes tipos de logs:

  • log_gateway_audit_CL - esta tabela fornece os logs de auditoria de nós de gateway de cluster que mostram as tentativas de entrada bem-sucedidas e com falha.
  • log_auth_CL - esta tabela fornece os logs do SSH com tentativas de entrada bem-sucedidas e com falha.
  • log_ambari_audit_CL - esta tabela fornece logs de auditoria do Ambari.
  • log_ranger_audti_CL - esta tabela fornece logs de auditoria do Apache Ranger em clusters ESP.

Atualizar o Agente do Log Analytics (OMS) usado pela Integração do Azure Monitor com o HDInsight

Quando a integração com o Azure Monitor é habilitada em um cluster, o agente do Log Analytics ou o agente do OMS (Operations Management Suite) é instalado no cluster e não é atualizado, a menos que você desabilite e habilite novamente a Integração com o Azure Monitor. Conclua as etapas a seguir se precisar atualizar o Agente do OMS no cluster. Se você estiver protegido por um firewall, talvez seja necessário concluir os Pré-requisitos para clusters protegidos por um firewall antes de concluir essas etapas.

  1. No portal do Azure, selecione o cluster. O cluster abre em uma nova página do portal.
  2. No lado esquerdo, em Monitoramento, selecione Azure Monitor.
  3. Observe o nome do seu workspace do Log Analytics atual.
  4. No modo de exibição principal, em Integração do Azure Monitor, desabilite o botão de alternância, e, em seguida, selecione Salvar.
  5. Depois que a configuração for salva, habilite novamente o botão de alternância de Integração com o Azure Monitor e verifique se o mesmo workspace do Log Analytics está selecionado e, em seguida, selecione Salvar.

Se você tiver a integração com o Azure Monitor habilitada em um cluster, a atualização do agente do OMS também atualizará a versão da OMI (Infraestrutura de Gerenciamento Aberta). Você pode verificar a versão do OMI no cluster executando o seguinte comando:

 sudo /opt/omi/bin/omiserver –version

Próximas etapas