Guia de migração do Azure Monitor Agent (AMA) para clusters do Azure HDInsight
O Azure HDInsight é um serviço de cluster gerenciado pronto para a empresa. Este serviço executa estruturas de análise de código aberto como Apache Spark, Hadoop, HBase e Kafka no Azure. O Azure HDInsight foi integrado com outros serviços do Azure para permitir que os clientes gerenciem melhor seus aplicativos de análise de big data.
O Log Analytics fornece uma ferramenta no portal do Azure para editar e executar consultas de log. As consultas vêm de dados coletados pelos Logs do Azure Monitor e analisam interativamente seus resultados. Os clientes podem usar consultas do Log Analytics para recuperar registros que correspondam a critérios específicos. Eles também podem usar consultas para identificar tendências, analisar padrões e fornecer informações sobre seus dados.
O Azure HDInsight habilitou a integração com o Log Analytics em 2017. Os clientes do HDInsight adotaram rapidamente esse recurso para monitorar seus clusters HDInsight e consultar os logs nos clusters. Embora a adoção desse recurso tenha aumentado, os clientes forneceram feedback sobre a integração:
Os clientes não podem decidir quais logs armazenar, e armazenar todos os logs pode se tornar caro.
Os logs atuais de esquemas do HDInsight não seguem convenções de nomenclatura consistentes e algumas tabelas são repetitivas.
Os clientes querem um painel pronto para monitorar facilmente o KPI de seus clusters HDInsight.
Os clientes devem saltar para o Log Analytics para executar consultas simples.
Descrição geral da solução
Considerando os comentários dos clientes, a equipe do Azure HDInsight investiu na integração com o Azure Monitor. Esta integração permite:
Um novo conjunto de tabelas no espaço de trabalho do Log Analytics dos clientes. As novas tabelas são entregues por meio de um novo pipeline do Log Analytics.
Maior fiabilidade.
Entrega de logs mais rápida.
Agrupamento de tabelas baseado em recursos e consultas padrão.
Segurança melhorada com a Identidade Gerida pelo Sistema para as áreas de trabalho do agente do Azure Monitor.
Criação automatizada de recursos DCR para as tabelas existentes.
Nota
A integração do Azure Monitor Agent (AMA) (incluindo DCR e Autenticação de Identidade do Sistema) está disponível em todas as regiões, onde o HDInsight está disponível.
Benefícios da integração do Azure Monitor Agent (AMA)
Este documento descreve as alterações na integração do Azure Monitor e fornece práticas recomendadas para usar as novas tabelas.
Esquemas redesenhados: a formatação do esquema para a nova integração do Azure Monitor é melhor organizada e fácil de entender. Há dois terços menos esquemas para remover o máximo possível de ambiguidade nos esquemas herdados.
Registro seletivo: há logs e métricas disponíveis por meio do Log Analytics. Para ajudá-lo a economizar nos custos de monitoramento, estamos lançando um novo recurso de registro seletivo. Use esse recurso para ativar e desativar diferentes logs e fontes de métrica. Com este recurso, você precisa pagar pelo que usar. Para obter mais informações, consulte Log seletivo.
Integração do portal do cluster de logs: o painel Logs é novo no portal do cluster HDInsight. Qualquer pessoa com acesso ao cluster pode ir a este painel para consultar qualquer tabela para a qual o recurso de cluster envia registros. Os usuários não precisam mais acessar o espaço de trabalho do Log Analytics para ver os registros de um recurso de cluster específico.
Integração do portal do cluster Insights: o painel Insights também é novo no portal do Cluster HDInsight. Depois de habilitar a nova integração do Azure Monitor, você pode selecionar o painel Insights e um painel de logs e métricas pronto para uso específico para o tipo do cluster será preenchido automaticamente para você. Esses painéis foram renovados de nossas soluções anteriores do Azure. Eles fornecem informações detalhadas sobre o desempenho e a integridade do cluster.
Cenários do cliente
As seções a seguir descrevem como os clientes podem usar a nova integração do Azure Monitor Agent em diferentes cenários.
A seção Ativar uma nova integração do Agente do Azure Monitor descreve como ativar e usar a nova integração do Azure Monitor.
A seção Migrando do Azure Monitor Classic para a nova Integração do Agente do Azure Monitor inclui informações adicionais para usuários que dependem da integração do Azure Monitor com adultos mais velhos.
Nota
Os clientes que usam o Azure Monitor Classic não funcionarão mais após 31 de agosto de 2024.
Os clientes que usam a nova experiência do Azure Monitor (visualização) precisam migrar para o Azure Monitor Agent (AMA) antes de 31 de janeiro de 2025.
Os clusters com 2407260448 de imagem com a API HDInsight 2024-08-01-preview mais recente terão a capacidade de habilitar a integração do Azure Monitor Agent e essa será a configuração padrão para clientes que usam 2407260448 de imagem.
Ativar uma nova integração do Azure Monitor Agent
Nota
Você deve ter um espaço de trabalho do Log Analytics criado em uma assinatura à qual tenha acesso antes de habilitar a nova integração do agente do Azure Monitor. Caso esteja migrando da experiência do monitor do Azure para a configuração do Azure Monitor Agent, você pode reutilizar seu espaço de trabalho de análise de log do cluster existente
Espera-se que você use a mesma região do Azure para o espaço de trabalho de análise de log e o cluster HDInsight para uma migração mais suave.
Para obter mais informações sobre como criar um espaço de trabalho do Log Analytics, consulte Criar um espaço de trabalho do Log Analytics no portal do Azure.
Abordagem 1: Habilitar o agente de monitoramento do Azure usando o Portal
Ative a nova integração acessando a página do portal do cluster e rolando o menu à esquerda para baixo até chegar à seção Monitoramento.
Na seção Monitoramento, selecione Monitorar integração.
Em seguida, selecione Ativar e você pode escolher o espaço de trabalho do Log Analytics para o qual deseja que seus logs sejam enviados.
Habilite a Integração do Agente do Azure Monitor com o Log Analytics e selecione seu espaço de trabalho (espaço de trabalho existente quando você estiver migrando da imagem anterior para a imagem mais recente).
Depois de confirmar a seleção do espaço de trabalho, as etapas de pré-condição são iniciadas.
Selecione Salvar quando as etapas de pré-condição forem concluídas.
Abordagem 2: Habilitar o agente de monitoramento do Azure usando o Azure PowerShell
Habilitar MSI atribuído pelo sistema
Primeiro, obtenha informações de cluster para verificar o MSI do cluster.
Get-AzHDInsightCluster -ResourceGroupName $resourceGroup –ClusterName $cluster
Se este cluster não tiver MSI, habilite diretamente o MSI atribuído ao sistema
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned"
Se este cluster tiver apenas MSI atribuído ao usuário, adicione o MSI atribuído ao sistema à identidade.
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned,UserAssigned" -IdentityId "$userAssignedIdentityResourceId"
Se este cluster já sistema atribuído MSI, não há necessidade de nada.
Criação do DCR
Para obter mais informações, consulte Criar e editar regras de coleta de dados (DCRs).
# The URL of the DCR template file, change {HDIClusterType} to your cluster type. # The valid types are: hadoop, hbase, interactivehive, kafka, llap, spark $dcrTemplatejsonUrl = "https://hdiconfigactions.blob.core.windows.net/azuremonitoriningagent/DCR/{HDIClusterType}_dcr_template.json" $dcrJsonContent = Invoke-RestMethod -Uri $dcrTemplatejsonUrl # Get details of your Log Analytics workspace, if your workspace is in another subscription, you need to change context to the subscription $workspaceResourceGroupName = "{yourWorkspaceResourceGroup}" $workspaceName = {yourWorkspaceName} $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $workspaceResourceGroupName -Name $workspaceName # Customize the DCR content $dcrJsonContent.properties.destinations.logAnalytics[0].workspaceResourceId = $workspace.ResourceId $dcrJsonContent.properties.destinations.logAnalytics[0].workspaceId = $workspace.CustomerId $dcrJsonContent.location = $workspace.Location # Create the DCR using the customized JSON (DCR needs to be in the same location as Log Analytics workspace). # If your HDInsight cluster is in another subscription, you need to change context to your cluster’s subscription $dcrName = " {yourDcrName} " $resourceGroupName = " {YourDcrResourceGroup} " $dcrStr = $dcrJsonContent | ConvertTo-Json -Depth 10 $dcr = New-AzDataCollectionRule -Name $dcrName -ResourceGroupName $resourceGroupName -JsonString $dcrStr
Associação de DCR.
Para obter mais informações, consulte Configurar o agente do Azure Monitor em dispositivos cliente Windows.
# Associate DCR to HDInsight cluster $hdinsightClusterResourceId = "/subscriptions/{subscription}/resourceGroups/{resourceGroup}/providers/Microsoft.HDInsight/clusters/{clusterName}" $dcrAssociationName = "{yourDcrAssociation}" New-AzDataCollectionRuleAssociation -AssociationName $dcrAssociationName -ResourceUri $hdinsightClusterResourceId -DataCollectionRuleId $dcr.Id
Habilitando o Azure Monitor Agent.
# 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-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster -WorkspaceId $WorkspaceId -PrimaryKey $PrimaryKey # Gets the status of monitoring installation on the cluster. Get-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster
(Opcional) desativando o Azure Monitor Agent.
Disable-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster
Abordagem 3: Habilitar o agente de monitoramento do Azure usando a CLI do Azure
Habilite o MSI atribuído pelo sistema.
Primeiro, obtenha informações de cluster para verificar o MSI do cluster.
az hdinsight show –-resource-group $resourceGroup –name $cluster #get access token if needed accessToken=$(az account get-access-token --query accessToken -o tsv) url="https://management.azure.com/subscriptions/${subscriptionId}/resourcegroups/${resourceGroupName}/providers/Microsoft.HDInsight/clusters/${clusterName}?api-version=2024-08-01-preview"
Se esse cluster não tiver MSI, habilite diretamente o MSI atribuído ao sistema por meio da API rest.
body="{\"identity\": {\"type\": \"SystemAssigned\"}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Se este cluster tiver apenas MSI atribuído ao usuário, adicione o MSI atribuído ao sistema à identidade.
body="{\"identity\": {\"type\": \"SystemAssigned,UserAssigned\", \"userAssignedIdentities\": {$userAssignedIdentityResourceId:{}}}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Se este cluster já sistema atribuído MSI, não há necessidade de nada.
Criação do DCR.
Para obter mais informações, consulte Criar e editar regras de coleta de dados (DCRs)
# The URL of the DCR template file, change {HDIClusterType} to your cluster type. # The valid types are: hadoop, hbase, interactivehive, kafka, llap, spark $dcrTemplatejsonUrl = "https://hdiconfigactions.blob.core.windows.net/azuremonitoriningagent/DCR/{HDIClusterType}_dcr_template.json?api-version=2020-08-01" # Download dcr template to local $dcrTemplateLocalFile = "dcrTemplateFileName.json" azcopy copy $dcrTemplatejsonUrl $dcrTemplateLocalFile # Set subscription az account set --subscription "{yourSubscription}" # Get details of your Log Analytics workspace $workspaceResourceGroupName = "{yourWorkspaceResourceGroup}" $workspaceName = "{yourWorkspaceName}" $workspace = az monitor log-analytics workspace show --resource-group $workspaceResourceGroupName --workspace-name $workspaceName # Customize the DCR content. Below script depends on jq, you need to install it if it’s not available in your environment. $workspaceResourceId = $workspace | jq -r '.id' $workspaceId = $workspace | jq -r '.customerId' $location = $workspace | jq -r '.location' # Read the JSON file $templateJsonData=cat $dcrTemplateLocalFile # Update the JSON fields using jq $templateJsonData=echo $templateJsonData | jq --arg workspaceResourceId $workspaceResourceId '.properties.destinations.logAnalytics[0].workspaceResourceId = $workspaceResourceId' $templateJsonData=echo $templateJsonData | jq --arg workspaceId $workspaceId '.properties.destinations.logAnalytics[0].workspaceId = $workspaceId' $templateJsonData=echo $templateJsonData | jq --arg location $location '.location = $location' # Save the updated JSON back to the file echo $templateJsonData > $dcrTemplateLocalFile # Print the updated JSON cat $dcrTemplateLocalFile # Create the DCR using the customized JSON (DCR needs to be in the same location as Log Analytics workspace) # If your HDInsight cluster is in another subscription, you need to set subscription to your cluster’s subscription $dcrName = "{yourDcrName}" $resourceGroupName = "{YourDcrResourceGroup}" # Suggest to put DCR in the same resource group as your HDInsight cluster $dcr = az monitor data-collection rule create --name $dcrName --location $location --resource-group $resourceGroupName --rule-file $dcrTemplateLocalFile
Associação de DCR
# Associate DCR to HDInsight cluster $hdinsightClusterResourceId = "{YourHDInsightClusterResourceId}" $dcrAssociationName = "{yourDcrAssociation}" $dcrId = $dcr | jq -r '.id' az monitor data-collection rule association create --association-name $dcrAssociationName --resource $hdinsightClusterResourceId --data-collection-rule-id $dcrId
Habilitando o Azure Monitor Agent
# set variables export resourceGroup=RESOURCEGROUPNAME export cluster=CLUSTERNAME export LAW=LOGANALYTICSWORKSPACENAME # Enable the Azure Monitor Agent logs integration on an HDInsight cluster. az hdinsight azure-monitor-agent enable --name $cluster --resource-group $resourceGroup --workspace $LAW # Get the status of Azure Monitor Agent logs integration on an HDInsight cluster. az hdinsight azure-monitor-agent show --name $cluster --resource-group $resourceGroup
(Opcional) desativando o Azure Monitor Agent.
az hdinsight azure-monitor-agent disable --name $cluster --resource-group $resourceGroup
Habilitar o log do Agente do Azure Monitor para cluster do Spark
Os clusters do Azure HDInsight Spark controlam a integração AMA usando uma configuração spark.hdi.ama.enabled
do Spark, por padrão, o valor é definido como false. Essa configuração controla se os logs específicos do Spark aparecerão no espaço de trabalho do Log Analytics. Se você quiser habilitar o AMA em seus clusters do Spark e recuperar os logs de eventos do Spark em seus espaços de trabalho LA, precisará executar uma etapa adicional para habilitar o AMA para logs específicos do Spark.
As etapas a seguir descrevem como os clientes podem habilitar o novo log do Agente do Azure Monitor para suas cargas de trabalho de faísca.
Vá para Ambari -> Spark Configs.
Navegue até Custom Spark defaults e procure por config
spark.hdi.ama.enabled
, o valor padrão dessa configuração será false. Defina esse valor como true.Clique em salvar e reinicie os serviços do Spark em todos os nós.
Acesse as tabelas no espaço de trabalho LA.
Aceda às novas tabelas
Há duas maneiras de acessar as novas tabelas.
Abordagem 1
A primeira maneira de acessar as novas tabelas é por meio do espaço de trabalho do Log Analytics.
Vá para o espaço de trabalho do Log Analytics que você selecionou quando ativou a integração.
Role para baixo no menu do lado esquerdo da tela e selecione Logs. Um editor de consultas Logs aparece com uma lista de todas as tabelas no espaço de trabalho.
Se as tabelas forem agrupadas por Solução, as novas tabelas do HDInsight estarão na seção Gerenciamento de Logs.
Se você agrupar as tabelas por Tipo de Recurso, elas estarão na seção Clusters HDInsight, conforme mostrado na imagem.
Nota
Esse processo descreve como os logs eram acessados na integração antiga. Isso requer que o usuário tenha acesso ao espaço de trabalho.
Abordagem 2
A segunda maneira de acessar as novas tabelas é por meio do acesso ao portal do Cluster.
Navegue até a página do portal do cluster e role o menu do lado esquerdo para baixo até ver a seção Monitoramento. Nesta seção, você verá o painel Logs.
Selecione Logs e um editor de consultas Logs será exibido. O editor contém todos os logs associados ao recurso de cluster. Você enviou os logs para o espaço de trabalho do Log Analytics quando ativou a integração. Esses logs fornecem acesso baseado em recursos (RBAC). Com o RBAC, os usuários que têm acesso ao cluster, mas não ao espaço de trabalho, podem ver os logs associados ao cluster.
Para comparação, as capturas de tela a seguir mostram a exibição do espaço de trabalho de integração herdado e o novo modo de exibição do espaço de trabalho de integração:
Modo de exibição do espaço de trabalho de integração herdado (Azure Monitor Classic)
Nova vista do espaço de trabalho de integração (Azure monitor experience / Azure Monitor Agent)
Utilizar as novas tabelas
Consultas padrão para usar com novas tabelas
No editor de consultas Logs, defina a alternância para Consultas acima da lista de tabelas. Certifique-se de agrupar as consultas por Tipo de Recurso e de que não há nenhum filtro definido para um tipo de recurso diferente dos Clusters HDInsight. A imagem a seguir mostra a aparência dos resultados quando agrupados por Tipo de Recursos e filtrados para Clusters HDInsight. Basta selecionar um e ele aparece no editor de consultas Logs. Certifique-se de ler os comentários incluídos nas consultas, pois alguns exigem que você insira algumas informações, como o nome do cluster, para que a consulta seja executada com êxito.
Crie as suas próprias consultas
Você pode inserir suas próprias consultas no editor de consultas Logs. As consultas usadas nas tabelas antigas não serão válidas nas novas tabelas, pois muitas das novas tabelas têm esquemas novos e refinados. As consultas padrão são ótimas referências para formatar consultas nas novas tabelas.
Informações
Insights são painéis de visualização específicos do cluster feitos usando Pastas de Trabalho do Azure. Esses painéis fornecem gráficos e visualizações detalhados de como o cluster está sendo executado. Os painéis têm seções para cada tipo de cluster, YARN, métricas do sistema e logs de componentes. Você pode acessar o painel do cluster visitando a página do cluster no portal, rolando para baixo até a seção Monitoramento e selecionando o painel Insights. O painel é carregado automaticamente se a nova integração for ativada. Aguarde alguns segundos para que os gráficos sejam carregados enquanto consultam os logs.
Pastas de trabalho personalizadas do Azure
Você pode criar suas próprias pastas de trabalho do Azure com gráficos e visualizações personalizados. Na página do portal do cluster, role para baixo até a seção Monitoramento e selecione o painel Pastas de trabalho no menu à esquerda. Você pode começar a usar um modelo em branco ou usar um dos modelos na seção Clusters HDInsight. Há um modelo para cada tipo de cluster. Os modelos são úteis se você quiser salvar personalizações específicas que o HDInsight Insights padrão não fornece. Sinta-se à vontade para enviar solicitações de novos recursos no HDInsight Insights se sentir que está faltando algo.
Alertas
Você pode adicionar alertas personalizados aos seus clusters e espaços de trabalho no editor de consultas Log. Vá para o editor de consultas Logs selecionando o painel Logs no cluster ou no portal do espaço de trabalho. Execute uma consulta e selecione Nova Regra de Alerta, conforme mostrado na captura de tela a seguir. Para obter mais informações, leia sobre como configurar alertas.
Migrar para a nova Integração do Agente do Azure Monitor
Se você estiver usando a integração clássica do Azure Monitor, precisará fazer alguns ajustes nos novos formatos de tabela depois de alternar para a nova integração do Azure Monitor.
Para habilitar a nova integração do Azure Monitor, siga as etapas descritas na seção Ativar uma nova integração do Azure Monitor Agent.
Executar consultas no Log Analytics
Como o novo formato de tabela é diferente do anterior, suas consultas precisam ser reformuladas para que você possa usar nossas novas tabelas. Depois de habilitar a nova integração do Azure Monitor, você pode navegar pelas tabelas e esquemas para identificar os campos usados em suas consultas antigas.
Fornecemos uma tabela de mapeamento entre a tabela antiga para a nova tabela para ajudá-lo a encontrar rapidamente os novos campos que você precisa usar para migrar seus painéis e consultas.
Consultas padrão: criamos consultas padrão que mostram como usar as novas tabelas para situações comuns. As consultas padrão também mostram quais informações estão disponíveis em cada tabela. Você pode acessar as consultas padrão seguindo as instruções na seção Consultas padrão para usar com novas tabelas neste artigo.
Atualizar painéis para clusters HDInsight
Se você criar vários painéis para monitorar seus clusters HDInsight, precisará ajustar a consulta atrás da tabela depois de habilitar a nova integração do Azure Monitor. O nome da tabela ou o nome do campo pode mudar na nova integração, mas todas as informações que você tem na integração antiga estão incluídas.
Consulte a tabela de mapeamento entre a tabela/esquema antigo para a nova tabela/esquema para atualizar a consulta por trás dos painéis
Painéis prontos para uso
Também melhoramos os painéis prontos para uso no nível do cluster. Há um botão no canto superior direito de cada gráfico que permite ver a consulta subjacente que produz as informações. O gráfico é uma ótima maneira de se familiarizar com a forma como as novas tabelas podem ser consultadas de forma eficaz.
Cronograma de lançamento e suporte
A integração clássica do Monitoramento do Azure não estará disponível após 15 de outubro de 2021. Não é possível habilitar a integração clássica do Monitoramento do Azure após essa data.
A ingestão de integração clássica do Azure Monitoring não funcionará após 31 de agosto de 2024.
Os clusters HDInsight com integração do Azure Monitor (visualização) não terão suporte após 1º de fevereiro de 2025.
A integração existente do Azure Monitor (visualização) continuará a funcionar até 31 de janeiro de 2025. Haverá suporte limitado para a integração do Azure Monitor (visualização).
Se a solução exigir mudança de imagem, os clientes devem mudar para a nova integração.
A Microsoft não corrigirá os clusters de integração (visualização) do Azure Monitor, exceto para problemas críticos de segurança.
Apêndice: Mapeamento de tabelas
Para obter os mapeamentos de tabela de log da integração clássica do Azure Monitor com a nova, consulte Mapeamento de tabela de log.