Sdílet prostřednictvím


Použití služby Azure Monitor Application Insights se spring bootem

Poznámka:

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

Existují dvě možnosti, jak povolit Application Insights v 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.3.jar" někam předtím -jar, například:

java -javaagent:"path/to/applicationinsights-agent-3.5.3.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 Application Insights v Javě programově, musíte přidat následující závislost:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.5.3</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í Application Insights v 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, Application Insights 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 Application Insights v 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.3</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

Ve výchozím nastavení se při programovém povolení Application Insights Java 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.