Application Insights per le applicazioni web Java che sono già liveApplication Insights for Java web apps that are already live

Se è disponibile un'applicazione Web già in esecuzione nel server J2EE, è possibile avviare il monitoraggio con Application Insights senza dover apportare modifiche al codice o ricompilare il progetto.If you have a web application that is already running on your J2EE server, you can start monitoring it with Application Insights without the need to make code changes or recompile your project. Con questa opzione è possibile ottenere informazioni sulle richieste HTTP inviate al server, le eccezioni non gestite e i contatori delle prestazioni.With this option, you get information about HTTP requests sent to your server, unhandled exceptions, and performance counters.

È necessaria una sottoscrizione di Microsoft Azure.You'll need a subscription to Microsoft Azure.

Nota

La procedura in questa pagina consente di aggiungere il SDK all'applicazione web in fase di esecuzione.The procedure on this page adds the SDK to your web app at runtime. La strumentazione del runtime è utile se non si vuole aggiornare o ricompilare il codice sorgente.This runtime instrumentation is useful if you don't want to update or rebuild your source code. Ma se possibile, è consigliabile aggiungere l’SDK al codice sorgente invece.But if you can, we recommend you add the SDK to the source code instead. Che offre ulteriori opzioni, ad esempio la scrittura di codice per tenere traccia delle attività dell'utente.That gives you more options such as writing code to track user activity.

1. Ottenere una chiave di strumentazione di Application Insights1. Get an Application Insights instrumentation key

  1. Accedere al portale di Microsoft AzureSign in to the Microsoft Azure portal
  2. Creare una nuova risorsa di Application Insights e configurare il tipo di applicazione su applicazione Web Java.Create a new Application Insights resource and set the application type to Java web application.

    Inserire un nome, scegliere l'app Web Java e fare clic su Crea

    La risorsa viene creata in pochi secondi.The resource is created in a few seconds.

  3. Aprire la nuova risorsa e ottenere la rispettiva chiave di strumentazione.Open the new resource and get its instrumentation key. Questa chiave dovrà a breve essere incollata nel progetto di codice.You'll need to paste this key into your code project shortly.

    Nella panoramica della nuova risorsa, fare clic su Proprietà e copiare la chiave di strumentazione

2. Scaricare l'SDK2. Download the SDK

  1. Scaricare Application Insights SDK per Java.Download the Application Insights SDK for Java.
  2. Sul server, estrarre i contenuti SDK nella directory da cui vengono caricati i file binari del progetto.On your server, extract the SDK contents to the directory from which your project binaries are loaded. Se si usa Tomcat, la directory si trova in genere inwebapps/<your_app_name>/WEB-INF/libIf you’re using Tomcat, this directory would typically be under webapps/<your_app_name>/WEB-INF/lib

Si noti che è necessario ripetere questo passaggio per ogni istanza del server e per ogni app.Note that you need to repeat this on each server instance, and for each app.

3. Aggiungere un file XML di Application Insights3. Add an Application Insights xml file

Creare ApplicationInsights.xml nella cartella in cui è stato aggiunto il SDK.Create ApplicationInsights.xml in the folder in which you added the SDK. Copiarvi il seguente file XML.Put into it the following XML.

Sostituire la chiave di strumentazione recuperata dal portale di Azure.Substitute the instrumentation key that you got from the Azure portal.


    <?xml version="1.0" encoding="utf-8"?>
    <ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">


      <!-- The key from the portal: -->

      <InstrumentationKey>** Your instrumentation key **</InstrumentationKey>


      <!-- HTTP request component (not required for bare API) -->

      <TelemetryModules>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>
      </TelemetryModules>

      <!-- Events correlation (not required for bare API) -->
      <!-- These initializers add context data to each event -->

      <TelemetryInitializers>
        <Add   type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationIdTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationNameTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebSessionTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserTelemetryInitializer"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserAgentTelemetryInitializer"/>

      </TelemetryInitializers>
    </ApplicationInsights>
  • La chiave di strumentazione viene inviata insieme a tutti gli elementi di dati di telemetria e indica ad Application Insights di visualizzarla nella risorsa.The instrumentation key is sent along with every item of telemetry and tells Application Insights to display it in your resource.
  • Il componente delle richieste HTTP è facoltativo.The HTTP Request component is optional. Invia automaticamente i dati di telemetria sulle richieste e tempi di risposta al portale.It automatically sends telemetry about requests and response times to the portal.
  • La correlazione di eventi è un'aggiunta al componente delle richieste HTTP.Events correlation is an addition to the HTTP request component. Assegna un identificatore a ogni richiesta ricevuta dal server e lo aggiunge come proprietà a ogni elemento di telemetria, come proprietà "Operation.Id".It assigns an identifier to each request received by the server, and adds this identifier as a property to every item of telemetry as the property 'Operation.Id'. Consente di correlare i dati di telemetria associati a ogni richiesta impostando un filtro in Ricerca diagnostica.It allows you to correlate the telemetry associated with each request by setting a filter in diagnostic search.

4. Aggiungere un filtro HTTP4. Add an HTTP filter

Individuare e aprire il file web.xml nel progetto e unire il frammento di codice seguente al di sotto del nodo app-web, in cui sono configurati i filtri dell'applicazione.Locate and open the web.xml file in your project, and merge the following snippet of code under the web-app node, where your application filters are configured.

Per ottenere risultati più accurati, il filtro deve essere mappato prima di tutti gli altri filtri.To get the most accurate results, the filter should be mapped before all other filters.


    <filter>
      <filter-name>ApplicationInsightsWebFilter</filter-name>
      <filter-class>
        com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter
      </filter-class>
    </filter>
    <filter-mapping>
       <filter-name>ApplicationInsightsWebFilter</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>

5. Verificare le eccezioni del firewall5. Check firewall exceptions

Potrebbe essere necessario impostare le eccezioni per l'invio dei dati in uscita.You might need to set exceptions to send outgoing data.

6. Riavviare la propria app web.6. Restart your web app

7. Visualizzare i dati di telemetria in Application Insights7. View your telemetry in Application Insights

Tornare alla risorsa di Application Insights nel portale di Microsoft Azure.Return to your Application Insights resource in Microsoft Azure portal.

I dati di telemetria delle richieste HTTP vengono visualizzati nel pannello Panoramica.Telemetry about HTTP requests appears on the overview blade. Se non sono visualizzati, attendere alcuni secondi e quindi fare clic su Aggiorna.(If it isn't there, wait a few seconds and then click Refresh.)

dati di esempio

Fare clic su qualsiasi grafico per visualizzare metriche più dettagliate.Click through any chart to see more detailed metrics.

E quando si visualizzano le proprietà di una richiesta, è possibile visualizzare gli eventi di telemetria associati, ad esempio le richieste e le eccezioni.And when viewing the properties of a request, you can see the telemetry events associated with it such as requests and exceptions.

Altre informazioni sulle metriche.Learn more about metrics.

Passaggi successiviNext steps