Jak monitorować aplikacje Spring Boot za pomocą oprogramowania Dynatrace Java OneAgent

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.

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

W tym artykule pokazano, jak używać aplikacji Dynatrace OneAgent do monitorowania aplikacji Spring Boot w usłudze Azure Spring Apps.

Dzięki aplikacji Dynatrace OneAgent można wykonywać następujące czynności:

  • Monitorowanie aplikacji za pomocą aplikacji Dynatrace OneAgent.
  • Skonfiguruj aplikację Dynatrace OneAgent przy użyciu zmiennych środowiskowych.
  • Sprawdź wszystkie dane monitorowania z poziomu pulpitu nawigacyjnego Dynatrace.

W poniższym filmie przedstawiono dynatrace OneAgent.


Wymagania wstępne

Aktywowanie dynatrace OneAgent

W poniższych sekcjach opisano sposób aktywowania aplikacji Dynatrace OneAgent.

Przygotowywanie środowiska usługi Azure Spring Apps

  1. Utwórz wystąpienie usługi Azure Spring Apps.
  2. Utwórz aplikację, którą chcesz zgłosić do aplikacji Dynatrace, uruchamiając następujące polecenie. Zastąp symbole zastępcze ...> własnymi <wartościami.
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

Określanie wartości wymaganych zmiennych środowiskowych

Aby aktywować aplikację Dynatrace OneAgent w wystąpieniu usługi Azure Spring Apps, należy skonfigurować cztery zmienne środowiskowe: DT_TENANT, , DT_TENANTTOKENDT_CONNECTION_POINTi DT_CLUSTER_ID. Aby uzyskać więcej informacji, zobacz Integrowanie aplikacji OneAgent z usługą Azure Spring Apps.

W przypadku aplikacji z wieloma wystąpieniami rozwiązanie Dynatrace ma kilka sposobów ich grupowania. DT_CLUSTER_ID jest jednym ze sposobów. Aby uzyskać więcej informacji, zobacz Wykrywanie grup procesów.

Dodawanie zmiennych środowiskowych do aplikacji

Pary klucz/wartość zmiennej środowiskowej można dodać do aplikacji przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Opcja 1. Interfejs wiersza polecenia platformy Azure

Aby dodać pary klucz/wartość przy użyciu interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenie, zastępując symbole zastępcze ...> wartościami określonymi <w poprzednich krokach.

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

Opcja 2. Witryna Azure Portal

Aby dodać pary klucz/wartość przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. W wystąpieniu usługi Azure Spring Apps wybierz pozycję Aplikacje w okienku nawigacji.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Aplikacje dla wystąpienia usługi Azure Spring Apps.

  2. Wybierz aplikację z listy, a następnie wybierz pozycję Konfiguracja w okienku nawigacji.

  3. Użyj karty Zmienne środowiskowe, aby dodać lub zaktualizować zmienne używane przez aplikację.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Konfiguracja aplikacji z wybraną kartą Zmienne środowiskowe.

Automatyzowanie aprowizacji

Za pomocą szablonu terraform, Bicep lub szablonu usługi Azure Resource Manager (szablon usługi ARM) można również uruchomić potok automatyzacji aprowizacji. 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).

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Automatyzowanie aprowizacji przy użyciu pliku 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.

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

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.

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Wyświetlanie raportów w narzędziu Dynatrace

W tej sekcji opisano sposób znajdowania różnych raportów w aplikacji Dynatrace.

Uwaga

Menu Dynatrace i interfejs użytkownika będą stopniowo ewoluować. Z tego powodu pulpit nawigacyjny może zostać przeniesiony do innych sekcji w witrynie internetowej Dynatrace, a poniższe zrzuty ekranu mogą nie odzwierciedlać bieżącej wersji interfejsu użytkownika.

Po dodaniu zmiennych środowiskowych do aplikacji dynatrace rozpocznie zbieranie danych. Aby wyświetlić raporty, użyj menu Dynatrace, przejdź do pozycji Usługi, a następnie wybierz aplikację.

Przepływ usługi można znaleźć w przepływie <nazwa aplikacji>/Szczegóły/Usługa:

Zrzut ekranu przedstawiający raport przepływu usługi Dynatrace Service.

Hotspoty metody można znaleźć w <obszarze your-app-name>/Details/Method hotspots:

Zrzut ekranu przedstawiający raport Hotspoty metody Dynatrace.

Instrukcje Bazy danych można znaleźć na stronie< nazwa-aplikacji>/Szczegóły/Analiza czasu odpowiedzi:

