Application Insights: domande frequentiApplication Insights: Frequently Asked Questions

Problemi di configurazioneConfiguration problems

Problemi nella configurazione di:I'm having trouble setting up my:

Non sono disponibili dati dal serverI get no data from my server

Si può usare Application Insights con ...?Can I use Application Insights with ...?

È gratuito?Is it free?

Sì, per l'uso sperimentale.Yes, for experimental use. Nel piano tariffario Basic l'applicazione può inviare una determinata quantità di dati gratuitamente ogni mese.In the basic pricing plan, your application can send a certain allowance of data each month free of charge. La capacità massima disponibile è sufficiente per lo sviluppo e la pubblicazione di un'app per un numero ridotto di utenti.The free allowance is large enough to cover development, and publishing an app for a small number of users. È possibile impostare un limite per evitare l'elaborazione di una quantità di dati maggiore a quella specificata.You can set a cap to prevent more than a specified amount of data from being processed.

I volumi più grandi di telemetria vengono addebitati per GB.Larger volumes of telemetry are charged by the Gb. Vedere alcuni suggerimenti su come limitare gli addebiti.We provide some tips on how to limit your charges.

Il piano Enterprise comporta un costo per ogni giorno in cui i singoli nodi del server Web inviano dati di telemetria.The Enterprise plan incurs a charge for each day that each web server node sends telemetry. È appropriato se si vuole usare un'esportazione continua su larga scala.It is suitable if you want to use Continuous Export on a large scale.

Leggere il piano tariffario.Read the pricing plan.

Quanto costa?How much is it costing?

  • Aprire la pagina Funzionalità + prezzi in una risorsa di Application Insights.Open the Features + pricing page in an Application Insights resource. È incluso un grafico dell'utilizzo recente.There's a chart of recent usage. Se si vuole, è possibile impostare un limite di volume di dati.You can set a data volume cap, if you want.
  • Aprire il pannello Fatturazione di Azure per visualizzare i costi di tutte le risorse.Open the Azure Billing blade to see your bills across all resources.

Quali modifiche apporta Application Insights al progetto?What does Application Insights modify in my project?

