Guía de migración del agente de Azure Monitor (AMA) para clústeres de Azure HDInsight
Azure HDInsight es un servicio de clústeres administrados, listo para las empresas. Este servicio ejecuta marcos de análisis de código abierto, como Apache Spark, Hadoop, HBase y Kafka en Azure. Azure HDInsight se ha integrado con otros servicios de Azure para permitir a los clientes administrar mejor sus aplicaciones de análisis de macrodatos.
Log Analytics ofrece una herramienta en Azure Portal para editar y ejecutar consultas de registros. Las consultas proceden de los datos recopilados por los registros de Azure Monitor y analizan sus resultados de manera interactiva. Los clientes pueden usar consultas de Log Analytics para recuperar registros que coincidan con criterios específicos. También pueden usar consultas para identificar tendencias, analizar patrones y proporcionar conclusiones sobre sus datos.
Azure HDInsight habilitó la integración en Log Analytics en 2017. Los clientes de HDInsight adoptaron rápidamente esta característica para supervisar sus clústeres de HDInsight y consultar los registros de los clústeres. Aunque la adopción de esta característica ha aumentado, los clientes han enviado comentarios sobre la integración:
Los clientes no pueden decidir qué registros almacenar, y almacenar todos los registros puede resultar costoso.
Los registros de esquemas de HDInsight actuales no cumplen convenciones de nomenclatura coherentes, y algunas tablas son repetitivas.
Los clientes quieren un panel ya integrado para supervisar fácilmente el KPI de sus clústeres de HDInsight.
Los clientes tienen que saltar a Log Analytics para ejecutar consultas sencillas.
Información general de la solución
Teniendo en cuenta los comentarios de los clientes, el equipo de Azure HDInsight invirtió en la integración en Azure Monitor. Esta integración permite:
Un nuevo conjunto de tablas en el área de trabajo de Log Analytics de los clientes. Las nuevas tablas se entregan a través de una nueva canalización de Log Analytics.
Mayor confiabilidad.
Entrega de registros más rápida.
Agrupación de tablas basadas en recursos y consultas predeterminadas.
Se ha mejorado la seguridad con la identidad administrada del sistema para las áreas de trabajo del agente de Azure Monitor.
Creación automatizada de recursos de DCR para las tablas existentes.
Nota:
La integración del agente de Azure Monitor (AMA) (incluido DCR y Identity Authentication del sistema) está disponible en todas las regiones en las que HDInsight está disponible.
Ventajas de la integración del agente de Azure Monitor (AMA)
En este documento se describen los cambios en la integración de Azure Monitor y se proporcionan procedimientos recomendados para usar las nuevas tablas.
Esquemas rediseñados: el formato de los esquemas para la nueva integración de Azure Monitor está mejor organizado y es fácil de entender. Hay dos tercios menos esquemas, lo que elimina la mayor cantidad posible de ambigüedad en los esquemas heredados.
Registro selectivo: hay registros y métricas disponibles en Log Analytics. Para ayudarle a ahorrar en los costos de supervisión, publicaremos una nueva característica de registro selectivo. Use esta característica para activar y desactivar diferentes registros y orígenes de métricas. Con esta característica, debe pagar por lo que usa. Para obtener más información, consulte Registro selectivo.
Integración del portal de clústeres de registros: el panel Registros es nuevo en el portal de clústeres de HDInsight. Cualquier usuario con acceso al clúster puede ir a este panel para consultar cualquier tabla a la que el recurso de clúster envíe registros. Los usuarios ya no necesitan acceso al área de trabajo de Log Analytics para ver los registros de un recurso de clúster específico.
Integración del portal de clústeres de Insights: el panel Insights también es nuevo en el portal de clústeres de HDInsight. Después de habilitar la nueva integración de Azure Monitor, puede seleccionar el panel Insights y un panel integrado de métricas y registros específico del tipo del clúster se rellenará automáticamente. Estos paneles se han renovado a partir de nuestras soluciones de Azure anteriores. Brindan información detallada sobre el rendimiento y el estado del clúster.
Escenarios de cliente
En las secciones siguientes se describe cómo los clientes pueden usar la nueva integración de agente de Azure Monitor en distintos escenarios.
En la sección Activación de una nueva integración de agente de Azure Monitor se describe cómo activar y usar la nueva integración de Azure Monitor.
En la sección Migración de Azure Monitor clásico a la nueva integración de agente de Azure Monitor se incluye información adicional para los usuarios adultos que dependen de la integración de Azure Monitor anterior.
Nota:
Los clientes que usan Azure Monitor clásico ya no podrán trabajar después del 31 de agosto de 2024.
Los clientes que usan la nueva experiencia de Azure Monitor (vista previa) deben migrar al agente de Azure Monitor (AMA) antes del 31 de enero de 2025.
Los clústeres con la imagen 2407260448 con la API HDInsight más reciente 2024-08-01 tendrán capacidad para habilitar la integración del agente de Azure Monitor y esta será la configuración predeterminada para los clientes que usan la imagen 2407260448.
Activación de una nueva integración de agente de Azure Monitor
Nota:
Tiene que tener un área de trabajo de Log Analytics creada en una suscripción a la que tenga acceso antes de habilitar la nueva integración de agente de Azure Monitor. En caso de que vaya a migrar desde la experiencia de Azure Monitor a la configuración del agente de Azure Monitor, puede reutilizar el área de trabajo de Log Analytics desde el clúster existente
Se espera que use la misma región de Azure para el área de trabajo de Log Analytics y el clúster de HDInsight para una migración más fluida.
Para obtener más información sobre la creación de un área de trabajo de Log Analytics, consulte Creación de un área de trabajo de Log Analytics en Azure Portal.
Enfoque 1: Habilitación del agente de Azure Monitor mediante el Portal
Para activar la nueva integración, vaya a la página del portal del clúster y desplácese hacia abajo en el menú de la izquierda hasta llegar a la sección Supervisión.
En la sección Supervisión, seleccione Monitor integration (Integración de Monitor).
A continuación, seleccione Habilitar y podrá elegir el área de trabajo de Log Analytics a la que quiere que se envíen los registros.
Habilite la integración del agente de Azure Monitor con Log Analytics y seleccione el área de trabajo (área de trabajo existente al migrar de la imagen anterior a una imagen más reciente).
Una vez que confirme la selección del área de trabajo, comienzan los pasos de condición previa.
Seleccione Guardar una vez completados los pasos de condición previa.
Enfoque 2: Habilitación del agente de Azure Monitor mediante Azure PowerShell
Habilitación de MSI asignado por el sistema
En primer lugar, obtenga información del clúster para comprobar el MSI del clúster.
Get-AzHDInsightCluster -ResourceGroupName $resourceGroup –ClusterName $cluster
Si este clúster no tiene MSI, habilite directamente el MSI asignado por el sistema
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned"
Si este clúster solo tiene MSI asignado por el usuario, agregue el MSI asignado por el sistema a la identidad.
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned,UserAssigned" -IdentityId "$userAssignedIdentityResourceId"
Si este clúster ya está asignado al MSI por el sistema, no es necesario nada.
Creación de DCR
Para obtener más información, consulte Crear y editar reglas de recopilación de datos (DCR).
# 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
Asociación de DCR.
Para obtener más información, consulte Configuración del agente de Azure Monitor en 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
Habilitación del agente de Azure Monitor.
# 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) deshabilitando el agente de Azure Monitor.
Disable-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster
Enfoque 3: Habilitación del agente de Azure Monitor mediante la CLI de Azure
Habilite el MSI asignado por el sistema.
En primer lugar, obtenga información del clúster para comprobar el MSI del clúster.
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"
Si este clúster no tiene MSI, habilite directamente el MSI asignado por el sistema a través de la API de REST.
body="{\"identity\": {\"type\": \"SystemAssigned\"}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Si este clúster solo tiene MSI asignado por el usuario, agregue el MSI asignado por el sistema a la identidad.
body="{\"identity\": {\"type\": \"SystemAssigned,UserAssigned\", \"userAssignedIdentities\": {$userAssignedIdentityResourceId:{}}}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Si este clúster ya está asignado al MSI por el sistema, no es necesario nada.
Creación de DCR.
Para obtener más información, consulte Crear y editar reglas de recopilación de datos (DCR)
# 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
Asociación 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
Habilitación del Agente de Azure Monitor
# 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) deshabilitando el agente de Azure Monitor.
az hdinsight azure-monitor-agent disable --name $cluster --resource-group $resourceGroup
Habilitación del registro del agente de Azure Monitor para el clúster de Spark
Los clústeres de Azure HDInsight Spark controlan la integración del AMA usando una configuración spark.hdi.ama.enabled
de Spark, de manera predeterminada, el valor se establece en false. Esta configuración controla si los registros específicos de Spark aparecerán en el área de trabajo de Log Analytics. Si desea habilitar el AMA en los clústeres de Spark y recuperar los registros de eventos de Spark en sus áreas de trabajo de LA, debe realizar un paso adicional para habilitar el AMA para registros específicos de Spark.
En los siguientes pasos se describe cómo los clientes pueden habilitar el nuevo registro del agente de Azure Monitor para sus cargas de trabajo de Spark.
Vaya a Ambari -> configuraciones de Spark.
Vaya a valores predeterminados de Spark personalizados y busque la configuración
spark.hdi.ama.enabled
, el valor predeterminado de esta configuración será false. Establezca este valor como true.Haga clic en Guardar y reinicie los servicios de Spark en todos los nodos.
Acceda a las tablas del área de trabajo de LA.
Acceso a las nuevas tablas
Hay dos maneras de acceder a las nuevas tablas.
Enfoque 1
La primera manera de acceder a las nuevas tablas es a través del área de trabajo de Log Analytics.
Vaya al área de trabajo de Log Analytics que seleccionó al habilitar la integración.
Desplácese hacia abajo en el menú de la izquierda de la pantalla y seleccione Registros. Aparecerá un editor de consultas de registros con una lista de todas las tablas en el área de trabajo.
Si las tablas se agrupan por Solución, las nuevas tablas de HDInsight se encuentran en la sección Administración de registros.
Si agrupa las tablas por Tipo de recurso, las tablas se encuentran en la sección Clústeres de HDInsight, como se muestra en la imagen.
Nota:
En este proceso se describe cómo se accedía a los registros en la integración anterior. Esto requiere que el usuario tenga acceso al área de trabajo.
Enfoque 2
La segunda manera de acceder a las nuevas tablas es a través del acceso al portal del clúster.
Vaya a la página del portal del clúster y desplácese hacia abajo en el menú de la izquierda hasta que vea la sección Supervisión. En esta sección, verá el panel Registros.
Seleccione Registros, y aparecerá un editor Consultas de registros. El editor contiene todos los registros asociados al recurso de clúster. Envió los registros al área de trabajo de Log Analytics al habilitar la integración. Estos registros proporcionan acceso basado en recursos (RBAC). Con RBAC, los usuarios que tienen acceso al clúster, pero no al área de trabajo, pueden ver los registros asociados al clúster.
Para ver la comparación, en las capturas de pantalla siguientes se muestran la vista del área de trabajo de integración heredada y la nueva vista del área de trabajo de integración:
Vista del área de trabajo de integración heredada (Azure Monitor clásico)
Nueva vista del área de trabajo de integración (experiencia de Azure Monitor/Agente de Azure Monitor)
Uso de las nuevas tablas
Consultas predeterminadas para usar con las nuevas tablas
En el editor Consultas de registros, establezca el botón de alternancia en Consultas encima de la lista de tablas. Asegúrese de agrupar las consultas por Tipo de recurso y de que no haya ningún filtro establecido para un tipo de recurso distinto de Clústeres de HDInsight. En la imagen siguiente se muestra el aspecto de los resultados cuando se agrupan por Tipo de recurso y se filtran para Clústeres de HDInsight. Solo tiene que seleccionar uno para que aparezca en el editor Consultas de registros. Asegúrese de leer los comentarios incluidos en las consultas, ya que algunos requieren que escriba información, como el nombre del clúster, para que la consulta se ejecute correctamente.
Creación de sus propias consultas
Puede escribir sus propias consultas en el editor Consultas de registros. Las consultas usadas en las tablas antiguas no serán válidas en las tablas nuevas, ya que muchas de las nuevas tablas tienen esquemas nuevos y refinados. Las consultas predeterminadas son referencias excelentes para dar forma a las consultas en las nuevas tablas.
Información detallada
En Información se encuentran paneles de visualización específicos del clúster creados mediante Azure Workbooks. Estos paneles le dan gráficos y visualizaciones detallados de cómo se ejecuta el clúster. Los paneles tienen secciones para cada tipo de clúster, YARN, métricas del sistema y registros de componentes. Para acceder al panel del clúster, visite la página del clúster en el portal, desplácese hacia abajo hasta la sección Supervisión y seleccione el panel Información. El panel se carga automáticamente si ha habilitado la nueva integración. Espere unos segundos para que los gráficos se carguen a medida que consulten los registros.
Libros de Azure personalizados
Puede crear sus propios libros de Azure con gráficos y visualizaciones personalizados. En la página del portal del clúster, desplácese hacia abajo hasta la sección Supervisión y seleccione el panel Libros en el menú de la izquierda. Puede empezar a usar una plantilla en blanco o usar una de las plantillas de la sección Clústeres de HDInsight. Hay una plantilla para cada tipo de clúster. Las plantillas son útiles si quiere guardar personalizaciones específicas que la Información de HDInsight predeterminada no proporciona. No dude en enviar solicitudes de nuevas características en Información de HDInsight si cree que carecen de algo.
Alertas
Puede agregar alertas personalizadas a los clústeres y áreas de trabajo en el editor Consultas de registro. Para ir al editor Consultas de registros, seleccione el panel Registros en el portal del clúster o del área de trabajo. Ejecute una consulta y, a continuación, seleccione Nueva regla de alertas, como se muestra en la captura de pantalla siguiente. Para obtener más información, lea sobre la configuración de alertas.
Migración a la nueva integración de agente de Azure Monitor
Si usa la integración clásica de Azure Monitor, debe realizar algunos ajustes en los formatos de las nuevas tablas después de cambiar a la nueva integración de Azure Monitor.
Para habilitar la nueva integración de Azure Monitor, siga los pasos descritos en la sección Activación de una nueva integración de agente de Azure Monitor.
Ejecución de consultas en Log Analytics
Dado que el formato de las nuevas tablas es diferente del anterior, las consultas deben modificarse para poder usar las nuevas tablas. Una vez que haya habilitado la nueva integración de Azure Monitor, puede examinar las tablas y esquemas para identificar los campos que se usan en las consultas antiguas.
Proporcionamos una tabla de asignación entre la tabla antigua y la nueva tabla para ayudarle a encontrar rápidamente los nuevos campos que necesita usar para migrar los paneles y las consultas.
Consultas predeterminadas: hemos creado consultas predeterminadas que muestran cómo usar las nuevas tablas para situaciones comunes. Las consultas predeterminadas también muestran qué información está disponible en cada tabla. Para acceder a las consultas predeterminadas, puede seguir las instrucciones de la sección Consultas predeterminadas para usar con las nuevas tablas de este artículo.
Actualización de paneles para clústeres de HDInsight
Si ha creado varios paneles para supervisar los clústeres de HDInsight, tiene que ajustar la consulta detrás de la tabla una vez que habilite la nueva integración de Azure Monitor. El nombre de la tabla o el nombre del campo pueden haber cambiado en la nueva integración, pero se incluye toda la información que tiene en la integración anterior.
Consulte la tabla de asignación entre la tabla o el esquema anteriores y la tabla o el esquema nuevos para actualizar la consulta detrás de los paneles
Paneles integrados
También se han mejorado los paneles integrados en el nivel de clúster. Hay un botón en la parte superior derecha de cada gráfico, que le permite ver la consulta subyacente que genera la información. El gráfico es una excelente manera de familiarizarse con cómo se pueden consultar las nuevas tablas de manera eficaz.
Escala de tiempo de lanzamiento y soporte técnico
La integración clásica de Azure Monitor no estará disponible después del 15 de octubre de 2021. No se puede habilitar la integración clásica de Azure Monitor después de esa fecha.
La ingesta de integración de supervisión de Azure clásica no funcionará después del 31 de agosto de 2024.
Los clústeres de HDInsight con integración de Azure Monitor (vista previa) no se admitirán a partir del 1 de febrero de 2025.
La integración existente de Azure Monitor (vista previa) seguirá funcionando hasta el 31 de enero de 2025. Habrá compatibilidad limitada con la integración de Azure Monitor (vista previa).
Si la solución requiere un cambio de imagen, los clientes deben pasarse a la nueva integración.
Microsoft no revisará los clústeres de integración de Azure Monitor (vista previa), excepto los problemas de seguridad críticos.
Apéndice: Asignación de tablas
Para ver las asignaciones de tablas de registro de la integración clásica de Azure Monitor con la nueva, consulte Asignación de tablas de registro.