collectd: métricas de desempenho do Linux no Application Insightscollectd: Linux performance metrics in Application Insights

Para explorar as métricas de desempenho do sistema Linux no Application Insights, instale collectd com seu plug-in do Application Insights.To explore Linux system performance metrics in Application Insights, install collectd, together with its Application Insights plug-in. Essa solução de software livre reúne várias estatísticas de sistema e de rede.This open-source solution gathers various system and network statistics.

Normalmente, você usará o collectd se já tiver instrumentado seu serviço Web Java com o Application Insights.Typically you'll use collectd if you have already instrumented your Java web service with Application Insights. Isso oferece a você mais dados para ajudá-lo a aprimorar o desempenho do aplicativo ou para diagnosticar problemas.It gives you more data to help you to enhance your app's performance or diagnose problems.

Obter a chave de instrumentaçãoGet your instrumentation key

No Portal do Microsoft Azure, abra o recurso Application Insights onde você quer que os dados sejam exibidos.In the Microsoft Azure portal, open the Application Insights resource where you want the data to appear. (Ou crie um novo recurso.)(Or create a new resource.)

Faça uma cópia da chave de instrumentação que identifica o recurso.Take a copy of the instrumentation key, which identifies the resource.

Procure tudo, abra seu recurso e, no menu suspenso Essentials, selecione e copie a Chave de Instrumentação

Instalar o plug-in e collectdInstall collectd and the plug-in

Em seus computadores com o servidor Linux:On your Linux server machines:

  1. Instale collectd versão 5.4.0 ou posterior.Install collectd version 5.4.0 or later.
  2. Baixe o plug-in do gravador collectd do Application Insights.Download the Application Insights collectd writer plugin. Observe o número de versão.Note the version number.
  3. Copie o plug-in JAR em /usr/share/collectd/java.Copy the plugin JAR into /usr/share/collectd/java.
  4. Edite /etc/collectd/collectd.conf:Edit /etc/collectd/collectd.conf:
    • Verifique se o plug-in do Java está habilitado.Ensure that the Java plugin is enabled.
    • Atualize o JVMArg para java.class.path de modo a incluir o JAR a seguir.Update the JVMArg for the java.class.path to include the following JAR. Atualize o número de versão para corresponder àquela que você baixou:Update the version number to match the one you downloaded:
    • /usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar
    • Adicione esse snippet usando a chave de instrumentação do seu recurso:Add this snippet, using the Instrumentation Key from your resource:

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

Veja o exemplo de parte de um arquivo de configuração: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>
    ...

Configure outros plug-ins collectd, que possam coletar vários dados de diferentes fontes.Configure other collectd plugins, which can collect various data from different sources.

Reinicie o collectd, de acordo com seu manual.Restart collectd according to its manual.

Exibir os dados no Application InsightsView the data in Application Insights

No recurso Application Insights, abra métricas e adicione gráficos, selecionando as métricas que você deseja ver na categoria personalizada.In your Application Insights resource, open Metrics and add charts, selecting the metrics you want to see from the Custom category.

Por padrão, as métricas são agregadas em todos os computadores host dos quais as métricas foram coletadas.By default, the metrics are aggregated across all host machines from which the metrics were collected. Para exibir as métricas por host, na folha Detalhes do gráfico, ative Agrupamento e escolha Agrupar por CollectD-Host.To view the metrics per host, in the Chart details blade, turn on Grouping and then choose to group by CollectD-Host.

Excluir o carregamento de estatísticas específicasTo exclude upload of specific statistics

Por padrão, o plug-in do Application Insights envia todos os dados coletados por todos os plug-ins collect ‘read’ habilitados.By default, the Application Insights plugin sends all the data collected by all the enabled collectd 'read' plugins.

Para excluir dados de plug-ins ou fontes de dados específicos:To exclude data from specific plugins or data sources:

  • Edite o arquivo de configuração.Edit the configuration file.
  • Em <Plugin ApplicationInsightsWriter>, adicione linhas diretivas como esta:In <Plugin ApplicationInsightsWriter>, add directive lines like this:
DiretivaDirective EfeitoEffect
Exclude disk Excluir todos os dados coletados pelo plug-in diskExclude all data collected by the disk plugin
Exclude disk:read,write Exclua as fontes denominadas read e write do plug-in disk.Exclude the sources named read and write from the disk plugin.

Diretivas separadas por uma nova linha.Separate directives with a newline.

Problemas?Problems?

Não vejo dados no portalI don't see data in the portal

  • Abra Pesquisar para ver se os eventos brutos aparecem.Open Search to see if the raw events have arrived. Às vezes, eles levam mais tempo para aparecer no Metrics Explorer.Sometimes they take longer to appear in metrics explorer.
  • Talvez você precise definir exceções de firewall para dados de saídaYou might need to set firewall exceptions for outgoing data
  • Habilite o rastreamento no plug-in do Application Insights.Enable tracing in the Application Insights plugin. Adicione esta linha em <Plugin ApplicationInsightsWriter>:Add this line within <Plugin ApplicationInsightsWriter>:
    • SDKLogger true
  • Abra um terminal e inicie collectd no modo detalhado para ver todos os problemas que ele está reportando:Open a terminal and start collectd in verbose mode, to see any issues it is reporting:
    • sudo collectd -f

Problema conhecidoKnown issue

O plug-in de Gravação do Application Insights é incompatível com determinados plugins de Leitura.The Application Insights Write plugin is incompatible with certain Read plugins. Alguns plugins às vezes enviam "NaN" onde o plug-in do Application Insights espera um número de ponto flutuante.Some plugins sometimes send "NaN" where the Application Insights plugin expects a floating-point number.

Sintoma: o log coletado mostra erros que incluem "ia:... SyntaxError: token N inesperado ".Symptom: The collectd log shows errors that include "AI: ... SyntaxError: Unexpected token N".

Solução alternativa: exclua dados coletados pelo problema de plugins de Gravação.Workaround: Exclude data collected by the problem Write plugins.