Spring Boot ile Azure İzleyici Application Insights kullanma
Not
Spring Boot yerel görüntü uygulamalarıyla bu projeyi kullanabilirsiniz.
Application Insights Java'nın Spring Boot ile etkinleştirilmesi için iki seçenek vardır: Java Sanal Makinesi (JVM) bağımsız değişkeni ve program aracılığıyla.
JVM bağımsız değişkeniyle etkinleştirme
JVM arg -javaagent:"path/to/applicationinsights-agent-3.6.2.jar"
değerini öncesinde -jar
bir yere ekleyin, örneğin:
java -javaagent:"path/to/applicationinsights-agent-3.6.2.jar" -jar <myapp.jar>
Docker giriş noktası aracılığıyla Spring Boot
Kapsayıcılar ile ilgili belgelere bakın.
Yapılandırma
Bkz . yapılandırma seçenekleri.
Program aracılığıyla etkinleştirme
Application Insights Java'yı program aracılığıyla etkinleştirmek için aşağıdaki bağımlılığı eklemeniz gerekir:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-runtime-attach</artifactId>
<version></version>
</dependency>
Ve yönteminizin main()
başlangıç satırında yer alan sınıfının yöntemini com.microsoft.applicationinsights.attach.ApplicationInsights
çağırınattach()
.
Uyarı
Çağırma yöntemin başında main
olmalıdır.
Uyarı
JRE desteklenmez.
Uyarı
İşletim sisteminin geçici dizini yazılabilir olmalıdır.
Örnek:
@SpringBootApplication
public class SpringBootApp {
public static void main(String[] args) {
ApplicationInsights.attach();
SpringApplication.run(SpringBootApp.class, args);
}
}
Yapılandırma
Programlı etkinleştirme, JVM bağımsız değişken etkinleştirmesiyle aynı yapılandırma seçeneklerini ve sonraki bölümlerde açıklanan farkları destekler.
Yapılandırma dosyası konumu
Varsayılan olarak, Application Insights Java'yı program aracılığıyla etkinleştirirken yapılandırma dosyası applicationinsights.json
classpath'ten (src/main/resources
, src/test/resources
) okunur.
3.4.3'ten, sınıf yolu içindeki bir JSON dosyasının adını sistem özelliğiyle applicationinsights.runtime-attach.configuration.classpath.file
yapılandırabilirsiniz.
Örneğin, ile -Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.json
Application Insights yapılandırma için dosyasını kullanır applicationinsights-dev.json
. Sınıf yolu içinde program aracılığıyla başka bir dosya yapılandırmak için:
public static void main(String[] args) {
System.setProperty("applicationinsights.runtime-attach.configuration.classpath.file", "applicationinsights-dev.json");
ApplicationInsights.attach();
SpringApplication.run(PetClinicApplication.class, args);
}
Not
Spring'in application.properties
veya application.yaml
dosyaları, Application Insights Java yapılandırması için kaynak olarak desteklenmez.
Sınıf yolunun dışındaki bir dosyanın konumunu değiştirmek için bkz . yapılandırma dosyası yolu yapılandırma seçenekleri .
Bir dosyayı sınıf yolu dışında program aracılığıyla yapılandırmak için:
public static void main(String[] args) {
System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
ApplicationInsights.attach();
SpringApplication.run(PetClinicApplication.class, args);
}
bağlantı dizesi program aracılığıyla yapılandırma
İlk olarak bağımlılığı ekleyin applicationinsights-core
:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version></version>
</dependency>
Ardından yöntemini şundan sonra ApplicationInsights.attach()
çağırınConnectionString.configure
:
public static void main(String[] args) {
System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
ApplicationInsights.attach();
SpringApplication.run(PetClinicApplication.class, args);
}
Alternatif olarak, spring bileşeninden yöntemini çağırın ConnectionString.configure
.
Çalışma zamanında yapılandırılan bağlantı dizesi etkinleştirin:
{
"connectionStringConfiguredAtRuntime": true
}
Kendi kendine tanılama günlük dosyası konumu
Varsayılan olarak, Application Insights Java'yı program aracılığıyla etkinleştirirken, applicationinsights.log
aracı günlüklerini içeren dosya JVM'nin başlatıldığı dizinde (kullanıcı dizini) bulunur.
Bu konumu değiştirmeyi öğrenmek için kendi kendine tanılama yapılandırma seçeneklerinize bakın.