Použití služby Azure Monitor Application Přehledy s Spring Bootem

Poznámka:

S aplikacemi nativní bitové kopie Spring Boot můžete tento projekt použít.

Existují dvě možnosti povolení aplikace Přehledy Javě pomocí Spring Bootu: argument Java Virtual Machine (JVM) a programově.

Povolení pomocí argumentu JVM

Přidejte ho -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" někam předtím -jar, například:

java -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" -jar <myapp.jar>

Spring Boot přes vstupní bod Dockeru

Viz dokumentace související s kontejnery.

Konfigurace

Viz možnosti konfigurace.

Povolení prostřednictvím kódu programu

Pokud chcete povolit aplikaci Přehledy Javu programově, musíte přidat následující závislost:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.5.2</version>
</dependency>

A vyvolat attach() metodu com.microsoft.applicationinsights.attach.ApplicationInsights třídy, která je na začátku řádku vaší main() metody.

Upozorňující

Vyvolání musí být na začátku main metody.

Upozorňující

JRE se nepodporuje.

Upozorňující

Dočasný adresář operačního systému by měl být zapisovatelný.

Příklad:

@SpringBootApplication
public class SpringBootApp {

  public static void main(String[] args) {
    ApplicationInsights.attach();
    SpringApplication.run(SpringBootApp.class, args);
  }
}

Konfigurace

Programové povolení podporuje všechny stejné možnosti konfigurace jako povolení argumentu JVM s rozdíly, které jsou popsány v dalších částech.

Umístění konfiguračního souboru

Ve výchozím nastavení se při programovém povolení aplikace Přehledy Javě načte konfigurační soubor applicationinsights.json z cesty ke třídě (src/main/resources, src/test/resources).

Z verze 3.4.3 můžete nakonfigurovat název souboru JSON v cestě ke třídě pomocí applicationinsights.runtime-attach.configuration.classpath.file systémové vlastnosti. Například s -Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.json, Aplikace Přehledy používá applicationinsights-dev.json soubor pro konfiguraci. Postup programové konfigurace jiného souboru v cestě k třídě:

public static void main(String[] args) {
    System.setProperty("applicationinsights.runtime-attach.configuration.classpath.file", "applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Poznámka:

application.properties Spring nebo application.yaml soubory nejsou podporované jako zdroje pro konfiguraci aplikace Přehledy Javě.

Viz možnosti konfigurace cesty ke konfiguračnímu souboru a změňte umístění souboru mimo cestu ke třídě.

Pokud chcete programově nakonfigurovat soubor mimo cestu ke třídě:

public static void main(String[] args) {
    System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Konfigurace připojovací řetězec prostřednictvím kódu programu

Nejprve přidejte applicationinsights-core závislost:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-core</artifactId>
    <version>3.5.2</version>
</dependency>

Potom volejte metodu ConnectionString.configure za ApplicationInsights.attach():

public static void main(String[] args) {
    System.setProperty("applicationinsights.configuration.file", "{path}/applicationinsights-dev.json");
    ApplicationInsights.attach();
    SpringApplication.run(PetClinicApplication.class, args);
}

Alternativně volejte metodu ConnectionString.configure z komponenty Spring.

Povolte připojovací řetězec nakonfigurované za běhu:

{
  "connectionStringConfiguredAtRuntime": true
}

Umístění souboru protokolu samoobslužné diagnostiky

Při programovém povolení aplikace Přehledy Javě se soubor obsahující protokoly agenta nachází v adresáři, applicationinsights.log ze kterého se spustí JVM (uživatelský adresář).

Informace o tom, jak toto umístění změnit, najdete v možnostech konfigurace samoobslužné diagnostiky.