Udostępnij za pośrednictwem


Korzystanie z agenta wewnątrzprocesowego Java usługi Application Insights w usłudze Azure Spring Apps

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

W przypadku aplikacji Spring Boot Native Image użyj projektu aplikacji Java obrazu natywnego usługi Azure Monitor OpenTelemetry / Application Insights zamiast agenta Java usługi Application Insights.

Ten artykuł dotyczy: ✔️ Użycie standardowe i dedykowane (wersja zapoznawcza) ✔️ w warstwie Podstawowa/Standardowa ✔️ Enterprise

W tym artykule wyjaśniono, jak monitorować aplikacje przy użyciu agenta Java usługi Application Insights w usłudze Azure Spring Apps.

Za pomocą tej funkcji można wykonywać następujące czynności:

  • Wyszukiwanie danych śledzenia przy użyciu różnych filtrów.
  • Wyświetlanie mapy zależności aplikacji Spring.
  • Sprawdź wydajność żądania.
  • Monitorowanie metryk na żywo w czasie rzeczywistym.
  • Sprawdź błędy żądań.
  • Sprawdź metryki aplikacji.
  • Sprawdź dzienniki aplikacji.

Usługa Application Insights może zapewnić wiele zauważalnych perspektyw, w tym:

  • Mapa aplikacji
  • Wydajność
  • Błędy
  • Metryki
  • Metryki na żywo
  • Dostępność
  • Dzienniki

Korzystanie z funkcji usługi Application Insights

Po włączeniu funkcji usługi Application Insights można wykonywać następujące czynności:

  • W okienku nawigacji wybierz pozycję Application Insights , aby wyświetlić stronę Przegląd usługi Application Insights. Na stronie Przegląd przedstawiono przegląd wszystkich uruchomionych aplikacji.

  • Wybierz pozycję Mapa aplikacji, aby wyświetlić stan wywołań między aplikacjami.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę mapy aplikacji usługi Application Insights.

  • Wybierz link między usługą klientów i petclinic aby wyświetlić więcej szczegółów, takich jak zapytanie z bazy danych SQL.

  • Wybierz punkt końcowy, aby wyświetlić wszystkie aplikacje wysyłające żądania do punktu końcowego.

  • W okienku nawigacji wybierz pozycję Wydajność , aby wyświetlić dane wydajności wszystkich aplikacji, zależności i ról.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Wydajności usługi Application Insights.

  • W okienku nawigacji wybierz pozycję Błędy, aby zobaczyć nieoczekiwane błędy lub wyjątki z aplikacji.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Błędy usługi Application Insights.

  • W okienku nawigacji wybierz pozycję Metryki i wybierz przestrzeń nazw, aby wyświetlić metryki platformy Spring Boot i metryki niestandardowe, jeśli istnieją.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryki usługi Application Insights.

  • W okienku nawigacji wybierz pozycję Metryki na żywo, aby wyświetlić metryki w czasie rzeczywistym dla różnych wymiarów.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryk na żywo usługi Application Insights.

  • W okienku nawigacji wybierz pozycję Dostępność , aby monitorować dostępność i czas odpowiedzi aplikacji internetowych, tworząc testy dostępności w usłudze Application Insights.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Dostępności usługi Application Insights.

  • W okienku nawigacji wybierz pozycję Dzienniki , aby wyświetlić dzienniki wszystkich aplikacji lub dzienniki jednej aplikacji podczas filtrowania według cloud_RoleName.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Dzienniki usługi Application Insights.

Zarządzanie usługą Application Insights przy użyciu witryny Azure Portal

Włącz agenta przetwarzania w języku Java, korzystając z poniższej procedury.

  1. Przejdź do usługi | Strona Przegląd wystąpienia usługi, a następnie wybierz pozycję Application Insights w sekcji Monitorowanie .

  2. Wybierz pozycję Włącz usługę Application Insights, aby włączyć usługę Application Insights w usłudze Azure Spring Apps.

  3. Wybierz istniejące wystąpienie usługi Application Insights lub utwórz nowe.

  4. Po włączeniu usługi Application Insights można skonfigurować jedną opcjonalną częstotliwość próbkowania (domyślnie 10,0%).

    Zrzut ekranu witryny Azure Portal przedstawiający stronę usługi Application Insights dla usługi Azure Spring Apps z wyróżnionym polem wyboru Włącz usługę Application Insights.

  5. Wybierz przycisk Zapisz, aby zapisać zmiany.

