Afhankelijkheden, onderschepte uitzonde ringen en methode-uitvoerings tijden in Java-Web-apps bewakenMonitor dependencies, caught exceptions, and method execution times in Java web apps

Als u uw Java-Web-app hebt voorzien van Application Insights, kunt u de Java-Agent gebruiken om diepere inzichten te verkrijgen, zonder dat u code hoeft te wijzigen:If you have instrumented your Java web app with Application Insights, you can use the Java Agent to get deeper insights, without any code changes:

  • Afhankelijkheden: Gegevens over de aanroepen die uw toepassing maakt met andere onderdelen, waaronder:Dependencies: Data about calls that your application makes to other components, including:

    • Uitgaande HTTP-aanroepen via Apache httpclient maakt, OkHttp en java.net.HttpURLConnection worden vastgelegd.Outgoing HTTP calls made via Apache HttpClient, OkHttp, and java.net.HttpURLConnection are captured.
    • Redis-aanroepen via de jedis-client worden vastgelegd.Redis calls made via the Jedis client are captured.
    • JDBC-query's : voor MySQL en PostgreSQL, als de aanroep langer dan 10 seconden duurt, rapporteert de agent het query plan.JDBC queries - For MySQL and PostgreSQL, if the call takes longer than 10 seconds, the agent reports the query plan.
  • Toepassings logboeken: Uw toepassings logboeken vastleggen en correleren met HTTP-aanvragen en andere telemetrieApplication logging: Capture and correlate your application logs with HTTP requests and other telemetry

    • Log4j 1,2Log4j 1.2
    • Log4j2Log4j2
    • LogbackLogback
  • Betere bewerkings naam: (gebruikt voor aggregatie van aanvragen in de portal)Better operation naming: (used for aggregation of requests in the portal)

    • Lente op basis van @RequestMapping.Spring - based on @RequestMapping.
    • Jax-RS -gebaseerd op @Path.JAX-RS - based on @Path.

Als u de Java-Agent wilt gebruiken, installeert u deze op uw server.To use the Java agent, you install it on your server. Uw web-apps moeten worden beinstrumented met de Application Insights Java SDK.Your web apps must be instrumented with the Application Insights Java SDK.

De Application Insights-agent voor Java installerenInstall the Application Insights agent for Java

  1. Download de agent op de machine die uw Java-server uitvoert.On the machine running your Java server, download the agent. Zorg ervoor dat u dezelfde versie van de Java-agent downloadt als de Java-SDK-kern en -webpakketten van Application Insights.Please ensure to download the same version of Java Agent as Application Insights Java SDK core and web packages.

  2. Bewerk het opstart script van de toepassings server en voeg het volgende JVM-argument toe:Edit the application server startup script, and add the following JVM argument:

    -javaagent:<full path to the agent JAR file>

    Bijvoorbeeld in Tomcat op een Linux-computer:For example, in Tomcat on a Linux machine:

    export JAVA_OPTS="$JAVA_OPTS -javaagent:<full path to agent JAR file>"

  3. Start de toepassings server opnieuw op.Restart your application server.

De agent configurerenConfigure the agent

Maak een bestand met de naam AI-Agent.xml en plaats het in dezelfde map als het JAR-bestand van de agent.Create a file named AI-Agent.xml and place it in the same folder as the agent JAR file.

Stel de inhoud van het XML-bestand in.Set the content of the xml file. Bewerk het volgende voor beeld om de gewenste functies toe te voegen of te weglaten.Edit the following example to include or omit the features you want.

<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsightsAgent>
   <Instrumentation>
      <BuiltIn enabled="true">

         <!-- capture logging via Log4j 1.2, Log4j2, and Logback, default is true -->
         <Logging enabled="true" />

         <!-- capture outgoing HTTP calls performed through Apache HttpClient, OkHttp,
              and java.net.HttpURLConnection, default is true -->
         <HTTP enabled="true" />

         <!-- capture JDBC queries, default is true -->
         <JDBC enabled="true" />

         <!-- capture Redis calls, default is true -->
         <Jedis enabled="true" />

         <!-- capture query plans for JDBC queries that exceed this value (MySQL, PostgreSQL),
              default is 10000 milliseconds -->
         <MaxStatementQueryLimitInMS>1000</MaxStatementQueryLimitInMS>

      </BuiltIn>
   </Instrumentation>
