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.
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.
W okienku nawigacji wybierz pozycję Błędy, aby zobaczyć nieoczekiwane błędy lub wyjątki z aplikacji.
W okienku nawigacji wybierz pozycję Metryki i wybierz przestrzeń nazw, aby wyświetlić metryki platformy Spring Boot i metryki niestandardowe, jeśli istnieją.
W okienku nawigacji wybierz pozycję Metryki na żywo, aby wyświetlić metryki w czasie rzeczywistym dla różnych wymiarów.
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.
W okienku nawigacji wybierz pozycję Dzienniki , aby wyświetlić dzienniki wszystkich aplikacji lub dzienniki jednej aplikacji podczas filtrowania według
cloud_RoleName
.
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.
Przejdź do usługi | Strona Przegląd wystąpienia usługi, a następnie wybierz pozycję Application Insights w sekcji Monitorowanie .
Wybierz pozycję Włącz usługę Application Insights, aby włączyć usługę Application Insights w usłudze Azure Spring Apps.
Wybierz istniejące wystąpienie usługi Application Insights lub utwórz nowe.
Po włączeniu usługi Application Insights można skonfigurować jedną opcjonalną częstotliwość próbkowania (domyślnie 10,0%).
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
Wybierz pozycję Application Insights.
Włącz usługę Application Insights, wybierając pozycję Edytuj powiązanie lub hiperlink Unbound .
Edytuj usługę Application Insights lub częstotliwość próbkowania, a następnie wybierz pozycję Zapisz.
Wyłączanie usługi Application Insights
Wybierz pozycję Application Insights.
Wybierz pozycję Usuń powiązanie , aby wyłączyć usługę Application Insights.
Zmienianie ustawień usługi Application Insights
Wybierz nazwę w kolumnie Application Insights , aby otworzyć sekcję 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:
- Wybierz pozycję Skompiluj usługę.
- Wybierz konstruktora.
- Wybierz pozycję Edytuj w kolumnie Powiązania.
Ustawienia usługi Application Insights znajdują się w elemencie ApplicationInsights wymienionym w kolumnie Typ powiązania.
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.
Edytuj ustawienia powiązania, a następnie wybierz pozycję Zapisz.
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.