Korzystanie z Szczegółowe informacje aplikacji usługi Azure Monitor w rozwiązaniu Spring Boot

Uwaga

Korzystając z aplikacji obrazów natywnych platformy Spring Boot, możesz użyć tego projektu.

Istnieją dwie opcje włączania języka Java Szczegółowe informacje aplikacji przy użyciu platformy Spring Boot: argument maszyny wirtualnej Java (JVM) i programowo.

Włączanie za pomocą argumentu JVM

Dodaj arg -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" JVM gdzieś przed -jar, na przykład:

java -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" -jar <myapp.jar>

Spring Boot za pośrednictwem punktu wejścia platformy Docker

Zapoznaj się z dokumentacją dotyczącą kontenerów.

Konfigurowanie

Zobacz opcje konfiguracji.

Włączanie programowe

Aby programowo włączyć aplikację Szczegółowe informacje Java, należy dodać następującą zależność:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.5.2</version>
</dependency>

Wywołaj metodę attach()com.microsoft.applicationinsights.attach.ApplicationInsights klasy, która znajduje się w początkowym wierszu main() metody.

Ostrzeżenie

Wywołanie musi znajdować się na początku main metody.

Ostrzeżenie

Środowisko JRE nie jest obsługiwane.

Ostrzeżenie

Katalog tymczasowy systemu operacyjnego powinien być zapisywalny.

Przykład:

@SpringBootApplication
public class SpringBootApp {

  public static void main(String[] args) {
    ApplicationInsights.attach();
    SpringApplication.run(SpringBootApp.class, args);
  }
}

Konfigurowanie

Włączenie programowe obsługuje wszystkie te same opcje konfiguracji co włączenie argumentu JVM z różnicami opisanymi w następnych sekcjach.

Lokalizacja pliku konfiguracji

Domyślnie podczas włączania aplikacji Szczegółowe informacje Java plik applicationinsights.json konfiguracji jest odczytywany ze ścieżki klasy (src/main/resources, src/test/resources).

W wersji 3.4.3 można skonfigurować nazwę pliku JSON w ścieżce klasy za pomocą właściwości systemowej applicationinsights.runtime-attach.configuration.classpath.file . Na przykład w przypadku -Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.jsonaplikacji Szczegółowe informacje używa applicationinsights-dev.json pliku do konfiguracji. Aby programowo skonfigurować inny plik w ścieżce klasy:

public static void main(String[] args) {
    System.setProperty("applicationinsights.runtime-attach.configuration.classpath.file", "applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Uwaga

Pliki lub application.yaml pliki platformy application.properties Spring nie są obsługiwane jako źródła konfiguracji aplikacji Szczegółowe informacje Java.

Zobacz opcje konfiguracji ścieżki pliku konfiguracji, aby zmienić lokalizację pliku poza ścieżką klasy.

Aby programowo skonfigurować plik poza ścieżką klasy:

public static void main(String[] args) {
    System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Programowe konfigurowanie parametry połączenia

Najpierw dodaj applicationinsights-core zależność:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-core</artifactId>
    <version>3.5.2</version>
</dependency>

Następnie wywołaj metodę po metodzie ConnectionString.configure :ApplicationInsights.attach()

public static void main(String[] args) {
    System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Alternatywnie wywołaj metodę ConnectionString.configure ze składnika Spring.

Włącz parametry połączenia skonfigurowane w czasie wykonywania:

{
  "connectionStringConfiguredAtRuntime": true
}

Lokalizacja pliku dziennika samodzielnej diagnostyki

Domyślnie podczas włączania aplikacji Szczegółowe informacje Java applicationinsights.log plik zawierający dzienniki agenta znajdują się w katalogu, z którego jest uruchamiana maszyna wirtualna JVM (katalog użytkownika).

Aby dowiedzieć się, jak zmienić tę lokalizację, zobacz opcje konfiguracji samodzielnej diagnostyki.