Jak monitorować aplikacje Spring Boot za pomocą agenta Java AppDynamics
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.
Ten artykuł dotyczy: ✔️ Użycie standardowe i dedykowane (wersja zapoznawcza) ✔️ Podstawowa/Standardowa ❌✔ Enterprise
W tym artykule wyjaśniono, jak używać agenta Java AppDynamics do monitorowania aplikacji Spring Boot w usłudze Azure Spring Apps.
Za pomocą agenta Java AppDynamics można wykonywać następujące czynności:
- Monitorowanie aplikacji
- Konfigurowanie agenta Java AppDynamics przy użyciu zmiennych środowiskowych
- Sprawdzanie wszystkich danych monitorowania z poziomu pulpitu nawigacyjnego AppDynamics
W poniższym filmie wideo przedstawiono agenta przetwarzania Java AppDynamics.
Wymagania wstępne
Aktywowanie agenta w procesie Oprogramowania AppDynamics w języku Java
W przypadku całego przepływu pracy należy wykonać następujące czynności:
- Aktywuj agenta java oprogramowania AppDynamics w procesie w usłudze Azure Spring Apps, aby wygenerować dane metryk aplikacji.
- Połącz agenta AppDynamics z kontrolerem AppDynamics, aby zebrać i zwizualizować dane w kontrolerze.
Aktywowanie aplikacji za pomocą agenta AppDynamics przy użyciu interfejsu wiersza polecenia platformy Azure
Aby aktywować aplikację za pomocą interfejsu wiersza polecenia platformy Azure, wykonaj następujące kroki.
Utwórz grupę zasobów.
Utwórz wystąpienie usługi Azure Spring Apps.
Utwórz aplikację przy użyciu następującego polecenia. Zastąp symbole zastępcze ...> własnymi <wartościami.
az spring app create \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --is-public true
Utwórz wdrożenie za pomocą agenta AppDynamics przy użyciu zmiennych środowiskowych.
az spring app deploy \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \ --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \ APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \ APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \ APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \ APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \ APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \ APPDYNAMICS_CONTROLLER_PORT=443
Usługa Azure Spring Apps wstępnie instaluje agenta Java AppDynamics do ścieżki /opt/agents/appdynamics/java/javaagent.jar. Agent można aktywować z poziomu opcji JVM aplikacji, a następnie skonfigurować agenta przy użyciu zmiennych środowiskowych. Wartości tych zmiennych można znaleźć w artykule Monitorowanie usługi Azure Spring Apps za pomocą agenta Języka Java. Aby uzyskać więcej informacji na temat sposobu wyświetlania i organizowania raportów w interfejsie użytkownika oprogramowania AppDynamics, zobacz Warstwy i węzły.
Aktywowanie aplikacji za pomocą agenta AppDynamics przy użyciu witryny Azure Portal
Aby aktywować aplikację za pośrednictwem witryny Azure Portal, wykonaj następujące kroki.
Przejdź do wystąpienia usługi Azure Spring Apps w witrynie Azure Portal.
Wybierz pozycję Aplikacje w sekcji Ustawienia okienka nawigacji.
Wybierz aplikację, a następnie wybierz pozycję Konfiguracja w okienku nawigacji.
Użyj karty Ustawienia ogólne, aby zaktualizować wartości, takie jak opcje JVM.
Wybierz pozycję Zmienne środowiskowe , aby dodać lub zaktualizować zmienne używane przez aplikację.
Automatyzowanie aprowizacji
Możesz również uruchomić potok automatyzacji aprowizacji przy użyciu narzędzia Terraform, Bicep lub szablonu usługi Azure Resource Manager (szablon usługi ARM). Ten potok może zapewnić pełne praktyczne środowisko instrumentacji i monitorowania wszelkich nowych aplikacji, które tworzysz i wdrażasz.
Automatyzowanie aprowizacji przy użyciu narzędzia Terraform
Aby skonfigurować zmienne środowiskowe w szablonie programu Terraform, dodaj następujący kod do szablonu, zastępując <symbole zastępcze ...> 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:/opt/agents/appdynamics/java/javaagent.jar"
...
environment_variables = {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
}
}
Automatyzowanie aprowizacji przy użyciu Bicep
Aby skonfigurować zmienne środowiskowe w pliku Bicep, dodaj następujący kod do pliku, zastępując <symbole zastępcze ...> własnymi wartościami. Aby uzyskać więcej informacji, zobacz Microsoft.AppPlatform Spring/apps/deployments.
deploymentSettings: {
environmentVariables: {
APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
APPDYNAMICS_CONTROLLER_PORT : '443'
}
jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}
Automatyzowanie aprowizacji przy użyciu szablonu usługi ARM
Aby skonfigurować zmienne środowiskowe w szablonie usługi 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": {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
},
"jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
...
}
Przeglądanie raportów na pulpicie nawigacyjnym Oprogramowania AppDynamics
W tej sekcji przedstawiono różne raporty w narzędziu AppDynamics.
Poniższy zrzut ekranu przedstawia przegląd aplikacji na pulpicie nawigacyjnym AppDynamics:
Karta Aplikacje zawiera ogólne informacje dla każdej aplikacji, jak pokazano na poniższych zrzutach ekranu przy użyciu przykładowych aplikacji:
Poniższy zrzut ekranu przedstawia sposób uzyskiwania podstawowych informacji z pulpitu nawigacyjnego Wywołania bazy danych.
Możesz również uzyskać informacje o najwolniejszych wywołaniach bazy danych, jak pokazano na poniższych zrzutach ekranu:
Poniższy zrzut ekranu przedstawia analizę użycia pamięci w sekcji Sterta na stronie Pamięć:
Możesz również zobaczyć proces odzyskiwania pamięci, jak pokazano na tym zrzucie ekranu:
Poniższy zrzut ekranu przedstawia stronę Powolne transakcje :
Możesz zdefiniować więcej metryk dla maszyny JVM, jak pokazano na tym zrzucie ekranu przeglądarki metryk:
Wyświetlanie dzienników agenta AppDynamics
Domyślnie usługa Azure Spring Apps wyświetla dzienniki poziomu informacji agenta AppDynamics na STDOUT
. Dzienniki są mieszane z dziennikami aplikacji. Wersję jawnego agenta można znaleźć w dziennikach aplikacji.
Dzienniki agenta AppDynamics można również pobrać z następujących lokalizacji:
- Dzienniki usługi Azure Spring Apps
- Azure Spring Apps Application Insights
- Azure Spring Apps LogStream
Dowiedz się więcej o uaktualnieniu agenta AppDynamics
Agent AppDynamics jest regularnie uaktualniany przy użyciu zestawu JDK (kwartalnie). Uaktualnienie agenta może mieć wpływ na następujące scenariusze:
- Istniejące aplikacje korzystające z agenta AppDynamics przed uaktualnieniem pozostają niezmienione, ale wymagają ponownego uruchomienia lub ponownego wdrożenia, aby zaangażować nową wersję agenta AppDynamics.
- Aplikacje utworzone po uaktualnieniu używają nowej wersji agenta AppDynamics.
Konfigurowanie ruchu wychodzącego wystąpienia iniekcji sieci wirtualnej
W przypadku wystąpień iniekcji sieci wirtualnej usługi Azure Spring Apps upewnij się, że ruch wychodzący został poprawnie skonfigurowany dla agenta AppDynamics. Aby uzyskać szczegółowe informacje, zobacz Cisco AppDynamics SaaS Domains and IP Ranges and Customer responsibilities for running Azure Spring Apps in a virtual network (Domeny i zakresy adresów IP firmy Cisco AppDynamics oraz obowiązki klienta dotyczące uruchamiania usługi Azure Spring Apps w sieci wirtualnej).
Omówienie ograniczeń
Aby zrozumieć ograniczenia agenta AppDynamics, zobacz Monitorowanie usługi Azure Spring Apps za pomocą agenta Java.