Application Insights-agent implementeren op virtuele machines en virtuele-machineschaalsets

Het inschakelen van bewaking voor uw .NET- of Java-webtoepassingen die worden uitgevoerd op Azure Virtual Machines en Azure Virtual Machine Scale Sets is nu eenvoudiger dan ooit. Profiteer van alle voordelen van het gebruik van Application Insights zonder uw code te wijzigen.

In dit artikel wordt uitgelegd hoe u Application Insights-bewaking inschakelt met behulp van application insights-agent. Het biedt ook voorlopige richtlijnen voor het automatiseren van het proces voor grootschalige implementaties.

Java-toepassingen die worden uitgevoerd op Azure Virtual Machines en Azure Virtual Machine Scale Sets worden bewaakt met de Application Insights Java 3.0-agent, die algemeen beschikbaar is.

Belangrijk

Application Insights-agent voor ASP.NET- en ASP.NET Core-toepassingen die worden uitgevoerd in Azure Virtual Machines en Azure Virtual Machine Scale Sets is momenteel in openbare preview. Voor het bewaken van uw ASP.NET toepassingen die on-premises worden uitgevoerd, gebruikt u Application Insights Agent voor on-premises servers. Dit is algemeen beschikbaar en wordt volledig ondersteund.

De preview-versie voor Azure Virtual Machines en Azure Virtual Machine Scale Sets wordt geleverd zonder serviceovereenkomst. Dit wordt niet aanbevolen voor productieworkloads. Sommige functies worden mogelijk niet ondersteund en sommige hebben beperkte mogelijkheden.

Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Application Insights inschakelen

Automatische instrumentatie is eenvoudig in te schakelen. Geavanceerde configuratie is niet vereist.

Zie Ondersteunde omgevingen, talen en resourceproviders voor een volledige lijst met ondersteunde scenario's voor automatische instrumentatie.

Notitie

Automatische instrumentatie is beschikbaar voor ASP.NET, ASP.NET Core door IIS gehoste toepassingen en Java. Gebruik een SDK voor het instrumentatie van Node.js- en Python-toepassingen die worden gehost op Azure Virtual Machines en Azure Virtual Machine Scale Sets.

Met de Application Insights-agent worden dezelfde afhankelijkheidssignalen standaard opgehaald als de SDK. Zie Automatisch verzamelen van afhankelijkheden voor meer informatie.

Application Insights-agent voor .NET-toepassingen op virtuele machines beheren met behulp van PowerShell

Voordat u Application Insights Agent installeert, hebt u een connection string nodig. Maak een nieuwe Application Insights-resource of kopieer de connection string van een bestaande Application Insights-resource.

Notitie

Als PowerShell nieuw voor u is, raadpleegt u de Handleiding Aan de slag.

Application Insights-agent installeren of bijwerken als extensie voor virtuele machines:

$publicCfgJsonString = '
{
  "redfieldConfiguration": {
    "instrumentationKeyMap": {
      "filters": [
        {
          "appFilter": ".*",
          "machineFilter": ".*",
          "virtualPathFilter": ".*",
          "instrumentationSettings" : {
            "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/" # Application Insights connection string, create new Application Insights resource if you don't have one. https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents
          }
        }
      ]
    }
  }
}
';
$privateCfgJsonString = '{}';

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

Notitie

U kunt Application Insights-agent installeren of bijwerken als extensie voor meerdere virtuele machines op schaal met behulp van een PowerShell-lus.

Verwijder de Application Insights-agentextensie van een virtuele machine:

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

Status van application insights-agentextensie voor een virtuele machine opvragen:

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

Een lijst met geïnstalleerde extensies voor een virtuele machine ophalen:

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

U kunt geïnstalleerde extensies ook weergeven in de sectie Azure Virtual Machine van de Azure Portal.

Notitie

Controleer de installatie door Live Metrics Stream te selecteren in de Application Insights-resource die is gekoppeld aan de connection string die u hebt gebruikt om de Application Insights-agentextensie te implementeren. Als u gegevens van meerdere virtuele machines verzendt, selecteert u de virtuele doelmachines onder Servernaam. Het kan tot een minuut duren voordat gegevens beginnen te stromen.

Application Insights-agent voor .NET-toepassingen op virtuele-machineschaalsets beheren met behulp van PowerShell

Application Insights-agent installeren of bijwerken als extensie voor een virtuele-machineschaalset:

$publicCfgHashtable =
@{
  "redfieldConfiguration"= @{
    "instrumentationKeyMap"= @{
      "filters"= @(
        @{
          "appFilter"= ".*";
          "machineFilter"= ".*";
          "virtualPathFilter"= ".*";
          "instrumentationSettings" = @{
            "connectionString"= "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/" # Application Insights connection string, create new Application Insights resource if you don't have one. https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents
          }
        }
      )
    }
  }
};
$privateCfgHashtable = @{};

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

Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows" -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.

Verwijder de extensie voor toepassingsbewaking uit virtuele-machineschaalsets:

$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.

Voer een query uit voor de status van de toepassingsbewakingsextensie voor virtuele-machineschaalsets:

# Not supported by extensions framework

Een lijst met geïnstalleerde extensies voor virtuele-machineschaalsets ophalen:

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

Problemen oplossen

Vind tips voor probleemoplossing voor de Application Insights Monitoring Agent-extensie voor .NET-toepassingen die worden uitgevoerd op virtuele Azure-machines en virtuele-machineschaalsets.

Notitie

De volgende stappen zijn niet van toepassing op Node.js- en Python-toepassingen, waarvoor SDK-instrumentatie is vereist.

Uitvoer van extensieuitvoering wordt vastgelegd in bestanden in de volgende mappen:

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

Connectiviteit testen tussen uw toepassingshost en de opnameservice

Application Insights SDK's en agents verzenden telemetrie om opgenomen te worden als REST-aanroepen naar onze opname-eindpunten. U kunt de connectiviteit van uw webserver of toepassingshostcomputer met de opnameservice-eindpunten testen met behulp van onbewerkte REST-clients van PowerShell of curl-opdrachten. Zie Problemen met ontbrekende toepassingstelemetrie in Azure Monitor Application Insights oplossen.

Opmerkingen bij de release

2.8.44

  • Application Insights .NET/.NET Core SDK bijgewerkt naar 2.20.1 - rood veld
  • Sql-queryverzameling ingeschakeld
  • Ondersteuning ingeschakeld voor Azure Active Directory-verificatie

2.8.42

Application Insights .NET/.NET Core SDK bijgewerkt naar 2.18.1 - rood veld

2.8.41

Functie voor automatische instrumentatie van ASP.NET Core toegevoegd

Volgende stappen