Bereitstellen des Azure Monitor Application Insights-Agents auf virtuellen Azure-Computern und in Azure-VM-SkalierungsgruppenDeploy the Azure Monitor Application Insights Agent on Azure virtual machines and Azure virtual machine scale sets

Die Überwachung der .NET-basierten Webanwendungen auf virtuellen Azure-Computern und in Azure-VM-Skalierungsgruppen lässt sich jetzt einfacher denn je aktivieren.Enabling monitoring on your .NET based web applications running on Azure virtual machines and Azure virtual machine scale sets is now easier than ever. Profitieren Sie von allen Vorteilen der Verwendung von Application Insights, ohne den Code zu ändern.Get all the benefits of using Application Insights without modifying your code.

Dieser Artikel führt Sie Schritt für Schritt durch das Aktivieren der Application Insights-Überwachung mithilfe des Application Insights-Agents und bietet eine vorläufige Anleitung zur Automatisierung des Prozesses für umfangreiche Bereitstellungen.This article walks you through enabling Application Insights monitoring using the Application Insights Agent and provides preliminary guidance for automating the process for large-scale deployments.

Wichtig

Der Azure Application Insights-Agent für .NET befindet sich derzeit in der Public Preview.Azure Application Insights Agent for .NET is currently in public preview. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen.This preview version is provided without a service-level agreement, and we don't recommend it for production workloads. Einige Features werden möglicherweise nicht unterstützt oder bieten möglicherweise nur eingeschränkte Funktionen.Some features might not be supported, and some might have constrained capabilities. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Aktivieren von Application InsightsEnable Application Insights

Es gibt zwei Methoden, um die Überwachung von Anwendungen zu aktivieren, die auf virtuellen Azure-Computern und in Azure-VM-Skalierungsgruppen gehostet werden:There are two ways to enable application monitoring for Azure virtual machines and Azure virtual machine scale sets hosted applications:

  • Codefrei über Application Insights-AgentCodeless via Application Insights Agent

    • Diese Methode stellt die einfachste Möglichkeit der Aktivierung dar und erfordert keine erweiterte Konfiguration.This method is the easiest to enable, and no advanced configuration is required. Sie wird häufig als „Laufzeitüberwachung“ bezeichnet.It is often referred to as "runtime" monitoring.

    • Für virtuelle Azure-Computer und Azure-VM-Skalierungsgruppen wird empfohlen, mindestens diese Überwachungsstufe zu aktivieren.For Azure virtual machines and Azure virtual machine scale sets we recommend at a minimum enabling this level of monitoring. Danach können Sie basierend auf dem jeweiligen Szenario überprüfen, ob eine manuelle Instrumentierung erforderlich ist.After that, based on your specific scenario, you can evaluate whether manual instrumentation is needed.

    • Der Application Insights-Agent sammelt automatisch die gleichen Abhängigkeitssignale wie das .NET SDK.The Application Insights Agent auto-collects the same dependency signals out-of-the-box as the .NET SDK. Weitere Informationen finden Sie unter Automatisches Sammeln von Abhängigkeiten.See Dependency auto-collection to learn more.

      Hinweis

      Zurzeit werden nur IIS-gehostete .NET-Anwendungen unterstützt.Currently only .Net IIS-hosted applications are supported. Verwenden Sie ein SDK zum Instrumentieren von ASP.NET Core-, Java- und Node.js-Anwendungen, die auf virtuellen Azure-Computern und in VM-Skalierungsgruppen gehostet werden.Use an SDK to instrument ASP.NET Core, Java, and Node.js applications hosted on an Azure virtual machines and virtual machine scale sets.

  • Codebasiert über SDKCode-based via SDK

Hinweis

Wenn sowohl die Agent-basierte Überwachung als auch die manuelle SDK-basierte Instrumentierung erkannt wird, werden nur die Einstellungen der manuellen Instrumentierung berücksichtigt.If both agent based monitoring and manual SDK based instrumentation is detected only the manual instrumentation settings will be honored. Dadurch wird verhindert, dass doppelte Daten gesendet werden.This is to prevent duplicate data from being sent. Weitere Informationen dazu finden Sie im Abschnitt zur Problembehandlung weiter unten.To learn more about this check out the troubleshooting section below.

Verwalten des Application Insights-Agents für .NET-Anwendungen auf virtuellen Azure-Computern mithilfe von PowerShellManage Application Insights Agent for .NET applications on Azure virtual machines using PowerShell

Hinweis

Bevor Sie den Application Insights-Agent installieren, brauchen Sie einen Instrumentierungsschlüssel.Before installing the Application Insights Agent, you'll need an instrumentation key. Erstellen Sie eine neue Application Insights-Ressource, oder kopieren Sie den Instrumentierungsschlüssel aus einer vorhandenen Application Insights-Ressource.Create a new Application Insights Resource or copy the instrumentation key from an existing application insights resource.

Hinweis

Neu bei PowerShell?New to powershell? Sehen Sie sich den Leitfaden zu den ersten Schritten an.Check out the Get Started Guide.

Installieren oder Aktualisieren des Application Insights-Agents als Erweiterung für virtuelle Azure-ComputerInstall or update the Application Insights Agent as an extension for Azure virtual machines

$publicCfgJsonString = '
{
  "redfieldConfiguration": {
    "instrumentationKeyMap": {
      "filters": [
        {
          "appFilter": ".*",
          "machineFilter": ".*",
          "instrumentationSettings" : {
            "instrumentationKey": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          }
        }
      ]
    }
  }
}
';
$privateCfgJsonString = '{}';

