Использование Azure Monitor Application Insights с Spring Boot
Примечание.
С помощью собственных приложений образов Spring Boot можно использовать этот проект.
Существует два варианта включения Java Application Insights с помощью Spring Boot: аргумента виртуальной машины Java (JVM) и программно.
Включение с помощью аргумента JVM
Добавьте аргумент виртуальной машины Java -javaagent:"path/to/applicationinsights-agent-3.6.2.jar"
в какое-то место перед -jar
, например:
java -javaagent:"path/to/applicationinsights-agent-3.6.2.jar" -jar <myapp.jar>
Spring Boot через точку входа DOCKER
См. документацию, связанную с контейнерами.
Настройка
См . параметры конфигурации.
Включение программно
Чтобы включить Java Application Insights программным способом, необходимо добавить следующую зависимость:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-runtime-attach</artifactId>
<version></version>
</dependency>
И вызовите attach()
метод com.microsoft.applicationinsights.attach.ApplicationInsights
класса, который находится в начале строки main()
метода.
Предупреждение
Вызов должен находиться в начале main
метода.
Предупреждение
JRE не поддерживается.
Предупреждение
Временный каталог операционной системы должен быть записываемым.
Пример:
@SpringBootApplication
public class SpringBootApp {
public static void main(String[] args) {
ApplicationInsights.attach();
SpringApplication.run(SpringBootApp.class, args);
}
}
Настройка
Программное включение поддерживает все те же параметры конфигурации, что и включение аргумента JVM, с различиями, описанными в следующих разделах.
Расположение файла конфигурации
По умолчанию при включении Application Insights Java программным способом файл applicationinsights.json
конфигурации считывается из классаpath (src/main/resources
, src/test/resources
).
В версии 3.4.3 можно настроить имя JSON-файла в пути класса с помощью системного applicationinsights.runtime-attach.configuration.classpath.file
свойства.
Например, в -Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.json
Application Insights используется applicationinsights-dev.json
файл для настройки. Чтобы программно настроить другой файл в classpath, выполните следующие действия.
public static void main(String[] args) {
System.setProperty("applicationinsights.runtime-attach.configuration.classpath.file", "applicationinsights-dev.json");
ApplicationInsights.attach();
SpringApplication.run(PetClinicApplication.class, args);
}
Примечание.
Spring или application.properties
application.yaml
файлы не поддерживаются в качестве источников для конфигурации Java Application Insights.
См . параметры конфигурации пути к файлу конфигурации, чтобы изменить расположение файла за пределами класса.
Чтобы программно настроить файл за пределами classpath, выполните следующие действия.
public static void main(String[] args) {
System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
ApplicationInsights.attach();
SpringApplication.run(PetClinicApplication.class, args);
}
Программное настройка строка подключения
Сначала добавьте applicationinsights-core
зависимость:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version></version>
</dependency>
Затем вызовите 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);
}
Кроме того, вызовите ConnectionString.configure
метод из компонента Spring.
Включите строка подключения, настроенные во время выполнения:
{
"connectionStringConfiguredAtRuntime": true
}
Расположение файла журнала самостоятельной диагностики
По умолчанию при включении Java Application Insights файл, содержащий журналы агента, applicationinsights.log
находится в каталоге, из которого запускается JVM (каталог пользователя).
Чтобы узнать, как изменить это расположение, ознакомьтесь с параметрами конфигурации самостоятельной диагностики.