Průvodce migrací agenta Azure Monitoru (AMA) pro clustery Azure HDInsight
Azure HDInsight je služba spravovaného clusteru připravená pro podniky. Tato služba spouští opensourcové analytické architektury, jako jsou Apache Spark, Hadoop, HBase a Kafka v Azure. Služba Azure HDInsight integrovaná s dalšími službami Azure umožňuje zákazníkům lépe spravovat aplikace pro analýzu velkých objemů dat.
Log Analytics poskytuje nástroj na webu Azure Portal pro úpravy a spouštění dotazů na protokoly. Dotazy pocházejí z dat shromážděných protokoly služby Azure Monitor a interaktivně analyzují výsledky. Zákazníci můžou pomocí dotazů Log Analytics načíst záznamy, které odpovídají konkrétním kritériím. Můžou také použít dotazy k identifikaci trendů, analýze vzorů a poskytování přehledů o jejich datech.
Integrace azure HDInsight s Log Analytics v roce 2017 Zákazníci HDInsight tuto funkci rychle přijali, aby mohli monitorovat své clustery HDInsight a dotazovat se na protokoly v clusterech. I když se přijetí této funkce zvýšilo, zákazníci poskytli zpětnou vazbu k integraci:
Zákazníci se nemůžou rozhodnout, které protokoly se mají ukládat, a ukládání všech protokolů může být nákladné.
Aktuální protokoly schémat HDInsight nedodržují konzistentní zásady vytváření názvů a některé tabulky se opakují.
Zákazníci chtějí, aby předefinovaný řídicí panel snadno monitorovali klíčový ukazatel výkonu svých clusterů HDInsight.
Zákazníci musí přejít na Log Analytics, aby mohli spouštět jednoduché dotazy.
Přehled řešení
S ohledem na zpětnou vazbu zákazníků investoval tým Azure HDInsight do integrace se službou Azure Monitor. Tato integrace umožňuje:
Nová sada tabulek v pracovním prostoru služby Log Analytics zákazníků Nové tabulky se doručují prostřednictvím nového kanálu Log Analytics.
Vyšší spolehlivost.
Rychlejší doručování protokolů
Seskupování tabulek na základě prostředků a výchozí dotazy
Vylepšené zabezpečení s využitím spravované identity systému pro pracovní prostory agenta Azure Monitoru
Automatizované vytváření prostředků DCR pro existující tabulky
Poznámka:
Integrace agenta Azure Monitoru (AMA) (včetně DCR a ověřování identit systému) je dostupná ve všech oblastech, ve kterých je HDInsight k dispozici.
Výhody integrace agenta Azure Monitoru (AMA)
Tento dokument popisuje změny integrace služby Azure Monitor a poskytuje osvědčené postupy pro používání nových tabulek.
Přepracovaná schémata: Formátování schémat pro novou integraci služby Azure Monitor je lépe uspořádané a snadno pochopitelné. Ve starších schématech existuje méně než dvě třetiny schémat, která by se odebrala co nejvíce nejednoznačnosti.
Selektivní protokolování: Protokoly a metriky jsou dostupné prostřednictvím Log Analytics. Abychom vám pomohli ušetřit náklady na monitorování, vydáváme novou funkci selektivního protokolování. Pomocí této funkce můžete zapnout a vypnout různé protokoly a zdroje metrik. Díky této funkci musíte platit za to, co používáte. Další informace naleznete v tématu Selektivní protokolování.
Integrace portálu clusteru protokolů: Podokno Protokoly je pro portál clusteru HDInsight novinkou. Každý, kdo má přístup ke clusteru, může přejít do tohoto podokna a dotazovat se na libovolnou tabulku, do které prostředek clusteru odesílá záznamy. Uživatelé už nepotřebují přístup k pracovnímu prostoru služby Log Analytics, aby viděli záznamy pro konkrétní prostředek clusteru.
Integrace portálu clusteru Insights: Podokno Přehledy je také novinkou na portálu clusteru HDInsight. Po povolení nové integrace služby Azure Monitor můžete vybrat podokno Přehledy a automaticky se vyplní automaticky řídicí panel protokolů a metrik specifických pro typ clusteru. Tyto řídicí panely se přepracovaly z našich předchozích řešení Azure. Poskytují podrobné přehledy o výkonu a stavu clusteru.
Scénáře zákazníků
Následující části popisují, jak můžou zákazníci používat novou integraci agenta služby Azure Monitor v různých scénářích.
Část Aktivace nové integrace agenta služby Azure Monitor popisuje, jak aktivovat a používat novou integraci služby Azure Monitor.
Migrace z Azure Monitoru Classic do nové části integrace agenta azure Monitor obsahuje další informace pro uživatele, kteří závisí na integraci služby Azure Monitor starších dospělých.
Poznámka:
Zákazníci, kteří používají Azure Monitor Classic, přestanou po 31. srpnu 2024 fungovat.
Zákazníci, kteří používají nové prostředí Azure Monitoru (Preview), se vyžadují k migraci na agenta služby Azure Monitor (AMA) před 31. lednem 2025.
Clustery s imagemi 2407260448 s nejnovějším rozhraním HDInsight API 2024-08-01-Preview budou mít možnost povolit integraci agenta služby Azure Monitor a toto bude výchozí nastavení pro zákazníky používající image 2407260448.
Aktivace nové integrace agenta služby Azure Monitor
Poznámka:
Před povolením nové integrace agenta služby Azure Monitor musíte mít vytvořený pracovní prostor služby Log Analytics vytvořený v předplatném, ke kterým máte přístup. V případě, že migrujete z prostředí služby Azure Monitor do nastavení agenta služby Azure Monitor, můžete znovu použít pracovní prostor služby Log Analytics z existujícího clusteru.
Očekává se, že pro pracovní prostor služby Log Analytics použijete stejnou oblast Azure a cluster HDInsight pro plynulejší migraci.
Další informace o tom, jak vytvořit pracovní prostor služby Log Analytics, najdete v tématu Vytvoření pracovního prostoru služby Log Analytics na webu Azure Portal.
Přístup 1: Povolení agenta služby Azure Monitor pomocí portálu
Aktivujte novou integraci tak, že přejdete na stránku portálu vašeho clusteru a posunete se v nabídce vlevo, dokud se nedostanete do části Monitorování.
V části Monitorování vyberte Monitorovat integraci.
Pak vyberte Povolit a můžete zvolit pracovní prostor služby Log Analytics, do kterého se mají protokoly odesílat.
Povolte integraci agenta služby Azure Monitor se službou Log Analytics a vyberte svůj pracovní prostor (existující pracovní prostor při migraci z předchozí image na novější image).
Jakmile potvrdíte výběr pracovního prostoru, zahájí se předběžné kroky.
Po dokončení předběžných kroků vyberte Uložit.
Přístup 2: Povolení agenta Azure Monitoru pomocí Azure PowerShellu
Povolení MSI přiřazené systémem
Nejprve získejte informace o clusteru a zkontrolujte MSI clusteru.
Get-AzHDInsightCluster -ResourceGroupName $resourceGroup –ClusterName $cluster
Pokud tento cluster nemá žádnou MSI, povolte přímo msi přiřazenou systémem.
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned"
Pokud má tento cluster přiřazenou pouze MSI uživatele, přidejte k identitě msi přiřazenou systémem.
Update-AzHDInsightCluster -ResourceGroupName $resourceGroup -ClusterName $cluster -IdentityType "SystemAssigned,UserAssigned" -IdentityId "$userAssignedIdentityResourceId"
Pokud už tento cluster má přiřazenou MSI, nemusíte nic dělat.
Vytvoření DCR
Další informace naleznete v tématu Vytvoření a úprava pravidel shromažďování dat (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
Přidružení DCR.
Další informace najdete v tématu Nastavení agenta Služby Azure Monitor na klientských zařízeních s 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
Povolení agenta Azure Monitoru
# 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
(Volitelné) Zakázání agenta služby Azure Monitor
Disable-AzHDInsightAzureMonitorAgent -ResourceGroupName $resourceGroup -ClusterName $cluster
Přístup 3: Povolení agenta Služby Azure Monitor pomocí Azure CLI
Povolte MSI přiřazenou systémem.
Nejprve získejte informace o clusteru a zkontrolujte MSI clusteru.
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"
Pokud tento cluster nemá žádnou MSI, povolte přímo msi přiřazenou systémem přes rozhraní REST API.
body="{\"identity\": {\"type\": \"SystemAssigned\"}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Pokud má tento cluster přiřazenou pouze MSI uživatele, přidejte k identitě msi přiřazenou systémem.
body="{\"identity\": {\"type\": \"SystemAssigned,UserAssigned\", \"userAssignedIdentities\": {$userAssignedIdentityResourceId:{}}}}" az rest --method patch --url "$url" --body "$body" --headers "Authorization=Bearer $accessToken"
Pokud už tento cluster má přiřazenou MSI, nemusíte nic dělat.
Vytvoření DCR.
Další informace najdete v tématu Vytvoření a úprava pravidel shromažďování dat (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
Přidružení 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
Povolení agenta Azure Monitoru
# 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
(Volitelné) Zakázání agenta služby Azure Monitor
az hdinsight azure-monitor-agent disable --name $cluster --resource-group $resourceGroup
Povolení protokolování agenta služby Azure Monitor pro cluster Spark
Clustery Azure HDInsight Spark řídí integraci AMA pomocí konfigurace spark.hdi.ama.enabled
Sparku , ve výchozím nastavení je hodnota nastavená na false. Tato konfigurace určuje, jestli se v pracovním prostoru služby Log Analytics zobrazí konkrétní protokoly Sparku. Pokud chcete povolit AMA v clusterech Spark a načíst protokoly událostí Sparku v jejich pracovních prostorech LA, musíte provést další krok, který povolí AMA pro konkrétní protokoly Sparku.
Následující kroky popisují, jak můžou zákazníci povolit nové protokolování agenta služby Azure Monitor pro úlohy Sparku.
Přejděte na Ambari –> konfigurace Sparku.
Přejděte do výchozích hodnot Custom Spark a vyhledejte konfiguraci
spark.hdi.ama.enabled
. Výchozí hodnota této konfigurace bude false. Nastavte tuto hodnotu jako true.Klikněte na Uložit a restartujte služby Sparku na všech uzlech.
Přístup k tabulkám v pracovním prostoru LA
Přístup k novým tabulkám
K novým tabulkám můžete přistupovat dvěma způsoby.
Přístup 1
Prvním způsobem, jak získat přístup k novým tabulkám, je pracovní prostor služby Log Analytics.
Přejděte do pracovního prostoru služby Log Analytics, který jste vybrali při povolení integrace.
Posuňte se v nabídce na levé straně obrazovky dolů a vyberte Protokoly. Otevře se editor dotazů protokolů se seznamem všech tabulek v pracovním prostoru.
Pokud jsou tabulky seskupené podle řešení, nové tabulky HDInsight jsou v části Správa protokolů.
Pokud tabulky seskupíte podle typu prostředku, tabulky se nacházejí v části Clustery HDInsight, jak je znázorněno na obrázku.
Poznámka:
Tento proces popisuje, jak se k protokolům přistupovalo ve staré integraci. To vyžaduje, aby měl uživatel přístup k pracovnímu prostoru.
Přístup 2
Druhým způsobem, jak získat přístup k novým tabulkám, je přístup přes portál clusteru.
Přejděte na stránku portálu clusteru a posuňte se dolů v nabídce na levé straně, dokud se nezobrazí oddíl Monitorování. V této části se zobrazí podokno Protokoly.
Vyberte Protokoly a zobrazí se editor dotazů protokolů. Editor obsahuje všechny protokoly přidružené k prostředku clusteru. Protokoly jste odeslali do pracovního prostoru služby Log Analytics, když jste povolili integraci. Tyto protokoly poskytují přístup na základě prostředků (RBAC). S RBAC můžou uživatelé, kteří mají přístup ke clusteru, ale ne k pracovnímu prostoru, zobrazit protokoly přidružené ke clusteru.
Následující snímky obrazovky ukazují starší zobrazení pracovního prostoru integrace a nové zobrazení pracovního prostoru integrace:
Zobrazení pracovního prostoru starší verze integrace (Azure Monitor Classic)
Nové zobrazení pracovního prostoru integrace (prostředí Azure Monitoru / Agent Azure Monitoru)
Použití nových tabulek
Výchozí dotazy pro použití s novými tabulkami
V editoru dotazů protokolů nastavte přepínač na Dotazy nad seznamem tabulek. Ujistěte se, že seskupíte dotazy podle typu prostředku a že pro jiný typ prostředku než clustery HDInsight neexistuje žádný filtr. Následující obrázek ukazuje, jak výsledky vypadají, když jsou seskupené podle typu prostředku a filtrované pro clustery HDInsight. Stačí ho vybrat a zobrazí se v editoru dotazů protokolů. Nezapomeňte si přečíst komentáře zahrnuté v dotazech, protože některé vyžadují, abyste zadali nějaké informace, například název clusteru, aby se dotaz úspěšně spustil.
Vytvoření vlastních dotazů
V editoru dotazů protokolů můžete zadat vlastní dotazy. Dotazy použité u starých tabulek nebudou u nových tabulek platné, protože mnoho nových tabulek obsahuje nová upřesňující schémata. Výchozí dotazy jsou skvělé odkazy na tvarování dotazů v nových tabulkách.
Přehledy
Přehledy jsou řídicí panely vizualizace specifické pro clustery vytvořené pomocí Azure Workbooks. Tyto řídicí panely poskytují podrobné grafy a vizualizace o tom, jak je cluster spuštěný. Řídicí panely mají oddíly pro každý typ clusteru, YARN, systémové metriky a protokoly komponent. K řídicímu panelu clusteru se dostanete tak, že přejdete na stránku clusteru na portálu, posunete se dolů do části Monitorování a vyberete podokno Přehledy. Řídicí panel se automaticky načte, pokud je povolená nová integrace. Počkejte několik sekund, než se grafy načtou při dotazování protokolů.
Vlastní sešity Azure
Vlastní sešity Azure můžete vytvářet s vlastními grafy a vizualizacemi. Na stránce portálu clusteru se posuňte dolů do části Monitorování a v nabídce vlevo vyberte podokno Sešity. Můžete buď začít používat prázdnou šablonu, nebo použít některou ze šablon v části Clustery HDInsight. Pro každý typ clusteru je šablona. Šablony jsou užitečné, pokud chcete uložit konkrétní vlastní nastavení, která výchozí přehledy HDInsight neposkytují. Pokud máte pocit, že něco chybí, můžete v přehledech HDInsight odesílat žádosti o nové funkce.
Výstrahy
Vlastní upozornění můžete přidat do clusterů a pracovních prostorů v editoru dotazů protokolu. Výběrem podokna Protokoly z clusteru nebo portálu pracovního prostoru přejděte do editoru dotazů protokolů. Spusťte dotaz a pak vyberte Nové pravidlo upozornění, jak je znázorněno na následujícím snímku obrazovky. Další informace najdete v tématu konfigurace výstrah.
Migrace na novou integraci agenta služby Azure Monitor
Pokud používáte klasickou integraci azure Monitoru, musíte po přepnutí na novou integraci služby Azure Monitor provést určité úpravy nových formátů tabulek.
Pokud chcete povolit novou integraci služby Azure Monitor, postupujte podle kroků uvedených v části Aktivace nové integrace agenta služby Azure Monitor.
Spouštění dotazů v Log Analytics
Vzhledem k tomu, že se nový formát tabulky liší od předchozího, je potřeba přepracovat dotazy, abyste mohli používat nové tabulky. Jakmile povolíte novou integraci služby Azure Monitor, můžete procházet tabulky a schémata a identifikovat pole, která se používají ve starých dotazech.
Poskytujeme tabulku mapování mezi starou tabulkou na novou tabulku, která vám pomůže rychle najít nová pole, která potřebujete použít k migraci řídicích panelů a dotazů.
Výchozí dotazy: Vytvořili jsme výchozí dotazy, které ukazují, jak používat nové tabulky pro běžné situace. Výchozí dotazy také ukazují, jaké informace jsou k dispozici v každé tabulce. K výchozím dotazům se dostanete podle pokynů v části Výchozí dotazy, které se použijí s novými tabulkami v tomto článku.
Aktualizace řídicích panelů pro clustery HDInsight
Pokud vytváříte několik řídicích panelů pro monitorování clusterů HDInsight, budete muset po povolení nové integrace služby Azure Monitor upravit dotaz za tabulkou. Název tabulky nebo název pole se může v nové integraci změnit, ale všechny informace, které máte ve staré integraci, jsou zahrnuté.
Informace o aktualizaci dotazu za řídicími panely najdete v tabulce mapování mezi starou tabulkou nebo schématem na novou tabulku nebo schéma.
Předefinované řídicí panely
Vylepšili jsme také předefinované řídicí panely na úrovni clusteru. V pravém horním rohu každého grafu je tlačítko, které umožňuje zobrazit podkladový dotaz, který tyto informace vytvoří. Graf představuje skvělý způsob, jak se seznámit s efektivním dotazem nových tabulek.
Časová osa vydávání verzí a podpory
Klasická integrace monitorování Azure není k dispozici po 15. říjnu 2021. Po tomto datu nemůžete povolit klasickou integraci monitorování Azure.
Klasický příjem integrace monitorování Azure po 31. srpnu 2024 nebude fungovat.
Clustery HDInsight s integrací služby Azure Monitor (Preview) nebudou podporovány za 1. února 2025.
Stávající integrace služby Azure Monitor (Preview) bude fungovat až do 31. ledna 2025. Integrace služby Azure Monitor (Preview) bude omezená.
Pokud řešení vyžaduje změnu image, zákazníci by se měli přesunout do nové integrace.
Microsoft nebude opravovat clustery integrace služby Azure Monitor (Preview) s výjimkou kritických problémů se zabezpečením.
Příloha: Mapování tabulek
Mapování tabulek protokolů z klasické integrace služby Azure Monitor do nové tabulky najdete v tématu Mapování tabulek protokolů.