Set-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Location "<myVmLocation>" -Name "ApplicationMonitoring" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -Version "2.8" -SettingString $publicCfgJsonString -ProtectedSettingString $privateCfgJsonString

Hinweis

Sie können den Application Insights-Agent mithilfe einer PowerShell-Schleife bedarfsorientiert als Erweiterung für mehrere virtuelle Computer installieren oder aktualisieren.You may install or update the Application Insights Agent as an extension across multiple Virtual Machines at-scale using a Powershell loop.

Deinstallieren der Application Insights-Agent-Erweiterung auf einem virtuellen Azure-ComputerUninstall Application Insights Agent extension from Azure virtual machine

Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"

Abfragen des Status der Application Insights-Agent-Erweiterung für einen virtuellen Azure-ComputerQuery Application Insights Agent extension status for Azure virtual machine

Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoring -Status

Abrufen der Liste der installierten Erweiterungen für einen virtuellen Azure-ComputerGet list of installed extensions for Azure virtual machine

Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"

# Name              : ApplicationMonitoring
# ResourceGroupName : <myVmResourceGroup>
# ResourceType      : Microsoft.Compute/virtualMachines/extensions
# Location          : southcentralus
# ResourceId        : /subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions/ApplicationMonitoring

Sie können installierte Erweiterungen auch auf dem Blatt für den virtuellen Azure-Computer im Portal anzeigen.You may also view installed extensions in the Azure virtual machine blade in the Portal.

Hinweis

Überprüfen Sie die Installation, indem Sie auf den Live Metrics Stream innerhalb der Application Insights-Ressource klicken, die dem Instrumentierungsschlüssel zugeordnet ist, den Sie zum Bereitstellen der Application Insights-Agent-Erweiterung verwendet haben.Verify installation by clicking on Live Metrics Stream within the Application Insights Resource associated with the instrumentation key you used to deploy the Application Insights Agent Extension. Wenn Sie Daten von mehreren virtuellen Computern senden, wählen Sie unter „Servername“ den virtuellen Azure-Zielcomputer aus.If you are sending data from multiple Virtual Machines, select the target Azure virtual machines under Server Name. Es kann bis zu einer Minute dauern, bis Daten fließen.It may take up to a minute for data to begin flowing.

Verwalten des Application Insights-Agents für .NET-Anwendungen in Azure-VM-Skalierungsgruppen mithilfe von PowerShellManage Application Insights Agent for .NET applications on Azure virtual machine scale sets using powershell

Installieren oder Aktualisieren des Application Insights-Agents als Erweiterung für Azure-VM-SkalierungsgruppenInstall or update the Application Insights Agent as an extension for Azure virtual machine scale set

$publicCfgHashtable =
@{
  "redfieldConfiguration"= @{
    "instrumentationKeyMap"= @{
      "filters"= @(
        @{
          "appFilter"= ".*";
          "machineFilter"= ".*";
          "instrumentationSettings"= @{
            "instrumentationKey"= "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; # Application Insights Instrumentation Key, create new Application Insights resource if you don't have one. https://ms.portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents
          }
        }
      )
    }
  }
};
$privateCfgHashtable = @{};

$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"

Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoring" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -TypeHandlerVersion "2.8" -Setting $publicCfgHashtable -ProtectedSetting $privateCfgHashtable

Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss.Name -VirtualMachineScaleSet $vmss

# Note: depending on your update policy, you might need to run Update-AzVmssInstance for each instance

Deinstallieren der Erweiterung zur Anwendungsüberwachung in Azure-VM-SkalierungsgruppenUninstall application monitoring extension from Azure virtual machine scale sets

$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"

Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoring"

Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss.Name -VirtualMachineScaleSet $vmss

# Note: depending on your update policy, you might need to run Update-AzVmssInstance for each instance

Abfragen des Status der Erweiterung zur Anwendungsüberwachung für Azure-VM-SkalierungsgruppenQuery application monitoring extension status for Azure virtual machine scale sets

# Not supported by extensions framework

Abrufen der Liste der installierten Erweiterungen für Azure-VM-SkalierungsgruppenGet list of installed extensions for Azure virtual machine scale sets

Get-AzResource -ResourceId /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions

# Name              : ApplicationMonitoringWindows
# ResourceGroupName : <myResourceGroup>
# ResourceType      : Microsoft.Compute/virtualMachineScaleSets/extensions
# Location          :
# ResourceId        : /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions/ApplicationMonitoringWindows

ProblembehandlungTroubleshooting

Hier finden Sie Tipps zur Problembehandlung für die Application Insights Monitoring-Agent-Erweiterung für .NET-Anwendungen, die auf virtuellen Azure-Computern und in VM-Skalierungsgruppen ausgeführt wird.Find troubleshooting tips for Application Insights Monitoring Agent Extension for .NET applications running on Azure virtual machines and virtual machine scale sets.

Hinweis

.NET Core-, Java- und Node.js-Anwendungen werden auf virtuellen Azure-Computern und in Azure-VM-Skalierungsgruppen nur über die manuelle SDK-basierte Instrumentierung unterstützt. Daher gelten die folgenden Schritte nicht für diese Szenarien..NET Core, Java, and Node.js applications are only supported on Azure virtual machines and Azure virtual machine scale sets via manual SDK based instrumentation and therefore the steps below do not apply to these scenarios.

Die Ausgabe der Erweiterungsausführung wird in Dateien in folgenden Verzeichnissen protokolliert:Extension execution output is logged to files found in the following directories:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

Nächste SchritteNext steps