Udostępnij za pośrednictwem


Korzystanie z usługi Azure Monitor Application Insights z rozwiązaniem 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 usługi Application Insights 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.6.0.jar" JVM gdzieś przed -jar, na przykład:

java -javaagent:"path/to/applicationinsights-agent-3.6.0.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ć usługę Application Insights w języku Java, należy dodać następującą zależność:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.6.0</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 programowego włączania języka Java usługi Application Insights 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 usłudze -Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.jsonApplication Insights plik jest używany applicationinsights-dev.json 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 języka Java usługi Application Insights.

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.6.0</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 programowego applicationinsights.log włączania środowiska Java usługi Application Insights plik zawierający dzienniki agenta znajduje 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.