Usługa Application Insights dla maszyn wirtualnych platformy Azure i zestawów skalowania maszyn wirtualnych
Włączanie monitorowania dla ASP.NET i ASP.NET Core aplikacji hostowanych przez usługi IIS działających na maszynach wirtualnych platformy Azure lub w usłudze Azure Virtual Machine Scale Sets jest teraz łatwiejsze niż kiedykolwiek wcześniej. Uzyskaj wszystkie korzyści wynikające z korzystania z usługi Application Insights bez modyfikowania kodu.
Ten artykuł przeprowadzi Cię przez proces włączania monitorowania usługi Application Insights przy użyciu agenta usługi Application Insights. Zawiera również wstępne wskazówki dotyczące automatyzowania procesu wdrożeń na dużą skalę.
Włącz usługę Application Insights
Autoinstrumentacja jest łatwa do włączenia. Konfiguracja zaawansowana nie jest wymagana.
Aby uzyskać pełną listę obsługiwanych scenariuszy automatycznegoinstrumentacji, zobacz Obsługiwane środowiska, języki i dostawcy zasobów.
Uwaga
Funkcja autoinstrumentacji jest dostępna dla ASP.NET, ASP.NET Core aplikacji hostowanych przez usługi IIS i języka Java. Używanie zestawu SDK do instrumentowania aplikacji Node.js i Python hostowanych na maszynach wirtualnych platformy Azure i zestawach skalowania maszyn wirtualnych.
Agent usługi Application Insights automatycznie generuje te same sygnały zależności, co zestaw SDK. Aby dowiedzieć się więcej, zobacz Autocollection Dependency (Automatyczne zbieranie zależności).
Przed zainstalowaniem rozszerzenia agenta usługi Application Insights będzie potrzebny parametry połączenia. Utwórz nowy zasób usługi Application Insights lub skopiuj parametry połączenia z istniejącego zasobu usługi Application Insights.
Włączanie monitorowania maszyn wirtualnych
Aby włączyć monitorowanie maszyn wirtualnych, możesz użyć witryny Azure Portal lub programu PowerShell.
Azure Portal
W witrynie Azure Portal przejdź do zasobu usługi Application Insights. Skopiuj parametry połączenia do schowka.
Przejdź do maszyny wirtualnej. W sekcji Ustawienia w menu po lewej stronie wybierz pozycję Rozszerzenia i aplikacje>Dodaj.
Wybierz pozycję Agent>usługi Application Insights Dalej.
Wklej parametry połączenia skopiowane w kroku 1 i wybierz pozycję Przejrzyj i utwórz.
PowerShell
Uwaga
Czy dopiero zaczynasz korzystać z programu PowerShell? Zapoznaj się z przewodnikiem Wprowadzenie.
Zainstaluj lub zaktualizuj agenta usługi Application Insights jako rozszerzenie dla maszyn wirtualnych platformy Azure:
# define variables to match your environment before running
$ResourceGroup = "<myVmResourceGroup>"
$VMName = "<myVmName>"
$Location = "<myVmLocation>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"
$publicCfgJsonString = @"
{
"redfieldConfiguration": {
"instrumentationKeyMap": {
"filters": [
{
"appFilter": ".*",
"machineFilter": ".*",
"virtualPathFilter": ".*",
"instrumentationSettings" : {
"connectionString": "$ConnectionString"
}
}
]
}
}
}
"@
$privateCfgJsonString = '{}'
Set-AzVMExtension -ResourceGroupName $ResourceGroup -VMName $VMName -Location $Location -Name "ApplicationMonitoringWindows" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -Version "2.8" -SettingString $publicCfgJsonString -ProtectedSettingString $privateCfgJsonString
Uwaga
W przypadku bardziej skomplikowanych wdrożeń na dużą skalę można użyć pętli programu PowerShell do zainstalowania lub zaktualizowania rozszerzenia agenta usługi Application Insights na wielu maszynach wirtualnych.
Wykonaj zapytanie dotyczące stanu rozszerzenia agenta usługi Application Insights dla maszyn wirtualnych platformy Azure:
Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoringWindows -Status
Pobierz listę zainstalowanych rozszerzeń dla maszyn wirtualnych platformy Azure:
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"
Odinstaluj rozszerzenie agenta usługi Application Insights z maszyn wirtualnych platformy Azure:
Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"
Uwaga
Zweryfikuj instalację, wybierając pozycję Strumień metryk na żywo w zasobie usługi Application Insights skojarzonym z parametry połączenia użytym do wdrożenia rozszerzenia agenta usługi Application Insights. Jeśli wysyłasz dane z wielu maszyn wirtualnych, wybierz docelową maszynę wirtualną platformy Azure w obszarze Nazwa serwera. Rozpoczęcie przepływu danych może potrwać do minuty.
Włączanie monitorowania dla zestawów skalowania maszyn wirtualnych
Aby włączyć monitorowanie zestawów skalowania maszyn wirtualnych, można użyć witryny Azure Portal lub programu PowerShell.
Azure Portal
Wykonaj poprzednie kroki dla maszyn wirtualnych, ale przejdź do zestawów skalowania maszyn wirtualnych zamiast maszyny wirtualnej.
PowerShell
Zainstaluj lub zaktualizuj agenta usługi Application Insights jako rozszerzenie dla zestawów skalowania maszyn wirtualnych:
# Set resource group, vmss name, and connection string to reflect your environment
$ResourceGroup = "<myVmResourceGroup>"
$VMSSName = "<myVmName>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"
$publicCfgHashtable =
@{
"redfieldConfiguration"= @{
"instrumentationKeyMap"= @{
"filters"= @(
@{
"appFilter"= ".*";
"machineFilter"= ".*";
"virtualPathFilter"= ".*";
"instrumentationSettings" = @{
"connectionString"= "$ConnectionString"
}
}
)
}
}
};
$privateCfgHashtable = @{};
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroup -VMScaleSetName $VMSSName
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
# Note: Depending on your update policy, you might need to run Update-AzVmssInstance for each instance
Pobierz listę zainstalowanych rozszerzeń dla zestawów skalowania maszyn wirtualnych:
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions"
Odinstaluj rozszerzenie monitorowania aplikacji z zestawów skalowania maszyn wirtualnych:
# set resource group and vmss name to reflect your environment
$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"
Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows"
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
Rozwiązywanie problemów
Znajdź porady dotyczące rozwiązywania problemów z rozszerzeniem agenta monitorowania usługi Application Insights dla aplikacji platformy .NET uruchomionych na maszynach wirtualnych platformy Azure i zestawach skalowania maszyn wirtualnych.
Jeśli masz problemy z wdrożeniem rozszerzenia, przejrzyj dane wyjściowe wykonywania zarejestrowane w plikach znajdujących się w następujących katalogach:
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\
Jeśli rozszerzenie zostało wdrożone pomyślnie, ale nie widzisz telemetrii, może to być jeden z następujących problemów opisanych w temacie Rozwiązywanie problemów z agentem:
- Konflikt bibliotek DLL w katalogu bin aplikacji
- Konflikt z konfiguracją udostępnioną usług IIS
Testowanie łączności między hostem aplikacji a usługą pozyskiwania
Zestawy SDK usługi Application Insights i agenci wysyłają dane telemetryczne, aby uzyskać pozyskane jako wywołania REST do naszych punktów końcowych pozyskiwania. Możesz przetestować łączność z serwera internetowego lub maszyny hosta aplikacji do punktów końcowych usługi pozyskiwania przy użyciu pierwotnych klientów REST z poziomu programu PowerShell lub poleceń curl. Zobacz Rozwiązywanie problemów z brakującą telemetrią aplikacji w usłudze Azure Monitor Application Insights.
Informacje o wersji
2.8.44
- Zaktualizowano zestaw .NET/.NET Core SDK usługi Application Insights do wersji 2.20.1 — czerwone pole.
- Włączono zbieranie zapytań SQL.
- Włączona obsługa uwierzytelniania entra firmy Microsoft.
2.8.42
Zaktualizowano zestaw .NET/.NET Core SDK usługi Application Insights do wersji 2.18.1 — czerwone pole.
2.8.41
Dodano funkcję automatycznegoinstrumentacji ASP.NET Core.
Następne kroki
- Dowiedz się, jak wdrożyć aplikację w zestawie skalowania maszyn wirtualnych platformy Azure.
- Omówienie dostępności