collectd: metriche delle prestazioni Linux in Application Insightscollectd: Linux performance metrics in Application Insights

Per esplorare le metriche delle prestazioni del sistema Linux in Application Insights, installare collectd insieme al rispettivo plug-in di Application Insights.To explore Linux system performance metrics in Application Insights, install collectd, together with its Application Insights plug-in. Questa soluzione open source raccoglie diverse che relative al sistema e alla rete.This open-source solution gathers various system and network statistics.

In genere, si usa collectd se è già stato instrumentato il servizio Web Java con Application Insights.Typically you'll use collectd if you have already instrumented your Java web service with Application Insights. Fornisce una maggiore quantità di dati che consentono di migliorare le prestazioni dell'app o diagnosticare i problemi.It gives you more data to help you to enhance your app's performance or diagnose problems.

Grafici di esempio

Ottenere la chiave di strumentazioneGet your instrumentation key

Nel Portale di Microsoft Azure aprire la risorsa Application Insights in cui devono essere visualizzati i dati.In the Microsoft Azure portal, open the Application Insights resource where you want the data to appear. In alternativa, creare una nuova risorsa.(Or create a new resource.)

Copiare la chiave di strumentazione, che identifica la risorsa.Take a copy of the instrumentation key, which identifies the resource.

Visualizzare tutto, aprire la risorsa e quindi nell'elenco a discesa Informazioni di base selezionare e copiare la chiave di strumentazione

Installare collectd e il plug-inInstall collectd and the plug-in

Nei computer server Linux:On your Linux server machines:

  1. Installare collectd versione 5.4.0 o successive.Install collectd version 5.4.0 or later.
  2. Scaricare il plug-in di scrittura collectd di Application Insights.Download the Application Insights collectd writer plugin. Annotare il numero di versione.Note the version number.
  3. Copiare il file JAR del plug-in in /usr/share/collectd/java.Copy the plugin JAR into /usr/share/collectd/java.
  4. Modificare /etc/collectd/collectd.conf:Edit /etc/collectd/collectd.conf:
    • Assicurarsi che il plug-in Java sia abilitato.Ensure that the Java plugin is enabled.
    • Aggiornare JVMArg per java.class.path in modo da includere il file JAR seguente.Update the JVMArg for the java.class.path to include the following JAR. Aggiornare il numero di versione in modo che corrisponda a quello scaricato:Update the version number to match the one you downloaded:
    • /usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar
    • Aggiungere questo frammento di codice usando la chiave di strumentazione dalla risorsa:Add this snippet, using the Instrumentation Key from your resource:

     LoadPlugin "com.microsoft.applicationinsights.collectd.ApplicationInsightsWriter"
     <Plugin ApplicationInsightsWriter>
        InstrumentationKey "Your key"
     </Plugin>

Di seguito è riportata una parte di un file di configurazione di esempio:Here's part of a sample configuration file:


    ...
    # collectd plugins
    LoadPlugin cpu
    LoadPlugin disk
    LoadPlugin load
    ...

    # Enable Java Plugin
    LoadPlugin "java"

    # Configure Java Plugin
    <Plugin "java">
      JVMArg "-verbose:jni"
      JVMArg "-Djava.class.path=/usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar:/usr/share/collectd/java/collectd-api.jar"

      # Enabling Application Insights plugin
      LoadPlugin "com.microsoft.applicationinsights.collectd.ApplicationInsightsWriter"

      # Configuring Application Insights plugin
      <Plugin ApplicationInsightsWriter>
        InstrumentationKey "12345678-1234-1234-1234-123456781234"
      </Plugin>

      # Other plugin configurations ...
      ...
    </Plugin>
    ...

Configurare altri plug-in collectd, che possono raccogliere diversi dati da origini diverse.Configure other collectd plugins, which can collect various data from different sources.

Riavviare collectd, come indicato nel rispettivo manuale.Restart collectd according to its manual.

Visualizzare i dati in Application InsightsView the data in Application Insights

Nella risorsa di Application Insights aprire Esplora metriche e aggiungere grafici, selezionando le metriche da visualizzare dalla categoria personalizzata.In your Application Insights resource, open Metrics Explorer and add charts, selecting the metrics you want to see from the Custom category.

Per impostazione predefinita, le metriche vengono aggregate per tutti i computer host da cui vengono raccolte le metriche.By default, the metrics are aggregated across all host machines from which the metrics were collected. Per visualizzare le metriche dei singoli host, nel pannello di dettagli del grafico attivare l'opzione Raggruppamento e quindi scegliere di eseguire il raggruppamento in base a CollectD-Host.To view the metrics per host, in the Chart details blade, turn on Grouping and then choose to group by CollectD-Host.

Per escludere il caricamento di statistiche specificheTo exclude upload of specific statistics

Per impostazione predefinita, il plug-in di Application Insights invia tutti i dati raccolti da tutti i plug-in di tipo 'read' di collectd.By default, the Application Insights plugin sends all the data collected by all the enabled collectd 'read' plugins.

Per escludere dati da plug-in specifici oppure origini dati specifiche:To exclude data from specific plugins or data sources:

  • Modificare il file di configurazione.Edit the configuration file.
  • In <Plugin ApplicationInsightsWriter>aggiungere righe di direttive analoghe alle seguenti:In <Plugin ApplicationInsightsWriter>, add directive lines like this:
DirettivaDirective EffettoEffect
Exclude disk Esclusione di tutti i dati raccolti dal plug-in disk .Exclude all data collected by the disk plugin
Exclude disk:read,write Esclusione delle origini denominate read e write dal plug-in disk.Exclude the sources named read and write from the disk plugin.

Separare le direttive con un valore NewLine.Separate directives with a newline.

Problemi?Problems?

I dati non vengono visualizzati nel portaleI don't see data in the portal

  • Aprire Cerca per verificare se gli eventi non elaborati sono stati ricevuti.Open Search to see if the raw events have arrived. In alcuni casi necessitano di più tempo per la visualizzazione in Esplora metriche.Sometimes they take longer to appear in metrics explorer.
  • Potrebbe essere necessario impostare le eccezioni del firewall per i dati in uscitaYou might need to set firewall exceptions for outgoing data
  • Abilitare la traccia nel plug-in di Application Insights.Enable tracing in the Application Insights plugin. Aggiungere questa riga in <Plugin ApplicationInsightsWriter>:Add this line within <Plugin ApplicationInsightsWriter>:
    • SDKLogger true
  • Aprire un terminale e avviare collectd in modalità dettagliata, per visualizzare eventuali problemi segnalati:Open a terminal and start collectd in verbose mode, to see any issues it is reporting:
    • sudo collectd -f

Problema notoKnown issue

Il plug-in di scrittura di Application Insights non è compatibile con alcuni plug-in di lettura.The Application Insights Write plugin is incompatible with certain Read plugins. Alcuni plug-in a volte inviano un errore "non un numero" quando il plug-in di Application Insights prevede un numero a virgola mobile.Some plugins sometimes send "NaN" where the Application Insights plugin expects a floating-point number.

Sintomo: Il log di collectd visualizza errori che includono "AI:... SyntaxError: N token non previsto".Symptom: The collectd log shows errors that include "AI: ... SyntaxError: Unexpected token N".

Soluzione alternativa: escludere i dati raccolti dal plug-in di scrittura che causa il problema.Workaround: Exclude data collected by the problem Write plugins.