Uwaga

Nie używaj tego samego wystąpienia usługi Application Insights w różnych wystąpieniach usługi Azure Spring Apps ani nie wyświetlaj mieszanych danych.

Za pomocą portalu możesz sprawdzić lub zaktualizować bieżące ustawienia w usłudze Application Insights.

Włączanie usługi Application Insights przy użyciu witryny Azure Portal

  1. Wybierz pozycję Application Insights.

  2. Włącz usługę Application Insights, wybierając pozycję Edytuj powiązanie lub hiperlink Unbound .

    Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi Azure Spring Apps ze stroną usługi Application Insights i opcją

  3. Edytuj usługę Application Insights lub częstotliwość próbkowania, a następnie wybierz pozycję Zapisz.

Wyłączanie usługi Application Insights

  1. Wybierz pozycję Application Insights.

  2. Wybierz pozycję Usuń powiązanie , aby wyłączyć usługę Application Insights.

    Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi Azure Spring Apps ze stroną usługi Application Insights i opcją Usuń powiązanie.

Zmienianie ustawień usługi Application Insights

Wybierz nazwę w kolumnie Application Insights , aby otworzyć sekcję Application Insights.

Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi Azure Spring Apps ze stroną usługi Application Insights.

Edytowanie powiązań pakietu kompilacji usługi Application Insights w usłudze Build Service

Aby sprawdzić i zaktualizować bieżące ustawienia powiązań pakietu kompilacji usługi Application Insights w usłudze Build Service, wykonaj następujące kroki:

  1. Wybierz pozycję Skompiluj usługę.
  2. Wybierz konstruktora.
  3. Wybierz pozycję Edytuj w kolumnie Powiązania.

Ustawienia usługi Application Insights znajdują się w elemencie ApplicationInsights wymienionym w kolumnie Typ powiązania.

  1. Wybierz hiperłącze Powiązane lub wybierz pozycję Edytuj powiązanie w wielokropku, aby otworzyć i edytować powiązania pakietu kompilacji usługi Application Insights.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Edytowanie powiązań dla domyślnego okienka konstruktora.

  2. Edytuj ustawienia powiązania, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Edytowanie powiązania.

Zarządzanie usługą Application Insights przy użyciu interfejsu wiersza polecenia platformy Azure

Usługę Application Insights można zarządzać przy użyciu poleceń interfejsu wiersza polecenia platformy Azure. W poniższych poleceniach pamiętaj, aby zastąpić <tekst zastępczy> wartościami opisanymi. Symbol <zastępczy service-instance-name> odwołuje się do nazwy wystąpienia usługi Azure Spring Apps.

Włącz usługę Application Insights

Aby skonfigurować usługę Application Insights podczas tworzenia wystąpienia usługi Azure Spring Apps, użyj następującego polecenia. Dla argumentu app-insights można określić nazwę usługi Application Insights lub identyfikator zasobu.

az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

Możesz również użyć parametry połączenia usługi Application Insights (preferowanego) lub klucza instrumentacji, jak pokazano w poniższym przykładzie.

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

Wyłączanie usługi Application Insights

Aby wyłączyć usługę Application Insights podczas tworzenia wystąpienia usługi Azure Spring Apps, użyj następującego polecenia:

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights \
    --sku Enterprise

Sprawdzanie ustawień usługi Application Insights

Aby sprawdzić ustawienia usługi Application Insights istniejącego wystąpienia usługi Azure Spring Apps, użyj następującego polecenia:

az spring app-insights show \
    --resource-group <resource-group-name> \
    --name <service-instance-name>

Aktualizowanie usługi Application Insights

Aby zaktualizować usługę Application Insights do używania klucza parametry połączenia (preferowanego) lub instrumentacji, użyj następującego polecenia:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>

Aby zaktualizować usługę Application Insights w celu użycia nazwy zasobu lub identyfikatora, użyj następującego polecenia:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>

Wyłączanie usługi Application Insights za pomocą polecenia update

Aby wyłączyć usługę Application Insights w istniejącym wystąpieniu usługi Azure Spring Apps, użyj następującego polecenia:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable

Zarządzanie powiązaniami pakietu kompilacji usługi Application Insights

Ta sekcja dotyczy tylko planu Enterprise i zawiera instrukcje uzupełniające poprzednią sekcję.

