Szczegółowe informacje aplikacji 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 używania Szczegółowe informacje aplikacji bez modyfikowania kodu.

Ten artykuł przeprowadzi Cię przez proces włączania monitorowania Szczegółowe informacje aplikacji przy użyciu agenta usługi Application Szczegółowe informacje. 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 aplikacji Szczegółowe informacje 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 Szczegółowe informacje będzie potrzebny parametry połączenia. Utwórz nowy zasób Szczegółowe informacje aplikacji lub skopiuj parametry połączenia z istniejącego zasobu usługi Application Szczegółowe informacje.

Włączanie monitorowania maszyn wirtualnych

Aby włączyć monitorowanie maszyn wirtualnych, możesz użyć witryny Azure Portal lub programu PowerShell.

Azure Portal

  1. W witrynie Azure Portal przejdź do zasobu Szczegółowe informacje aplikacji. Skopiuj parametry połączenia do schowka.

    Zrzut ekranu przedstawiający parametry połączenia.

  2. Przejdź do maszyny wirtualnej. W sekcji Ustawienia w menu po lewej stronie wybierz pozycję Rozszerzenia i aplikacje>Dodaj.

    Zrzut ekranu przedstawiający okienko Rozszerzenia i aplikacje z przyciskiem Dodaj.

  3. Wybierz pozycję Aplikacja Szczegółowe informacje Agent>dalej.

    Zrzut ekranu przedstawiający okienko Zainstaluj rozszerzenie za pomocą przycisku Dalej.

  4. Wklej parametry połączenia skopiowane w kroku 1 i wybierz pozycję Przejrzyj i utwórz.

    Zrzut ekranu przedstawiający kartę Tworzenie z przyciskiem Przeglądanie i tworzenie.

PowerShell

Uwaga

Czy dopiero zaczynasz korzystać z programu PowerShell? Zapoznaj się z przewodnikiem Wprowadzenie.

Zainstaluj lub zaktualizuj agenta usługi Application Szczegółowe informacje 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 Szczegółowe informacje na wielu maszynach wirtualnych.

Wykonaj zapytanie dotyczące stanu rozszerzenia agenta Szczegółowe informacje aplikacji 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 Szczegółowe informacje aplikacji z maszyn wirtualnych platformy Azure:

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

Uwaga

Zweryfikuj instalację, wybierając pozycję Strumień metryk na żywo w ramach zasobu application Szczegółowe informacje skojarzonego z parametry połączenia, który został użyty do wdrożenia rozszerzenia agenta usługi Application Szczegółowe informacje. 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 Szczegółowe informacje aplikacji 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 Szczegółowe informacje dla aplikacji platformy .NET działających 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 Szczegółowe informacje aplikacji 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 Szczegółowe informacje.

Informacje o wersji

2.8.44

  • Zaktualizowano Szczegółowe informacje aplikacji .NET/.NET Core SDK do wersji 2.20.1 — czerwone pole.
  • Włączono zbieranie zapytań SQL.
  • Włączona obsługa uwierzytelniania entra firmy Microsoft.

2.8.42

Zaktualizowano Szczegółowe informacje aplikacji .NET/.NET Core SDK do wersji 2.18.1 — czerwone pole.

2.8.41

Dodano funkcję automatycznegoinstrumentacji ASP.NET Core.

Następne kroki