Guida alla migrazione dell'agente di Monitoraggio di Azure per i cluster Azure HDInsight
Azure HDInsight è un servizio cluster gestito e pronto per l'organizzazione. Questo servizio esegue framework di analisi open source come Apache Spark, Hadoop, HBase e Kafka in Azure. Azure HDInsight è integrato con altri servizi di Azure per consentire ai clienti di gestire meglio le applicazioni di analisi dei Big Data.
Log Analytics offre uno strumento nel portale di Azure per modificare ed eseguire query di log. Le query provengono dai dati raccolti dai log di Monitoraggio di Azure e analizzarne i risultati in modo interattivo. I clienti possono usare query di Log Analytics per recuperare record che soddisfano criteri specifici. Possono anche usare query per identificare le tendenze, analizzare i modelli e fornire informazioni dettagliate sui dati.
Integrazione di Azure HDInsight abilitata con Log Analytics nel 2017. I clienti di HDInsight hanno adottato rapidamente questa funzionalità per monitorare i cluster HDInsight ed eseguire query sui log nei cluster. Mentre l'adozione di questa funzionalità è aumentata, i clienti hanno fornito commenti e suggerimenti sull'integrazione:
I clienti non possono decidere quali log archiviare e l'archiviazione di tutti i log può diventare costosa.
I log degli schemi HDInsight correnti non seguono convenzioni di denominazione coerenti e alcune tabelle sono ripetitive.
I clienti vogliono un dashboard predefinito per monitorare facilmente l'indicatore KPI dei cluster HDInsight.
I clienti devono passare a Log Analytics per eseguire query semplici.
Considerando il feedback dei clienti, il team di Azure HDInsight ha investito nell'integrazione con Monitoraggio di Azure. Questa integrazione consente di:
Nuovo set di tabelle nell'area di lavoro Log Analytics dei clienti. Le nuove tabelle vengono recapitate tramite una nuova pipeline di Log Analytics.
Maggiore affidabilità.
Consegna più rapida dei log.
Raggruppamento di tabelle basate sulle risorse e query predefinite.
Sicurezza migliorata con l'identità gestita dal sistema per le aree di lavoro dell'agente di Monitoraggio di Azure.
Creazione automatica di risorse DCR per le tabelle esistenti.
Nota
L'integrazione dell'agente di Monitoraggio di Azure (tra cui DCR e Autenticazione identità sistema) è disponibile in tutte le aree in cui è disponibile HDInsight.
Questo documento illustra le modifiche apportate all'integrazione di Monitoraggio di Azure e fornisce alle procedure consigliate per l'uso delle nuove tabelle.
Schemi riprogettati: la formattazione dello schema per la nuova integrazione di Monitoraggio di Azure è più organizzata e facile da comprendere. Esistono due terzi con un minor numero di schemi per rimuovere la maggior ambiguità possibile negli schemi legacy.
Registrazione selettiva: sono disponibili log e metriche tramite Log Analytics. Per risparmiare sui costi di monitoraggio, viene rilasciata una nuova funzionalità di registrazione selettiva. Usare questa funzionalità per attivare e disattivare diversi log e origini delle metriche. Con questa funzionalità, è necessario pagare per ciò che si usa. Per altre informazioni, vedere Registrazione selettiva.
Integrazione del portale del cluster log: il riquadro Log è una novità del portale del cluster HDInsight. Chiunque abbia accesso al cluster può passare a questo riquadro per eseguire query su qualsiasi tabella a cui la risorsa cluster invia i record. Gli utenti non devono più accedere all'area di lavoro Log Analytics per visualizzare i record per una risorsa cluster specifica.
Integrazione del portale del cluster Insights: il riquadro Insights non è disponibile nel portale del cluster HDInsight. Dopo aver abilitato la nuova integrazione di Monitoraggio di Azure, è possibile selezionare il riquadro di Insights e un dashboard delle metriche e log predefiniti specifici del tipo del cluster verranno popolati automaticamente. Questi dashboard sono stati rinnovati rispetto alle soluzioni di Azure precedenti. Forniscono informazioni approfondite sulle prestazioni e sull'integrità del cluster.
Le sezioni seguenti descrivono come i clienti possono usare la nuova integrazione dell'agente di Monitoraggio di Azure in scenari diversi.
La sezione Attiva una nuova integrazione dell'agente di Monitoraggio di Azure descrive come attivare e usare la nuova integrazione di Monitoraggio di Azure.
La sezione Migrazione dalla versione classica di Monitoraggio di Azure alla nuova integrazione dell'agente di Monitoraggio di Azure include informazioni aggiuntive per gli utenti che dipendono dall'integrazione di Monitoraggio di Azure per adulti meno recenti.
Nota
I clienti che usano Monitoraggio di Azure classico non funzioneranno più dopo il 31 agosto 2024.
I clienti che usano la nuova esperienza di Monitoraggio di Azure (anteprima) devono eseguire la migrazione all’agente di Monitoraggio di Azure (AMA) prima del 31 gennaio 2025.
I cluster con immagine 2407260448 con l’API HDInsight più recente 2024-08-01-preview avranno la possibilità di abilitare l’integrazione dell’agente di Monitoraggio di Azure e questa sarà la configurazione predefinita per i clienti che usano l’immagine 2407260448.
Nota
È necessario avere un'area di lavoro Log Analytics creata in una sottoscrizione a cui si ha accesso prima di abilitare la nuova integrazione dell'agente di Monitoraggio di Azure. Se si esegue la migrazione dall'esperienza di Monitoraggio di Azure alla configurazione dell'agente di Monitoraggio di Azure, è possibile riutilizzare l'area di lavoro Log Analytics dal cluster esistente
Si prevede di usare la stessa area di Azure per l'area di lavoro Log Analytics e il cluster HDInsight per una migrazione più fluida.
Per altre informazioni su come creare di un'area di lavoro Log Analytics, vedere Creare un'area di lavoro Log Analytics nel portale di Azure.
Attivare la nuova integrazione passando alla pagina del portale del cluster e scorrere verso il basso il menu a sinistra fino a raggiungere la sezione Monitoraggio.
Nella sezione Monitoraggio selezionare Monitorare l'integrazione.
Quindi, selezionare Abilita e scegliere l'area di lavoro Log Analytics a cui inviare i log.
Abilitare l’integrazione dell’agente di Monitoraggio di Azure con Log Analytics e selezionare l’area di lavoro (area di lavoro esistente durante la migrazione dall’immagine precedente all’immagine più recente).
Dopo aver confermato la selezione dell'area di lavoro, iniziano i passaggi di precondizione.
Selezionare Salva al termine dei passaggi della precondizione.
Abilitare l'identità del servizio gestita (MSI) assegnata dal sistema
Ottenere prima informazioni sul cluster per controllare l'identità del servizio gestita (MSI) del cluster.
Get-AzHDInsightCluster -ResourceGroupName $resourceGroup –ClusterName $cluster
Se questo cluster non ha alcuna identità del servizio gestita (MSI), abilitare direttamente l'identità del servizio gestita assegnata dal sistema
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned"
Se a questo cluster è assegnata solo l'identità del servizio gestita (MSI) assegnata dall'utente, aggiungere l'identità del servizio gestita assegnata dal sistema all'identità.
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned,UserAssigned" -IdentityId "$userAssignedIdentityResourceId"
Se a questo cluster è già assegnata l'identità del servizio gestita (MSI) dal sistema, non è necessario altro.
Creazione di regole di raccolta dati (DCR)
Per altre informazioni, vedere Creare e modificare regole di raccolta dati (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
Associazione di regole di raccolta dati (DCR).
Per altre informazioni, vedere Configurare l'agente di Monitoraggio di Azure in dispositivi client 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
Abilitazione dell'agente di Monitoraggio di Azure.
# 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
(Facoltativo) Disabilitazione dell'agente di Monitoraggio di Azure.
Disable-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster
Approccio 3: abilitare l'agente di Monitoraggio di Azure tramite l'interfaccia della riga di comando di Azure
Abilitare l'identità del servizio gestita (MSI) assegnata dal sistema.
Ottenere prima informazioni sul cluster per controllare l'identità del servizio gestita (MSI) del 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 questo cluster non ha alcuna identità del servizio gestita (MSI), abilitare direttamente l'identità del servizio gestita assegnata dal sistema tramite l'API REST.
body="{\"identity\": {\"type\": \"SystemAssigned\"}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Se a questo cluster è assegnata solo l'identità del servizio gestita (MSI) assegnata dall'utente, aggiungere l'identità del servizio gestita assegnata dal sistema all'identità.
body="{\"identity\": {\"type\": \"SystemAssigned,UserAssigned\", \"userAssignedIdentities\": {$userAssignedIdentityResourceId:{}}}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Se a questo cluster è già assegnata l'identità del servizio gestita (MSI) dal sistema, non è necessario altro.
Creazione di regole di raccolta dati (DCR).
Per altre informazioni, vedere Creare e modificare regole di raccolta dati (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
Associazione di regole di raccolta dati (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
Abilitazione dell'agente di Monitoraggio di Azure
# 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
(Facoltativo) Disabilitazione dell'agente di Monitoraggio di Azure.
az hdinsight azure-monitor-agent disable --name $cluster --resource-group $resourceGroup
I cluster Azure HDInsight Spark controllano l’integrazione di AMA usando una configurazione Spark spark.hdi.ama.enabled
; per impostazione predefinita il valore è impostato su false. Questa configurazione controlla se i log specifici di Spark verranno visualizzati nell’area di lavoro Log Analytics. Se si vuole abilitare l’AMA nei cluster Spark e recuperare i log eventi Spark nelle aree di lavoro LA (Log Analytics), è necessario eseguire un passaggio aggiuntivo per abilitare AMA per i log specifici di Spark.
I passaggi seguenti descrivono come i clienti possono abilitare la registrazione del nuovo agente di Monitoraggio di Azure per i carichi di lavoro Spark.
Passare a Ambari -> Configurazioni Spark.
Passare a Impostazioni predefinite personalizzate di Spark e cercare la configurazione
spark.hdi.ama.enabled
; il valore predefinito di questa configurazione sarà false. Impostare questo valore come true.Fare clic su Salva e riavviare i servizi Spark in tutti i nodi.
Accedere alle tabelle nell’area di lavoro LA.
Esistono due modi per accedere alle nuove tabelle.
Il primo modo per accedere alle nuove tabelle è attraverso l'area di lavoro Log Analytics.
Passare all'area di lavoro Log Analytics selezionata quando è stata abilitata l'integrazione.
Scorrere verso il basso nel menu a sinistra della schermata e selezionare Log. Viene visualizzato un editor di query Log con un elenco di tutte le tabelle nell'area di lavoro.
Se le tabelle sono raggruppate per soluzione, le nuove tabelle HDInsight si trovano nella sezione Gestione dei log.
Se si raggruppano le tabelle per Tipo di risorsa, le tabelle si trovano nella sezione Cluster HDInsight, come illustrato nell'immagine.
Nota
Questo processo descrive come è stato eseguito l'accesso ai log nell'integrazione precedente. È quindi necessario che l'utente abbia accesso all'area di lavoro.
Il secondo modo per accedere alle nuove tabelle consiste nell'accedere al portale del cluster.
Passare alla pagina del portale del cluster e scorrere verso il basso il menu a sinistra fino a visualizzare la sezione Monitoraggio. In questa sezione verrà visualizzato il riquadro Log.
Selezionare Log e verrà visualizzato un editor di query Log. L'editor contiene tutti i log associati alla risorsa cluster. I log sono stati inviati all'area di lavoro Log Analytics quando è stata abilitata l'integrazione. Questi log forniscono il controllo degli accessi in base al ruolo (RBAC). Con il controllo degli accessi in base al ruolo, gli utenti che hanno accesso al cluster, ma non all'area di lavoro, possono visualizzare i log associati al cluster.
Per un confronto, gli screenshot seguenti mostrano la visualizzazione dell'area di lavoro di integrazione legacy e la nuova visualizzazione dell'area di lavoro di integrazione:
Nuova visualizzazione dell'area di lavoro di integrazione (esperienza di Monitoraggio di Azure/Agente di Monitoraggio di Azure)
Query predefinite da usare con nuove tabelle
Nell'editor di query Log impostare l'interruttore su Query sopra l'elenco delle tabelle. Assicurarsi di raggruppare le query secondo tipo di risorsa e che non sia impostato alcun filtro per un tipo di risorsa diverso da cluster HDInsight. L'immagine seguente mostra l'aspetto dei risultati raggruppati per tipo di risorsa e filtrati per cluster HDInsight. Selezionare solo una e viene visualizzata nell'editor di query Log. Assicurarsi di leggere i commenti inclusi nelle query, perché alcuni richiedono di immettere alcune informazioni, ad esempio il nome del cluster, affinché la query venga eseguita correttamente.
È possibile immettere query personalizzate nell'editor di query Log. Le query usate nelle tabelle precedenti non saranno valide nelle nuove tabelle perché molte delle nuove tabelle hanno schemi nuovi e perfezionati. Le query predefinite sono ottimi riferimenti per la modellazione delle query nelle nuove tabelle.
Le informazioni dettagliate sono dashboard di visualizzazione specifici del cluster creati usando cartelle di lavoro di Azure. Questi dashboard offrono grafici e visualizzazioni dettagliate del funzionamento del cluster. I dashboard includono sezioni per ogni tipo di cluster, YARN, metriche di sistema e log dei componenti. Per accedere al dashboard del cluster, visitare la pagina del cluster nel portale, scorrere verso il basso fino alla sezione Monitoraggio e selezionare il riquadro Insights. Il dashboard viene caricato automaticamente se è abilitata la nuova integrazione. Attendere alcuni secondi per il caricamento dei grafici durante la query sui log.
È possibile creare cartelle di lavoro di Azure personalizzate con grafici e visualizzazioni personalizzati. Nella pagina del portale del cluster scorrere verso il basso fino alla sezione Monitoraggio e selezionare il riquadro Cartelle di lavoro nel menu a sinistra. È possibile iniziare a usare un modello vuoto o usare uno dei modelli nella sezione Cluster HDInsight. È disponibile un modello per ogni tipo di cluster. I modelli sono utili se si desidera salvare personalizzazioni specifiche non fornite dalle informazioni dettagliate predefinite di HDInsight. È possibile inviare richieste di nuove funzionalità in HDInsight Insights se si ritiene che manchi qualcosa.
È possibile aggiungere avvisi personalizzati ai cluster e alle aree di lavoro nell'editor di query Log. Passare all'editor di query Log selezionando il riquadro Log nel portale del cluster o dell'area di lavoro. Eseguire una query e quindi selezionare Nuova regola di avviso come illustrato nello screenshot seguente. Per altre informazioni, vedere configurazione degli avvisi.
Se si utilizza l'integrazione classica di Monitoraggio di Azure, è necessario apportare alcune modifiche ai nuovi formati di tabella dopo aver eseguito il passaggio alla nuova integrazione di Monitoraggio di Azure.
Per abilitare la nuova integrazione di Monitoraggio di Azure, seguire i passaggi descritti nella sezione Attivare una nuova integrazione dell'Agente di Monitoraggio di Azure.
Poiché il nuovo formato di tabella è diverso da quello precedente, è necessario rielaborare le query in modo da poter usare le nuove tabelle. Dopo aver abilitato la nuova integrazione di Monitoraggio di Azure, è possibile esplorare le tabelle e gli schemi per identificare i campi usati nelle query precedenti.
È disponibile una tabella di mapping tra la tabella precedente e la nuova tabella per trovare rapidamente i nuovi campi da usare per eseguire la migrazione dei dashboard e delle query.
Query predefinite: sono state create query predefinite che illustrano come usare le nuove tabelle per situazioni comuni. Le query predefinite mostrano anche quali informazioni sono disponibili in ogni tabella. È possibile accedere alle query predefinite seguendo le istruzioni riportate nella sezione Query predefinite da usare con le nuove tabelle in questo articolo.
Se si creano più dashboard per monitorare i cluster HDInsight, è necessario modificare la query dietro la tabella dopo aver abilitato la nuova integrazione di Monitoraggio di Azure. Il nome della tabella o il nome del campo potrebbero cambiare nella nuova integrazione, ma tutte le informazioni presenti nell'integrazione precedente sono incluse.
Fare riferimento alla tabella di mapping tra la tabella/lo schema precedenti e la tabella/lo schema nuovi per aggiornare la query dietro i dashboard
Sono stati anche migliorati i dashboard predefiniti a livello di cluster. Nella parte superiore destra di ogni grafico è presente un pulsante che consente di visualizzare la query sottostante che produce le informazioni. Il grafico è un ottimo modo per familiarizzare con il modo in cui è possibile eseguire query sulle nuove tabelle in modo efficace.
L’integrazione classica di Monitoraggio di Azure non sarà disponibile dopo il 15 ottobre 2021. Non è possibile abilitare l'integrazione classica di Monitoraggio di Azure dopo tale data.
L'inserimento di integrazione di Monitoraggio di Azure classico non funzionerà dopo il 31 agosto 2024.
I cluster HDInsight con l'integrazione di Monitoraggio di Azure (anteprima) non saranno supportati oltre il 1° febbraio 2025.
L'integrazione di Monitoraggio di Azure esistente (anteprima) continuerà a funzionare fino al 31 gennaio 2025. Sarà disponibile un supporto limitato per l'integrazione di Monitoraggio di Azure (anteprima).
Se la soluzione richiede modifiche all'immagine, i clienti devono passare alla nuova integrazione.
Microsoft non applica patch ai cluster di integrazione (anteprima) di Monitoraggio di Azure, ad eccezione dei problemi di sicurezza critici.
Per i mapping delle tabelle di log dall'integrazione classica di Monitoraggio di Azure a quelle nuove, vedere Mapping delle tabelle dei log.