Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. 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.
Ten artykuł dotyczy:✅ Podstawowa/Standardowa ❎ Enterprise
W tym artykule wyjaśniono, jak używać agenta Elastic APM do monitorowania aplikacji Spring Boot działających w usłudze Azure Spring Apps.
Dzięki elastycznemu rozwiązaniu do obserwacji można osiągnąć ujednoliconą możliwość obserwowania:
- Monitorowanie aplikacji za pomocą agenta Elastic APM dla Javy i korzystanie z trwałego magazynu przy użyciu Azure Spring Apps.
- Użyj ustawień diagnostycznych, aby wysłać dzienniki usługi Azure Spring Apps do usługi Elastic. Aby uzyskać więcej informacji, zobacz Analizowanie dzienników za pomocą funkcji Elastic (ELK) przy użyciu ustawień diagnostycznych.
Poniższy film wideo przedstawia ujednoliconą obserwację aplikacji Spring Boot korzystających z funkcji Elastic.
Wymagania wstępne
Wdrażanie aplikacji Spring Petclinic
W tym artykule użyto przykładu Spring Petclinic, aby przejść przez wymagane kroki. Aby wdrożyć przykładową aplikację, wykonaj następujące kroki:
Postępuj zgodnie z instrukcjami w sekcji Wdrażanie aplikacji Spring Boot przy użyciu usług Azure Spring Apps i MySQL , dopóki nie osiągniesz sekcji Wdrażanie aplikacji Spring Boot i ustaw zmienne środowiskowe .
Użyj rozszerzenia Azure Spring Apps dla interfejsu wiersza polecenia platformy Azure za pomocą następującego polecenia, aby utworzyć aplikację do uruchomienia w usłudze Azure Spring Apps:
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --is-public true
Włącz niestandardowy magazyn trwały dla usługi Azure Spring Apps
Aby włączyć niestandardowy magazyn trwały, wykonaj następujące kroki:
Wykonaj kroki opisane w temacie Jak włączyć własny magazyn trwały w usłudze Azure Spring Apps.
Użyj następującego polecenia Azure CLI, aby dodać trwałe magazynowanie dla aplikacji Azure Spring Apps.
az spring app append-persistent-storage \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --persistent-storage-type AzureFileVolume \ --share-name <your-Azure-file-share-name> \ --mount-path <unique-mount-path> \ --storage-name <your-mounted-storage-name>
Aktywowanie elastycznego agenta języka Java APM
Przed kontynuowaniem potrzebne są informacje o łączności z serwerem Elastic APM, które zakłada, że wdrożono usługę Elastic na platformie Azure. Aby uzyskać więcej informacji, zobacz How to deploy and manage Elastic on Microsoft Azure (Jak wdrażać usługę Elastic na platformie Microsoft Azure i zarządzać nią). Aby uzyskać te informacje, wykonaj następujące czynności:
W witrynie Azure Portal przejdź do strony Przegląd wdrożenia elastycznego, a następnie wybierz pozycję Zarządzaj wdrożeniem elastycznej chmury.
W obszarze wdrożenia w usłudze Elastic Cloud Console wybierz sekcję APM & Fleet , aby uzyskać punkt końcowy serwera Elastic APM i token tajny.
Pobierz program Elastic APM Java Agent z usługi Maven Central.
Prześlij agenta Elastic APM do niestandardowego trwałego magazynu, który wcześniej włączyłeś. Przejdź do Azure Fileshare i wybierz Przekaż, aby dodać plik JAR agenta.
Po uzyskaniu punktu końcowego Elastic APM i tokenu tajnego użyj następującego polecenia, aby aktywować agenta Java Elastic APM podczas wdrażania aplikacji. Symbol zastępczy
<agent-location>
odwołuje się do zamontowanej lokalizacji przechowywania agenta Java Elastic APM.az spring app deploy \ --name <your-app-name> \ --artifact-path <unique-path-to-your-app-jar-on-custom-storage> \ --jvm-options='-javaagent:<elastic-agent-location>' \ --env ELASTIC_APM_SERVICE_NAME=<your-app-name> \ ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package-name>' \ ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>' \ ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
Automatyzowanie udostępniania zasobów
Możesz również uruchomić przepływ pracy automatyzacji aprowizacji przy użyciu narzędzia Terraform, Bicep lub szablonu Azure Resource Manager (szablon ARM). Ten potok może zapewnić pełne bezobsługowe doświadczenie związane z instrumentacją i monitorowaniem wszystkich nowych aplikacji, które tworzysz i wdrażasz.
Automatyzowanie aprowizacji przy użyciu narzędzia Terraform
Aby skonfigurować zmienne środowiskowe w szablonie Terraform, dodaj do szablonu następujący kod, zastępując pola <...>
własnymi wartościami. Aby uzyskać więcej informacji, zobacz Manages an Active Azure Spring Apps Deployment (Zarządzanie wdrożeniem usługi Azure Spring Apps).
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:<elastic-agent-location>"
...
environment_variables = {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
}
}
Automatyzowanie konfigurowania przy użyciu pliku Bicep
Aby skonfigurować zmienne środowiskowe w pliku Bicep, dodaj do niego następujący kod, zastępując symbole zastępcze <...>
swoimi wartościami. Aby uzyskać więcej informacji, zobacz Microsoft.AppPlatform Spring/apps/deployments.
deploymentSettings: {
environmentVariables: {
ELASTIC_APM_SERVICE_NAME='<your-app-name>',
ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package>',
ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>',
ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
},
jvmOptions: '-javaagent:<elastic-agent-location>',
...
}
Automatyzacja przydzielania zasobów za pomocą szablonu ARM
Aby skonfigurować zmienne środowiskowe w szablonie ARM, dodaj następujący kod do szablonu, zastępując symbole zastępcze <...>
własnymi wartościami. Aby uzyskać więcej informacji, zobacz Microsoft.AppPlatform Spring/apps/deployments.
"deploymentSettings": {
"environmentVariables": {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
},
"jvmOptions": "-javaagent:<elastic-agent-location>",
...
}
Uaktualnianie elastycznego agenta APM Java
Aby zaplanować uaktualnienie, zobacz Uaktualnianie wersji elastycznej chmury na platformie Azure i Istotne zmiany dotyczące programu APM. Po uaktualnieniu serwera APM przekaż plik JAR agenta Elastic APM Java do niestandardowej pamięci trwałej. Następnie uruchom ponownie aplikacje przy użyciu zaktualizowanych opcji JVM wskazujących uaktualniony plik JAR agenta Elastic APM Java.
Monitorowanie aplikacji i metryk za pomocą elastycznego APM
Aby monitorować aplikacje i metryki, wykonaj następujące czynności:
W portalu Azure przejdź do strony głównej swojego wdrożenia Elastic, a następnie wybierz link Kibana.
Po otwarciu narzędzia Kibana wyszukaj ciąg APM na pasku wyszukiwania, a następnie wybierz pozycję APM.
Kibana APM to dedykowana aplikacja wspierająca przepływy pracy monitorowania aplikacji. W tym miejscu możesz wyświetlić szczegółowe informacje o wysokim poziomie, takie jak czasy żądań/odpowiedzi, przepływność i transakcje w usłudze z największym wpływem na czas trwania.
Możesz przejść do szczegółów określonej transakcji, aby zrozumieć szczegóły specyficzne dla transakcji, takie jak śledzenie rozproszone.
Agent Elastic APM w języku Java przechwytuje również metryki JVM z aplikacji Azure Spring Apps, które są dostępne w aplikacji Kibana dla użytkowników na potrzeby rozwiązywania problemów.
Korzystając z wbudowanego silnika AI w rozwiązaniu Elastic, możesz również włączyć wykrywanie anomalii w usługach Azure Spring Apps i wybrać odpowiednią akcję, taką jak powiadomienie w Teams, utworzenie zgłoszenia na JIRA, wywołanie interfejsu API opartego na webhookach i inne.