Para que o agente do Telegraf colete métricas para alguns dos serviços de aplicativo, você deve fazer modificações nas VMs de endpoint. Depois de fazer essas modificações, o agente começa a coletar métricas. Você deve SSH para a máquina virtual em que implantou o agente e modificar os arquivos de configuração.

Apache HTTPD

Para que o agente colete métricas, modifique o arquivo conf disponível em /etc/httpd/conf.modules.d/status.conf e ative o mod_status para o plug-in HTTPD.

<IfModule mod_status.c>

<Location /server-status>

    SetHandler server-status

</Location>

ExtendedStatus On

</IfModule>

Se o arquivo conf não estiver disponível, você deverá criar um. Reinicie o serviço HTTPD após modificar o arquivo conf com o seguinte comando:

systemctl restart httpd

Aplicativo Java

Atualmente, o suporte para o monitoramento de aplicativos Java está limitado a aplicativos que suportam o monitoramento JMX baseado em jolokia. Atualmente, como parte da ativação do plug-in Java, os arquivos jolokia.jar e jolokia.war são colocados no "Caminho Instalado". Se o aplicativo Java a ser monitorado for um contêiner de servlet, o arquivo jolokia.war será implementado automaticamente no "Caminho Instalado" que você forneceu quando configurou o aplicativo Java em VMware Aria Operations. Se a implementação automática não for suportada ou não estiver ativada, reinicie o aplicativo após ativar o plug-in ou consulte a documentação do produto do aplicativo para obter a implementação do .war manual.

Para todos os outros aplicativos Java, primeiro ative o plug-in e, em seguida, inclua o caminho para o arquivo jolokia.jar no sinalizador JVM "-javaagent:" como um parâmetro de linha de comando. Por exemplo, "-javaagent:/<path_to_jolokia>/jolokia.jar", <path_to_jolokia> é o "Caminho Instalado" que foi fornecido durante a configuração do aplicativo. Reinicie o aplicativo.

Observação: Para monitorar um aplicativo Java personalizado de terceiros, certifique-se de que:
  • O monitoramento JMX baseado em jolokia é suportado.
  • Caso a implantação automática esteja desativada, a implantação manual do .war é compatível com o aplicativo de contêiner de servlet.
  • "-javaagent:" O sinalizador JVM foi adicionado como parte do parâmetro de linha de comando (JVM_OPTS)

Nginx

Adicione as seguintes linhas ao arquivo conf disponível em /etc/nginx/nginx.conf:

http {
    server {
        location /status {
            stub_status on;
   access_log off;
   allow all;
  }
    }
}

Reinicie o serviço Nginx com o seguinte comando:

systemctl restart nginx

Postgres

No arquivo de configuração disponível em /var/lib/pgsql/data/pg_hba.conf, altere o valor de local all postgres peer para local all postgres md5 e reinicie o serviço com o seguinte comando:

sudo service postgresql restart

Cassandra

Para monitorar o aplicativo de banco de dados Cassandra, o jar Jolokia deve ser incluído como uma entrada JVM para o aplicativo de banco de dados Cassandra. Conclua as seguintes etapas:

  1. Modifique /etc/default/cassandra.

    echo "export JVM_EXTRA_OPTS=\"-javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost\"" | sudo tee -a /etc/default/cassandra
    Observação:

    Você pode baixar a versão mais recente do agente Jolokia em https://jolokia.org/download.html. Para uma implementação de arquivo .JAR, você precisa reiniciar o serviço de aplicativo após incluir o caminho completo do arquivo do JAR no argumento JMX do processo JAVA que você está monitorando.

  2. Como alternativa, você pode ativar o agente modificando cassandra-env.sh. Inclua a seguinte linha no final do cassandra-env.sh:

    JVM_OPTS="$JVM_OPTS -javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost"

    Depois de ver as entradas da JVM, reinicie o serviço do Cassandra.

Banco de Dados Oracle

Para monitorar o banco de dados Oracle, conclua estas etapas:

  1. Faça download da biblioteca de cliente instantânea em: https://www.oracle.com/database/technologies/instant-client/downloads.html.

    Você deve baixar a biblioteca instantânea do Oracle e incluí-la no PATH.

  2. Instale o Python 3.6 ou posterior. Instale o módulo cx_Oracle.
    python3 -m pip install cx_Oracle --upgrade
  3. Criar um usuário.

    CREATE USER <UserName> IDENTIFIED BY <yourpassword>;
     GRANT select_catalog_role TO <UserName>;
     GRANT CREATE SESSION TO <UserName>;
  4. Para uma VM Windows:
    1. Anexe o caminho da biblioteca do Oracle Instant Client e o caminho do Python à variável de ambiente PATH.
    2. Instale o agente ARC.
  5. Para uma VM Linux: (For a Linux VM:)
    1. Instale o agente ARC.
    2. Obtenha o arquivo exec_oracle_python.sh(wget --no-check-certificate https://<CP_IP>/downloads/salt/content-accessories/exec_oracle_python.sh) de /opt/vmware/ ucp/.
    3. Preencha /opt/vmware/ucp/exec_oracle_python.sh com valores absolutos para LD_LIBRARY_PATH, ORACLE_HOME, PYTHON_BIN e TNS_ADMIN.

      LD_LIBRARY_PATH: caminho para a biblioteca do Oracle Instant Client. Por exemplo, /opt/vmware/ucp/instantclient_21_4.

      ORACLE_HOME: diretório no sistema de arquivos em que o software Oracle está instalado. Por exemplo, /u01/app/oracle/product/19.3.0/dbhome_1/.

      PYTHON_BIN: caminho para o executável do Python. Por exemplo, /usr/bin/python.

      TNS_ADMIN: variável de ambiente que aponta para o diretório no qual os arquivos de configuração do SQL*Net estão localizados. Por exemplo, /u01/app/oracle/product/19.3.0/dbhome_1/network/admin.

    4. Ative o plug-in Oracle DB.

Active MQ 5.16 e versões posteriores

Para ativar o Active MQ 5.16 e versões posteriores, conclua as seguintes etapas:

  • Vá para /opt/activemq/apache-activemq-5.16.0/webapps/api/WEB-INF/classes/jolokia-access.xml

  • Remova ou comente as seguintes linhas:

    <cors>
      <strict-checking/>
    </cors>
  • Reinicie o serviço do Active MQ.

Microsoft SQL Server

A conta de usuário deve ter as seguintes permissões para monitorar o serviço de aplicativo do Microsoft SQL Server com o Telegraf.

USE master;
GO
CREATE LOGIN [telegraf] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [telegraf];
GO
GRANT VIEW ANY DEFINITION TO [telegraf];
GO
Observação: Se você quiser monitorar instâncias nomeadas do serviço de aplicativo do Microsoft SQL Server, a entrada de ativação do plug-in não deverá ter o campo Porta configurado. Use Porta somente quando não houver instância no servidor (padrão 1433).