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.2.jar"
JVM gdzieś przed -jar
, na przykład:
java -javaagent:"path/to/applicationinsights-agent-3.6.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ć 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></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.json
Application 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></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.