Dipende dal tipo di progetto.The details depend on the type of project. Per un'applicazione Web:For a web application:

  • Aggiunge tre file al progetto:Adds these files to your project:

    • ApplicationInsights.config.ApplicationInsights.config.
    • ai.jsai.js
  • Installa i pacchetti NuGet seguenti:Installs these NuGet packages:

    • Application Insights API , ovvero l'API principaleApplication Insights API - the core API
    • Application Insights API for Web Applications , che consente di inviare i dati di telemetria dal serverApplication Insights API for Web Applications - used to send telemetry from the server
    • Application Insights API for JavaScript Applications , che consente di inviare i dati di telemetria dal clientApplication Insights API for JavaScript Applications - used to send telemetry from the client

      I pacchetti includono gli assembly seguenti:The packages include these assemblies:

    • Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights
    • Microsoft.ApplicationInsights.PlatformMicrosoft.ApplicationInsights.Platform
  • Inserire elementi in:Inserts items into:

    • Web.configWeb.config
    • packages.configpackages.config
  • (Solo per i muovi progetti. Se si aggiunge Application Insights a un progetto esistente, l'operazione deve essere eseguita manualmente.) Inserisce frammenti nel codice client e server per inizializzarli con l'ID risorsa di Application Insights.(New projects only - if you add Application Insights to an existing project, you have to do this manually.) Inserts snippets into the client and server code to initialize them with the Application Insights resource ID. Ad esempio, in un'app MVC il codice viene inserito nella pagina master Views/Shared/_Layout.cshtmlFor example, in an MVC app, code is inserted into the master page Views/Shared/_Layout.cshtml

In che modo è possibile effettuare l'aggiornamento da versioni dell'SDK meno recenti?How do I upgrade from older SDK versions?

Vedere le note sulla versione dell'SDK appropriato per il tipo di applicazione.See the release notes for the SDK appropriate to your type of application.

In che modo è possibile modificare la risorsa di Azure che riceve i dati del progetto?How can I change which Azure resource my project sends data to?

In Esplora soluzioni fare clic con il pulsante destro del mouse su ApplicationInsights.config e scegliere Aggiorna Application Insights.In Solution Explorer, right-click ApplicationInsights.config and choose Update Application Insights. È possibile inviare i dati a una risorsa nuova o esistente in Azure.You can send the data to an existing or new resource in Azure. L'aggiornamento guidato modifica la chiave di strumentazione in ApplicationInsights.config, che determina la destinazione dei dati inviati dall'SDK del server.The update wizard changes the instrumentation key in ApplicationInsights.config, which determines where the server SDK sends your data. A meno che non venga deselezionata l'opzione "Aggiorna tutto", modificherà anche la chiave in cui appare nelle pagine Web.Unless you deselect "Update all," it will also change the key where it appears in your web pages.

Che cos'è Status Monitor?What is Status Monitor?

Un'app desktop che è possibile usare nel server Web IIS per configurare Application Insights nelle app Web.A desktop app that you can use in your IIS web server to help configure Application Insights in web apps. Non raccoglie dati di telemetria: è possibile interromperlo se non si sta configurando un'app.It doesn't collect telemetry: you can stop it when you are not configuring an app.

Altre informazioni.Learn more.

Quali dati di telemetria vengono raccolti da Application Insights?What telemetry is collected by Application Insights?

Da app Web del server:From server web apps:

Da pagine Web dei client:From client web pages:

Da altre origini, se sono configurate:From other sources, if you configure them:

È possibile filtrare o modificare alcuni dati di telemetria?Can I filter out or modify some telemetry?

Sì, nel server è possibile scrivere:Yes, in the server you can write:

  • Un processore di telemetria per filtrare o aggiungere proprietà agli elementi di telemetria selezionati prima che vengano inviati dall'app.Telemetry Processor to filter or add properties to selected telemetry items before they are sent from your app.
  • Un inizializzatore di telemetria per aggiungere proprietà a tutti gli elementi della telemetria.Telemetry Initializer to add properties to all items of telemetry.

Vedere altre informazioni per ASP.NET o Java.Learn more for ASP.NET or Java.

Come vengono calcolati i dati su città, paesi e altre aree geografiche?How are City, Country and other geo location data calculated?

Viene cercato l'indirizzo IP (IPv4 o IPv6) del client Web tramite GeoLite2.We look up the IP address (IPv4 or IPv6) of the web client using GeoLite2.

  • Telemetria del browser: vengono raccolti gli indirizzi IP del mittente.Browser telemetry: We collect the sender's IP address.
  • Telemetria del server: il modulo di Application Insights raccoglie l'indirizzo IP del client.Server telemetry: The Application Insights module collects the client IP address. L'indirizzo non viene raccolto se è impostato X-Forwarded-For.It is not collected if X-Forwarded-For is set.

È possibile configurare ClientIpHeaderTelemetryInitializer per ottenere l'indirizzo IP da un'intestazione diversa.You can configure the ClientIpHeaderTelemetryInitializer to take the IP address from a different header. Ad esempio, in alcuni sistemi viene spostato da un proxy, da un bilanciamento del carico o da una rete CDN a X-Originating-IP.In some systems, for example, it is moved by a proxy, load balancer, or CDN to X-Originating-IP. Altre informazioni.Learn more.

È possibile usare Power BI per visualizzare i dati di telemetria della richiesta in una mappa.You can use Power BI to display your request telemetry on a map.

Per quanto tempo vengono conservati i dati nel portale?How long is data retained in the portal? Tale conservazione è sicura?Is it secure?

Vedere l'argomento relativo a conservazione dei dati e privacy.Take a look at Data Retention and Privacy.

È possibile che vengano inviate informazioni personali (PII) nella telemetria?Might personally identifiable information (PII) be sent in the telemetry?

Ciò si verifica se il codice invia tali dati.This is possible if your code sends such data. E può verificarsi anche se le variabili dell'analisi dello stack includono informazioni personali.It can also happen if variables in stack traces include PII. Il team di sviluppo deve eseguire valutazioni dei rischi per garantire che le informazioni personali vengono gestite in maniera appropriata.Your development team should conduct risk assessments to ensure that PII is properly handled. Vedere altre informazioni sulla conservazione e privacy dei dati.Learn more about data retention and privacy.

Le ultime otto cifre dell'indirizzo Web del client vengono sempre impostate su 0 dopo l'inserimento dal portale.The last octet of the client web address is always set to 0 after ingestion by the portal.

L'iKey dell'utente è visibile nell'origine della pagina Web.My iKey is visible in my web page source.

  • Questo è una pratica comune nelle soluzioni di monitoraggio.This is common practice in monitoring solutions.
  • Questo valore non può essere usato per appropriarsi dei dati personali.It can't be used to steal your data.
  • Potrebbe essere usato per alterare gli avvisi su dati o trigger.It could be used to skew your data or trigger alerts.
  • Nessun cliente ha segnalato tali problemi.We have not heard that any customer has had such problems.

È possibile:You could:

  • Usare due valori iKey separati, ovvero due risorse separate di Application Insights, per i dati del client e del server.Use two separate iKeys (separate Application Insights resources), for client and server data. oppureOr
  • Scrivere un proxy che viene eseguito nel server in modo che il client Web invii i dati tramite tale proxy.Write a proxy that runs in your server, and have the web client send data through that proxy.

Come visualizzare dati POST in Ricerca diagnostica?How do I see POST data in Diagnostic search?

I dati POST non vengono registrati automaticamente, ma è possibile usare una chiamata TrackTrace; inserire i dati nel parametro del messaggio,We don't log POST data automatically, but you can use a TrackTrace call: put the data in the message parameter. che ha limiti di dimensione più ampi rispetto alle proprietà della stringa, nonostante non sia possibile applicare filtri.This has a longer size limit than the limits on string properties, though you can't filter on it.

È preferibile usare una o più risorse di Application Insights?Should I use single or multiple Application Insights resources?

Usare una singola risorsa per tutti i componenti o i ruoli in un singolo sistema aziendale.Use a single resource for all the components or roles in a single business system. Usare risorse separate per sviluppo, test e versioni di rilascio e per applicazioni indipendenti.Use separate resources for development, test, and release versions, and for independent applications.

Come è possibile modificare dinamicamente la chiave di strumentazione?How do I dynamically change the instrumentation key?

Che cosa sono i conteggi utente e sessione?What are the User and Session counts?

  • JavaScript SDK imposta un cookie utente nel client Web, per identificare gli utenti abituali, e un cookie di sessione per raggruppare le attività.The JavaScript SDK sets a user cookie on the web client, to identify returning users, and a session cookie to group activities.
  • Se non c'è uno script lato client, è possibile impostare cookie per il server.If there is no client-side script, you can set cookies at the server.
  • Se un utente reale usa il sito in browser diversi o esegue una navigazione privata o in incognito oppure usa computer diversi, viene inclusi più di una volta nei conteggi.If one real user uses your site in different browsers, or using in-private/incognito browsing, or different machines, then they will be counted more than once.
  • Per identificare un utente connesso a più computer e browser, aggiungere una chiamata a setAuthenticatedUserContext().To identify a logged-in user across machines and browsers, add a call to setAuthenticatedUserContext().

In Application Insights sono state abilitate tutte le funzionalità?Have I enabled everything in Application Insights?

Elementi che dovrebbero essere visualizzatiWhat you should see Come ottenerliHow to get it Perché si vuole ottenerliWhy you want it
Grafici di disponibilitàAvailability charts Test WebWeb tests Stabilire se l'app Web è attivaKnow your web app is up
Prestazioni dell'app server: tempi di risposta, ...Server app perf: response times, ... Aggiungere Application Insights al progetto o installare Status Monitor di Application Insights nel server (o scrivere il codice per tenere traccia delle dipendenze)Add Application Insights to your project or Install AI Status Monitor on server (or write your own code to track dependencies) Rilevare i problemi di prestazioniDetect perf issues
Telemetria di dipendenzaDependency telemetry Installare Status Monitor di Application Insights nel serverInstall AI Status Monitor on server Diagnosticare i problemi relativi a database o altri componenti esterniDiagnose issues with databases or other external components
Ricavare analisi dello stack dalle eccezioniGet stack traces from exceptions Inserire chiamate TrackException nel codice (ma alcune sono segnalate automaticamente)Insert TrackException calls in your code (but some are reported automatically) Rilevare e diagnosticare le eccezioniDetect and diagnose exceptions
Eseguire la ricerca di tracce dei logSearch log traces Aggiungere un adattatore di registrazioneAdd a logging adapter Diagnosticare le eccezioni, problemi di prestazioniDiagnose exceptions, perf issues
Nozioni di base dell'utilizzo del client: visualizzazioni pagina, sessioni, ...Client usage basics: page views, sessions, ... Inizializzatore JavaScript nelle pagine WebJavaScript initializer in web pages Analisi dell'utilizzoUsage analytics
Metriche personalizzate clientClient custom metrics Rilevamento delle chiamate nelle pagine WebTracking calls in web pages Migliorare l'esperienza utenteEnhance user experience
Metriche personalizzate serverServer custom metrics Rilevamento delle chiamate nel serverTracking calls in server Business intelligenceBusiness intelligence

Perché i conteggi nei grafici di ricerca e di metrica non sono uguali?Why are the counts in Search and Metrics charts unequal?

Il campionamento riduce il numero di elementi di telemetria (richieste, eventi personalizzati e così via) inviati effettivamente dall'app al portale.Sampling reduces the number of telemetry items (requests, custom events, and so on) that are actually sent from your app to the portal. Nel grafico di ricerca, viene visualizzato il numero di elementi effettivamente ricevuti.In Search, you see the number of items actually received. Nei grafici di metrica che visualizzano un conteggio degli eventi, è possibile vedere il numero di eventi originali che si sono verificati.In metric charts that display a count of events, you see the number of original events that occurred.

Ogni elemento trasmesso include una proprietà itemCount che visualizza il numero di eventi originali rappresentati da questo elemento.Each item that is transmitted carries an itemCount property that shows how many original events that item represents. Per osservare un campionamento in esecuzione, è possibile eseguire questa query in Analytics:To observe sampling in operation, you can run this query in Analytics:

    requests | summarize original_events = sum(itemCount), transmitted_events = count()

AutomazioneAutomation

Configurazione di Application InsightsConfiguring Application Insights

È possibile scrivere script di PowerShell tramite Monitoraggio risorse di Azure per:You can write PowerShell scripts using Azure Resource Monitor to:

  • Creare e aggiornare risorse di Application Insights.Create and update Application Insights resources.
  • Impostare il piano tariffario.Set the pricing plan.
  • Ottenere la chiave di strumentazione.Get the instrumentation key.
  • Aggiungere un avviso di metrica.Add a metric alert.
  • Aggiungere un test di disponibilità.Add an availability test.

Non è possibile impostare un report di esplorazione delle metriche o impostare un'esportazione continua.You can't set up a Metric Explorer report or set up continuous export.

Esecuzione di query sui dati di telemetriaQuerying the telemetry

Usare l'API REST per eseguire le query di Analytics.Use the REST API to run Analytics queries.

Come è possibile impostare un avviso per un evento?How can I set an alert on an event?

Gli avvisi di Azure si applicano solo alle metriche.Azure alerts are only on metrics. Creare una metrica personalizzata che supera una soglia di valori ogni volta che si verifica l'evento.Create a custom metric that crosses a value threshold whenever your event occurs. Impostare quindi un avviso per la metrica.Then set an alert on the metric. Si noti che verrà inviata una notifica ogni volta che la metrica supera la soglia in entrambe le direzioni. Non si riceverà una notifica fino al primo superamento, indipendentemente dal valore iniziale. C'è sempre una latenza di pochi minuti.Note that: you'll get a notification whenever the metric crosses the threshold in either direction; you won't get a notification until the first crossing, no matter whether the initial value is high or low; there is always a latency of a few minutes.

Ci sono costi per il trasferimento dati tra un'app Web di Azure e Application Insights?Are there data transfer charges between an Azure web app and Application Insights?

  • Se l'app Web di Azure è ospitata in un data center in cui è presente un endpoint di raccolta di Application Insights, non è previsto alcun addebito.If your Azure web app is hosted in a data center where there is an Application Insights collection endpoint, there is no charge.
  • Se non c'è nessun endpoint nel data center host, la telemetria dell'app sarà soggetta agli addebiti in uscita di Azure.If there is no collection endpoint in your host data center, then your app's telemetry will incur Azure outgoing charges.

Ciò non dipende da dove è ospitata la risorsa di Application Insights.This doesn't depend on where your Application Insights resource is hosted. Dipende solo dalla distribuzione degli endpoint.It just depends on the distribution of our endpoints.

È possibile inviare dati di telemetria al portale di Application Insights?Can I send telemetry to the Application Insights portal?

È consigliabile usare gli SDK di Microsoft e usare l'API SDK (app-insights-api-custom-events-metrics.md).We recommend you use our SDKs and use the SDK API (app-insights-api-custom-events-metrics.md). Sono disponibili varianti dell'SDK per diverse piattaforme.There are variants of the SDK for various platforms. Gli SDK gestiscono bufferring, compressione, limitazione, tentativi e così via.These SDKs handle buffering, compression, throttling, retries, and so on. Tuttavia, lo schema di inserimento e il protocollo di endpoint sono pubblici.However, the ingestion schema and endpoint protocol are public.

È possibile monitorare un server Web Intranet?Can I monitor an intranet web server?

Di seguito vengono illustrati due metodi:Here are two methods:

Porta firewallFirewall door

Consentire al server Web di inviare dati di telemetria agli endpoint https://dc.services.visualstudio.com:443 e https://rt.services.visualstudio.com:443.Allow your web server to send telemetry to our endpoints https://dc.services.visualstudio.com:443 and https://rt.services.visualstudio.com:443.

ProxyProxy

Instradare il traffico dal server a un gateway nella rete Intranet, impostando quanto segue in ApplicationInsights.config:Route traffic from your server to a gateway on your intranet, by setting this in ApplicationInsights.config:

<TelemetryChannel>
    <EndpointAddress>your gateway endpoint</EndpointAddress>
</TelemetryChannel>

Il gateway deve indirizzare il traffico a https://dc.services.visualstudio.com:443/v2/trackYour gateway should route the traffic to https://dc.services.visualstudio.com:443/v2/track

È possibile eseguire test Web di disponibilità in un server Intranet?Can I run Availability web tests on an intranet server?

I test Web vengono eseguiti in punti di presenza distribuiti in tutto il globo.Our web tests run on points of presence that are distributed around the globe. Sono disponibili due soluzioni:There are two solutions:

  • Porta di firewall: consentire al server di ricevere richieste dall'elenco esteso e modificabile degli agenti di test Web.Firewall door - Allow requests to your server from the long and changeable list of web test agents.
  • Scrivere un codice personalizzato per inviare richieste periodiche al server dall'interno della rete Intranet.Write your own code to send periodic requests to your server from inside your intranet. A tale scopo è anche possibile eseguire test Web di Visual Studio.You could run Visual Studio web tests for this purpose. Il tester può inviare i risultati ad Application Insights tramite l'API TrackAvailability().The tester could send the results to Application Insights using the TrackAvailability() API.

Altre risposteMore answers