Udostępnij za pośrednictwem


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

  1. W witrynie Azure Portal przejdź do zasobu usługi Application Insights. 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ę Agent>usługi Application Insights 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 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