Spring Boot ile Azure İzleyici Uygulama Analizler kullanma

Not

Spring Boot yerel görüntü uygulamalarıyla bu projeyi kullanabilirsiniz.

Spring Boot ile Application Analizler Java'nın 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.5.2.jar" değerini öncesinde -jarbir yere ekleyin, örneğin:

java -javaagent:"path/to/applicationinsights-agent-3.5.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 Analizler 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>3.5.2</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, Uygulama Analizler Java'yı program aracılığıyla etkinleştirirken yapılandırma dosyası applicationinsights.json sınıf yolu (src/main/resources, src/test/resources) tarafından 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.jsonApplication Analizler yapılandırma için dosyasını kullanırapplicationinsights-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 Analizler 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>3.5.2</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, Program aracılığıyla Java Analizler Uygulama etkinleştirilirken aracı applicationinsights.log 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.