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

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

W przypadku aplikacji Spring Boot Native Image użyj projektu aplikacji Java obrazów natywnych obrazów środowiska Spring Boot za pomocą narzędzia Azure Monitor OpenTelemetry Distro/ Application Szczegółowe informacje w projekcie aplikacji Java usługi Application Szczegółowe informacje.

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 Szczegółowe informacje 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.

Szczegółowe informacje aplikacji może zapewnić wiele zauważalnych perspektyw, w tym:

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

Korzystanie z funkcji Szczegółowe informacje aplikacji

Po włączeniu funkcji Szczegółowe informacje aplikacji można wykonywać następujące czynności:

  • W okienku nawigacji wybierz pozycję Aplikacja Szczegółowe informacje, aby wyświetlić stronę Przegląd aplikacji Szczegółowe informacje. 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 Szczegółowe informacje aplikacji.

  • 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ę Application Szczegółowe informacje Performance (Wydajność aplikacji Szczegółowe informacje).

  • 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 Szczegółowe informacje aplikacji.

  • 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 Szczegółowe informacje.

  • 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ę Application Szczegółowe informacje Live Metrics(Metryki na żywo).

  • 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 Szczegółowe informacje.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Dostępność Szczegółowe informacje aplikacji.

  • 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 Szczegółowe informacje.

Zarządzanie Szczegółowe informacje aplikacji 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ę Aplikacja Szczegółowe informacje w sekcji Monitorowanie.

  2. Wybierz pozycję Włącz Szczegółowe informacje aplikacji, aby włączyć Szczegółowe informacje aplikacji w usłudze Azure Spring Apps.

  3. Wybierz istniejące wystąpienie aplikacji Szczegółowe informacje lub utwórz nowe.

  4. Po włączeniu Szczegółowe informacje aplikacji można skonfigurować jedną opcjonalną częstotliwość próbkowania (domyślnie 10,0%).

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Szczegółowe informacje aplikacji dla usługi Azure Spring Apps z wyróżnionym polem wyboru Włącz aplikację Szczegółowe informacje.

  5. Wybierz przycisk Zapisz, aby zapisać zmiany.

Uwaga

Nie używaj tego samego wystąpienia usługi Application Szczegółowe informacje w różnych wystąpieniach usługi Azure Spring Apps lub są wyświetlane mieszane dane.

Za pomocą portalu możesz sprawdzić lub zaktualizować bieżące ustawienia w Szczegółowe informacje aplikacji.

Włączanie Szczegółowe informacje aplikacji przy użyciu witryny Azure Portal

  1. Wybierz pozycję Application Insights.

  2. Włącz Szczegółowe informacje aplikacji, 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ą Szczegółowe informacje aplikacji i opcją

  3. Edytuj Szczegółowe informacje aplikacji lub częstotliwość próbkowania, a następnie wybierz pozycję Zapisz.

Wyłączanie Szczegółowe informacje aplikacji

  1. Wybierz pozycję Application Insights.

  2. Wybierz pozycję Usuń powiązanie, aby wyłączyć Szczegółowe informacje aplikacji.

    Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi Azure Spring Apps ze stroną Szczegółowe informacje aplikacji i opcją Usuń powiązanie.

Zmienianie Szczegółowe informacje Ustawienia aplikacji

Wybierz nazwę w kolumnie Application Szczegółowe informacje (Aplikacja), aby otworzyć sekcję Application Szczegółowe informacje (Aplikacja Szczegółowe informacje).

Zrzut ekranu witryny Azure Portal przedstawiający wystąpienie usługi Azure Spring Apps ze stroną Application Szczegółowe informacje.

Edytowanie powiązań pakietu buildpack Szczegółowe informacje aplikacji w usłudze Build Service

Aby sprawdzić i zaktualizować bieżące ustawienia powiązań pakietu kompilacji application Szczegółowe informacje 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 Szczegółowe informacje aplikacji znajdują się w elemencie Application Szczegółowe informacje 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 Szczegółowe informacje aplikacji.

    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 Szczegółowe informacje aplikacji przy użyciu interfejsu wiersza polecenia platformy Azure

Szczegółowe informacje aplikacji 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ć Szczegółowe informacje aplikacji podczas tworzenia wystąpienia usługi Azure Spring Apps, użyj następującego polecenia. app-insights Jako argument można określić nazwę aplikacji Szczegółowe informacje 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ć klucza Szczegółowe informacje parametry połączenia aplikacji (preferowanego) lub 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 Szczegółowe informacje aplikacji

Aby wyłączyć Szczegółowe informacje aplikacji 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ń Szczegółowe informacje aplikacji

Aby sprawdzić ustawienia aplikacji Szczegółowe informacje 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 Szczegółowe informacje aplikacji

Aby zaktualizować Szczegółowe informacje aplikacji 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ć Szczegółowe informacje aplikacji, aby użyć 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 Szczegółowe informacje aplikacji za pomocą polecenia update

Aby wyłączyć Szczegółowe informacje aplikacji 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 buildpack Szczegółowe informacje aplikacji

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ń buildpack do integracji aplikacja systemu Azure Szczegółowe informacje 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 buildpack Szczegółowe informacje aplikacji, 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 aplikacji Szczegółowe informacje 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 application Szczegółowe informacje buildpack, 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 buildpack Szczegółowe informacje aplikacji, 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 buildpack Szczegółowe informacje aplikacji, 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/monitoring Ustawienia.

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/monitoring Ustawienia.

{
  "$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 Java jest już włączony, zmiany w wystąpieniu aplikacji Szczegółowe informacje 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ługami Azure Spring Apps i Application Szczegółowe informacje

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 Szczegółowe informacje, zawiera historię wystąpień aplikacji usługi Azure Spring Apps utworzonych lub wdrożonych od momentu włączenia agenta Java. Na przykład w portalu Application Szczegółowe informacje można wyświetlić dane aplikacji utworzone wczoraj, ale następnie usunięte w określonym zakresie czasu, tak jak 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 Szczegółowe informacje. 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 aplikacji Szczegółowe informacje. 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