Zrzut ekranu przedstawiający raport analizy czasu odpowiedzi Dynatrace i sekcję Instrukcje bazy danych.

Następnie przejdź do sekcji Analiza wielowymiarowa.

Instrukcje top bazy danych można znaleźć na podstawie instrukcji Multidimensional analysis/Top database:

Zrzut ekranu przedstawiający raport instrukcji bazy danych Dynatrace Top.

Omówienie wyjątków można znaleźć w sekcji Omówienie analizy wielowymiarowej/wyjątków:

Zrzut ekranu przedstawiający raport Przegląd wyjątków Dynatrace.

Następnie przejdź do sekcji Profilowanie i optymalizacja .

Analizę procesora CPU można znaleźć w sekcji Profilowanie i optymalizacja/Analiza procesora CPU:

Zrzut ekranu przedstawiający raport analizy procesora Dynatrace.

Następnie przejdź do sekcji Bazy danych .

Backtrace można znaleźć w tematach Databases/Details/Backtrace:

Zrzut ekranu przedstawiający raport Dynatrace Backtrace.

Wyświetlanie dzienników Dynatrace OneAgent

Domyślnie usługa Azure Spring Apps wyświetla dzienniki poziomu informacji aplikacji Dynatrace OneAgent na .STDOUT Dzienniki są mieszane z dziennikami aplikacji. Wersję jawnego agenta można znaleźć w dziennikach aplikacji.

Dzienniki agenta Dynatrace można również pobrać z następujących lokalizacji:

  • Dzienniki usługi Azure Spring Apps
  • Szczegółowe informacje aplikacji Usługi Azure Spring Apps
  • Azure Spring Apps LogStream

Aby skonfigurować rejestrowanie dla aplikacji Dynatrace OneAgent, można zastosować pewne zmienne środowiskowe. Na przykład DT_LOGLEVELCON kontroluje poziom dzienników. Wartość domyślna parametru DT_LOGLEVELCON to info. Dzienniki agenta można wyłączyć, ustawiając wartość DT_LOGLEVELCON .off Jeśli rejestrowanie jest wyłączone, aplikacja Dynatrace najpierw włączy rejestrowanie w celu efektywnego diagnozowania problemów z agentem. Następnie należy ponownie uruchomić aplikację, co jest konieczne, aby zmiany zaczęły obowiązywać. W przypadku innych poziomów rejestrowania skontaktuj się z zespołem pomocy technicznej aplikacji Dynatrace.

Uwaga

Zdecydowanie zalecamy, aby nie zastąpić domyślnego zachowania rejestrowania udostępnianego przez usługę Azure Spring Apps for Dynatrace. Jeśli tak, opisane wcześniej scenariusze rejestrowania są blokowane, a pliki dziennika mogą zostać utracone. Na przykład nie należy zwracać zmiennej środowiskowej DT_LOGLEVELFILE do aplikacji.

Uaktualnianie oprogramowania Dynatrace OneAgent

Automatyczne uaktualnianie dynatrace OneAgent jest wyłączone i jest uaktualniane kwartalnie przy użyciu zestawu JDK. Uaktualnienie agenta może mieć wpływ na następujące scenariusze:

  • Istniejące aplikacje korzystające z aplikacji Dynatrace OneAgent przed uaktualnieniem pozostają niezmienione, ale wymagają ponownego uruchomienia lub ponownego wdrożenia, aby zaangażować nową wersję aplikacji Dynatrace OneAgent.
  • Aplikacje utworzone po uaktualnieniu używają nowej wersji aplikacji Dynatrace OneAgent.

Konfiguracja ruchu wychodzącego wystąpienia iniekcji sieci wirtualnej

W przypadku wystąpienia iniekcji sieci wirtualnej usługi Azure Spring Apps należy upewnić się, że ruch wychodzący dla punktów końcowych komunikacji Dynatrace jest poprawnie skonfigurowany dla aplikacji Dynatrace OneAgent. Aby uzyskać informacje o sposobie uzyskiwania communicationEndpointsusługi , zobacz Wdrażanie interfejsu API — uzyskiwanie informacji o łączności dla usługi OneAgent. Aby uzyskać więcej informacji, zobacz Obowiązki klienta dotyczące uruchamiania usługi Azure Spring Apps w sieci wirtualnej.

Model obsługi rozwiązania Dynatrace

Aby uzyskać informacje na temat ograniczeń dotyczących wdrażania aplikacji Dynatrace OneAgent w trybie tylko dla aplikacji, zobacz sekcję Platformy aplikacji w chmurze w macierzy obsługi platformy OneAgent i możliwości.

Następne kroki

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