Plan usługi Azure Spring Apps Enterprise używa powiązań pakietu buildpack w celu zintegrowania usługi aplikacja systemu Azure Insights z typem ApplicationInsights. Aby uzyskać więcej informacji, zobacz How to configure APM integration and CA certificates (Jak skonfigurować integrację aPM i certyfikaty urzędu certyfikacji).

Aby utworzyć powiązanie pakietu kompilacji usługi Application Insights, użyj następującego polecenia:

az spring build-service builder buildpack-binding create \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Aby wyświetlić listę wszystkich powiązań pakietu buildpack i znaleźć powiązania usługi Application Insights typu ApplicationInsights, użyj następującego polecenia:

az spring build-service builder buildpack-binding list \
    --resource-group <your-resource-group-name> \
    --service <your-service-resource-name> \
    --builder-name <your-builder-name>

Aby zastąpić powiązanie pakietu kompilacji usługi Application Insights, użyj następującego polecenia:

az spring build-service builder buildpack-binding set \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Aby uzyskać powiązanie pakietu kompilacji usługi Application Insights, użyj następującego polecenia:

az spring build-service builder buildpack-binding show \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Aby usunąć powiązanie pakietu kompilacji usługi Application Insights, użyj następującego polecenia:

az spring build-service builder buildpack-binding delete \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Automation

W poniższych sekcjach opisano, jak zautomatyzować wdrożenie przy użyciu szablonów Bicep, Azure Resource Manager (szablonów usługi ARM) lub narzędzia Terraform.

Bicep

Aby wdrożyć przy użyciu pliku Bicep, skopiuj następującą zawartość do pliku main.bicep . Aby uzyskać więcej informacji, zobacz Microsoft.AppPlatform Spring/monitoringSettings.

param springName string
param location string = resourceGroup().location

resource spring 'Microsoft.AppPlatform/Spring@2020-07-01' = {
  name: springName
  location: location
  properties: {}
}

resource monitorSetting 'Microsoft.AppPlatform/Spring/monitoringSettings@2020-11-01-preview' = {
  parent: spring
  name: 'default'
  properties: {
    appInsightsInstrumentationKey: '00000000-0000-0000-0000-000000000000'
    appInsightsSamplingRate: 88
  }
}

Szablony usługi ARM

Aby wdrożyć przy użyciu szablonu usługi ARM, skopiuj następującą zawartość do pliku azuredeploy.json . Aby uzyskać więcej informacji, zobacz Microsoft.AppPlatform Spring/monitoringSettings.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "springName": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.AppPlatform/Spring",
      "apiVersion": "2020-07-01",
      "name": "[parameters('springName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
      "apiVersion": "2020-11-01-preview",
      "name": "[format('{0}/{1}', parameters('springName'), 'default')]",
      "properties": {
        "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
        "appInsightsSamplingRate": 88
      },
      "dependsOn": [
        "[resourceId('Microsoft.AppPlatform/Spring', parameters('springName'))]"
      ]
    }
  ]
}

Terraform

W przypadku wdrożenia programu Terraform użyj następującego szablonu. Aby uzyskać więcej informacji, zobacz azurerm_spring_cloud_service.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_application_insights" "example" {
  name                = "tf-test-appinsights"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  application_type    = "web"
}

resource "azurerm_spring_cloud_service" "example" {
  name                = "example-springcloud"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku_name            = "S0"

  config_server_git_setting {
    uri          = "https://github.com/Azure-Samples/piggymetrics"
    label        = "config"
    search_paths = ["dir1", "dir2"]
  }

  trace {
    connection_string = azurerm_application_insights.example.connection_string
    sample_rate       = 10.0
  }

  tags = {
    Env = "staging"
  }
}

Automatyzacja w planie Enterprise oczekuje na pomoc techniczną. Dokumentacja jest dodawana natychmiast po udostępniu.

Aktualizacja/uaktualnianie agenta Języka Java

Agent Języka Java jest regularnie aktualizowany/uaktualniany przy użyciu zestawu JDK, co może mieć wpływ na następujące scenariusze.

Uwaga

Wersja zestawu JDK jest aktualizowana/uaktualniana kwartalnie na rok.

  • Nie ma to wpływu na istniejące aplikacje korzystające z agenta Java przed aktualizacją/uaktualnieniem.
  • Aplikacje utworzone po zaktualizowaniu/uaktualnieniu używają nowej wersji agenta Java.
  • Istniejące aplikacje, które wcześniej nie korzystały z agenta Java, wymagają ponownego uruchomienia lub ponownego wdrożenia, aby użyć nowej wersji agenta Języka Java.