</ApplicationInsightsAgent>

Aanvullende configuratie (Spring boot)Additional config (Spring Boot)

java -javaagent:/path/to/agent.jar -jar path/to/TestApp.jar

Ga als volgt te werk voor Azure-app Services:For Azure App Services, do the following:

  • Selecteer Instellingen > ToepassingsinstellingenSelect Settings > Application Settings
  • Voeg een nieuw sleutelwaardepaar toe bij App-instellingen:Under App Settings, add a new key value pair:

Sleutel: JAVA_OPTS waarde: -javaagent:D:/home/site/wwwroot/applicationinsights-agent-2.5.0.jarKey: JAVA_OPTS Value: -javaagent:D:/home/site/wwwroot/applicationinsights-agent-2.5.0.jar

Voor de meest recente versie van de Java-agent controleert u hierde releases.For the latest version of the Java agent, check the releases here.

De agent moet worden verpakt als een resource in uw project, zodat deze wordt beƫindigd op de D:/Home/site/wwwroot/map.The agent must be packaged as a resource in your project such that it ends up in the D:/home/site/wwwroot/ directory. U kunt controleren of uw agent zich in de juiste App Service Directory bevindt door te gaan naar ontwikkel hulpprogramma's > geavanceerde Hulpprogram ma's > console voor fout opsporing en de inhoud van de sitemap te controleren.You can confirm that your agent is in the correct App Service directory by going to Development Tools > Advanced Tools > Debug Console and examining the contents of the site directory.

  • Sla de instellingen op en start de app opnieuw.Save the settings and Restart your app. (Deze stappen zijn alleen van toepassing op App Services die worden uitgevoerd op Windows.)(These steps only apply to App Services running on Windows.)

Notitie

AI-Agent. XML en het jar-bestand van de agent moeten zich in dezelfde map bevindt.AI-Agent.xml and the agent jar file should be in the same folder. Ze worden vaak samen in de map /resources van het project geplaatst.They are often placed together in the /resources folder of the project.

In W3C gedistribueerde tracering inschakelenEnable W3C distributed tracing

Voeg het volgende toe aan AI-Agent. XML:Add the following to AI-Agent.xml:

<Instrumentation>
   <BuiltIn enabled="true">
      <HTTP enabled="true" W3C="true" enableW3CBackCompat="true"/>
   </BuiltIn>
</Instrumentation>

Notitie

Achterwaartse compatibiliteits modus is standaard ingeschakeld en de para meter enableW3CBackCompat is optioneel en moet alleen worden gebruikt als u deze wilt uitschakelen.Backward compatibility mode is enabled by default and the enableW3CBackCompat parameter is optional and should be used only when you want to turn it off.

In het ideale geval is dit de situatie waarin al uw services zijn bijgewerkt naar een nieuwere versie van Sdk's die W3C-protocol ondersteunen.Ideally this would be the case when all your services have been updated to newer version of SDKs supporting W3C protocol. Het wordt sterk aanbevolen om zo snel mogelijk over te stappen op een nieuwere versie van Sdk's met W3C-ondersteuning.It is highly recommended to move to newer version of SDKs with W3C support as soon as possible.

Zorg ervoor dat de configuraties voor Inkomend en uitgaand verkeer (agent) precies hetzelfde zijn.Make sure that both incoming and outgoing (agent) configurations are exactly same.

De gegevens weergevenView the data

In de Application Insights resource worden de geaggregeerde externe afhankelijkheden en de uitvoerings tijden van de methode weer gegeven onder de tegel prestaties.In the Application Insights resource, aggregated remote dependency and method execution times appear under the Performance tile.

Als u wilt zoeken naar afzonderlijke exemplaren van de rapporten afhankelijkheid, uitzonde ring en methode, opent u zoeken.To search for individual instances of dependency, exception, and method reports, open Search.

Afhankelijkheids problemen vaststellen-meer informatie.Diagnosing dependency issues - learn more.

Vragen?Questions? Problemen?Problems?