Sdílet prostřednictvím


Použití služby Azure Monitor Application Insights ve Spring Bootu

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 argument JVM -javaagent:"path/to/applicationinsights-agent-3.7.5.jar" někam před -jar, například:

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

Spring Boot přes vstupní bod Dockeru

Viz dokumentace související s kontejnery.

Konfigurace

Viz možnosti konfigurace.

Povolení programově

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.7.5</version>
</dependency>

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

Upozornění

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

Upozornění

JRE se nepodporuje.

Upozornění

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 classpath (src/main/resources, src/test/resources).

Od verze 3.4.3 je možné nakonfigurovat název souboru JSON ve třídní cestě 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. Pro programovou konfiguraci jiného souboru v cestě ke 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:

Soubory application.properties Spring nebo application.yaml nejsou podporovány jako zdroje pro konfiguraci Application Insights Java.

Podívejte se na konfigurační možnosti cesty ke konfiguračnímu souboru, abyste změnili umístění souboru mimo cestu ke třídě.

Chcete-li programově nakonfigurovat soubor mimo classpath:

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

Programově nakonfigurujte připojovací řetězec

Nejprve přidejte applicationinsights-core závislost:

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

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

public static void main(String[] args) {
    ApplicationInsights.attach();
    ConnectionString.configure("<Your Connection String>");
    SpringApplication.run(PetClinicApplication.class, args);
}

Alternativně volejte metodu ConnectionString.configure z komponenty Spring.

Povolte připojovací řetězec nakonfigurovaný za běhu programu.

{
  "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.