Agent Języka Java jest aktualizowany/uaktualniany po zaktualizowaniu pakietu buildpack.

Konfiguracja agenta Java — ładowanie na gorąco

Usługa Azure Spring Apps ma mechanizm ładowania gorącego w celu dostosowania ustawień konfiguracji agenta bez ponownego uruchamiania aplikacji.

Uwaga

Mechanizm ładowania gorącego ma opóźnienie w minutach.

  • Jeśli agent Języka Java jest już włączony, zmiany w wystąpieniu usługi Application Insights lub SamplingRate wartości nie wymagają ponownego uruchomienia aplikacji.

  • Jeśli włączysz agenta Java, musisz ponownie uruchomić aplikacje.

  • Po wyłączeniu agenta Java aplikacje przestają wysyłać wszystkie dane monitorowania po upływie kilku minut. Możesz ponownie uruchomić aplikacje, aby usunąć agenta ze środowiska uruchomieniowego Java.

Dopasowywanie koncepcji między usługą Azure Spring Apps i usługą Application Insights

Azure Spring Apps Szczegółowe dane dotyczące aplikacji
App * Mapa/rola aplikacji
* Metryki/rola na żywo
* Błędy/role/rola w chmurze
* Wydajność/role/może być rolą
App Instance * Mapa aplikacji/wystąpienie roli
* Metryki na żywo/nazwa usługi
* Błędy/role/wystąpienie chmury
* Wydajność/Role/Może wystąpić

Nazwa App Instance usługi Azure Spring Apps została zmieniona lub wygenerowana w następujących scenariuszach:

  • Tworzysz nową aplikację.
  • Plik JAR lub kod źródłowy można wdrożyć w istniejącej aplikacji.
  • Zainicjowanie wdrożenia niebieskiego/zielonego.
  • Uruchom ponownie aplikację.
  • Zatrzymasz wdrażanie aplikacji, a następnie uruchom ją ponownie.

Gdy dane są przechowywane w usłudze Application Insights, zawierają historię wystąpień aplikacji usługi Azure Spring Apps utworzonych lub wdrożonych od momentu włączenia agenta Java. Na przykład w portalu usługi Application Insights możesz zobaczyć dane aplikacji utworzone wczoraj, ale następnie usunięte w określonym zakresie czasu, na przykład w ciągu ostatnich 24 godzin. W poniższych scenariuszach pokazano, jak to działa:

  • Utworzono aplikację około 8:00 dzisiaj z poziomu usługi Azure Spring Apps z włączonym agentem Java, a następnie wdrożono plik JAR w tej aplikacji około godziny 8:10. Po zakończeniu testowania zmienisz kod i wdrożysz nowy plik JAR w tej aplikacji o godzinie 8:30. Następnie przerwę, a po powrocie około 11:00 sprawdź niektóre dane z usługi Application Insights. Zobaczysz:
    • Trzy wystąpienia na mapie aplikacji z zakresami czasu w ciągu ostatnich 24 godzin oraz błędy, wydajność i metryki.
    • Jedno wystąpienie na mapie aplikacji z zakresem czasu w ciągu ostatniej godziny oraz błędy, wydajność i metryki.
    • Jedno wystąpienie w metrykach na żywo.
  • Utworzono aplikację około 8:00 dzisiaj z poziomu usługi Azure Spring Apps z włączonym agentem Java, a następnie wdrożono plik JAR w tej aplikacji około godziny 8:10. Około 8:30 dzisiaj spróbujesz niebieskie/zielone wdrożenie z innym plikiem JAR. Obecnie masz dwa wdrożenia dla tej aplikacji. Po przerwie około 11:00 dzisiaj chcesz sprawdzić niektóre dane z usługi Application Insights. Zobaczysz:
    • Trzy wystąpienia na mapie aplikacji z zakresami czasu w ciągu ostatnich 24 godzin oraz błędy, wydajność i metryki.
    • Dwa wystąpienia na mapie aplikacji z zakresami czasu w ostatniej godzinie oraz błędy, wydajność i metryki.
    • Dwa wystąpienia w metrykach na żywo.

Następne kroki