collectd : métriques de performances Linux dans Application Insightscollectd: Linux performance metrics in Application Insights

Pour explorer les métriques de performances d’un système Linux dans Application Insights, installez collectd et son plug-in Application Insights.To explore Linux system performance metrics in Application Insights, install collectd, together with its Application Insights plug-in. Cette solution open source rassemble diverses statistiques concernant le système et le réseau.This open-source solution gathers various system and network statistics.

De manière générale, on utilise collectd après avoir instrumenté le service web Java avec Application Insights.Typically you'll use collectd if you have already instrumented your Java web service with Application Insights. Il vous donne davantage de données pour vous aider à améliorer les performances de votre application ou à diagnostiquer les problèmes.It gives you more data to help you to enhance your app's performance or diagnose problems.

Récupérer votre clé d’instrumentationGet your instrumentation key

Dans le Portail Microsoft Azure, ouvrez la ressource Application Insights dans laquelle vous souhaitez afficher les données.In the Microsoft Azure portal, open the Application Insights resource where you want the data to appear. (Ou créez une ressource.)(Or create a new resource.)

Effectuez une copie de la clé d’instrumentation, qui identifie la ressource.Take a copy of the instrumentation key, which identifies the resource.

Parcourez tous les éléments, ouvrez votre ressource, puis, dans la liste déroulante « Essentials », sélectionnez et copiez la clé d’instrumentation.

Installer le plug-in et collectdInstall collectd and the plug-in

Sur vos ordinateurs serveurs Linux :On your Linux server machines:

  1. Installez collectd version 5.4.0 ou ultérieure.Install collectd version 5.4.0 or later.
  2. Téléchargez le plug-in d'écriture collectd Application Insights.Download the Application Insights collectd writer plugin. Notez le numéro de version.Note the version number.
  3. Copiez le fichier JAR du plug-in dans /usr/share/collectd/java.Copy the plugin JAR into /usr/share/collectd/java.
  4. Modifiez /etc/collectd/collectd.conf:Edit /etc/collectd/collectd.conf:
    • Vérifiez que le plug-in Java est activé.Ensure that the Java plugin is enabled.
    • Mettez à jour l’élément JVMArg pour java.class.path afin d’inclure le fichier JAR suivant.Update the JVMArg for the java.class.path to include the following JAR. Mettez à jour le numéro de version afin qu’il corresponde à celui que vous avez téléchargé :Update the version number to match the one you downloaded:
    • /usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar
    • Ajoutez cet extrait de code à l’aide de la clé d’instrumentation provenant de votre ressource :Add this snippet, using the Instrumentation Key from your resource:

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

Voici une partie d’un exemple de fichier de configuration :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>
    ...

Configurez d’autres plug-ins collectdpermettant de collecter des données de différentes sources.Configure other collectd plugins, which can collect various data from different sources.

Redémarrez collectd selon les instructions de son manuel.Restart collectd according to its manual.

Visualiser les données dans Application InsightsView the data in Application Insights

Dans votre ressource Application Insights, ouvrez Métriques et ajoutez des graphiques en sélectionnant les métriques que vous souhaitez voir dans la catégorie Personnalisé.In your Application Insights resource, open Metrics and add charts, selecting the metrics you want to see from the Custom category.

Par défaut, les métriques sont agrégés sur toutes les machines hôtes à partir desquelles ils ont été collectés.By default, the metrics are aggregated across all host machines from which the metrics were collected. Pour visualiser les métriques par hôte, dans le panneau des détails du graphique, activez le regroupement, puis choisissez un groupement de type CollectD-Host.To view the metrics per host, in the Chart details blade, turn on Grouping and then choose to group by CollectD-Host.

Pour exclure le chargement de statistiques spécifiquesTo exclude upload of specific statistics

Par défaut, le plug-in Application Insights envoie toutes les données collectées par tous les plug-ins de lecture collectd activés.By default, the Application Insights plugin sends all the data collected by all the enabled collectd 'read' plugins.

Pour exclure des données provenant de plug-ins ou de sources de données spécifiques :To exclude data from specific plugins or data sources:

  • Modifiez le fichier de configuration.Edit the configuration file.
  • Dans <Plugin ApplicationInsightsWriter>, ajoutez les directives suivantes :In <Plugin ApplicationInsightsWriter>, add directive lines like this:
DirectiveDirective RésultatEffect
Exclude disk Exclusion de toutes les données collectées par le plug-in disk .Exclude all data collected by the disk plugin
Exclude disk:read,write Exclusion des sources nommées read et write du plug-in disk.Exclude the sources named read and write from the disk plugin.

Séparez les directives par un saut de ligne.Separate directives with a newline.

Des problèmes ?Problems?

Je ne vois pas les données dans le portailI don't see data in the portal

  • Ouvrez Rechercher pour voir si les événements bruts sont arrivés.Open Search to see if the raw events have arrived. Ils mettent parfois du temps à apparaître dans Metrics Explorer.Sometimes they take longer to appear in metrics explorer.
  • Vous devrez peut-être définir des exceptions de pare-feu pour les données sortantesYou might need to set firewall exceptions for outgoing data
  • Activez le suivi dans le plug-in Application Insights.Enable tracing in the Application Insights plugin. Ajoutez la ligne ci-après dans <Plugin ApplicationInsightsWriter>:Add this line within <Plugin ApplicationInsightsWriter>:
    • SDKLogger true
  • Ouvrez un terminal et démarrez collectd en mode détaillé pour vérifier si des problèmes ont été signalés :Open a terminal and start collectd in verbose mode, to see any issues it is reporting:
    • sudo collectd -f

Problème connuKnown issue

Le plug-in d’écriture Application Insights n’est pas compatible avec certains plug-ins de lecture.The Application Insights Write plugin is incompatible with certain Read plugins. Certains plug-ins envoient parfois « NaN » alors que le plug-in Application Insights s’attend à recevoir un nombre à virgule flottante.Some plugins sometimes send "NaN" where the Application Insights plugin expects a floating-point number.

Symptôme : le journal collectd affiche des erreurs incluant « AI: ... SyntaxError: Jeton inattendu N ».Symptom: The collectd log shows errors that include "AI: ... SyntaxError: Unexpected token N".

Solution de contournement : exclure les données collectées par les plug-ins d’écriture à l’origine du problème.Workaround: Exclude data collected by the problem Write plugins.