Diagnosticar e Solucionar Problemas de Implantação do Agente Java do APM

Os usuários podem encontrar diferentes erros durante a implantação do agente Java do APM. Algumas causas e ações comuns estão listadas nesta seção.

Verifique a conectividade de rede usando AgentConnect

Causa: Não é possível estabelecer conexão com o ponto final de upload do OCI APM.

Ação: Use AgentConnect para solucionar problemas de conectividade de rede.

AgentConnect

AgentConnect é um utilitário usado para testar a conectividade entre o host que está executando o agente do APM e o ponto final de upload do APM do OCI. Ele pode diagnosticar diferentes problemas, como problemas de certificado SSL, problemas de FIPS, problemas de PKI, problemas de proxy e muito mais.

AgentConnect é útil quando algumas ferramentas de rede, como ping, curl ou wget, não estão disponíveis e/ou não fazem parte do ambiente. Por exemplo, alguns ambientes Docker ou Kubernetes não têm o utilitário ping disponível.

  • Requisito: JDK disponível no PATH ou definido pela variável de ambiente JAVA_HOME.

  • Local: Após a implantação do Agente do APM, você poderá encontrar AgentConnect no diretório oracle-apm-agent/bin.

  • Execute AgentConnect: Para chamar AgentConnect, use o seguinte:
    • Para Windows: AgentConnect.bat
    • Para Linux: AgentConnect.sh

    Exemplo:

    C:\apm\oracle-apm-agent\bin>AgentConnect.bat

    Quando você chama AgentConnect sem parâmetros, como o exemplo acima, ele usa o arquivo AgentConfig.properties para ler todos os detalhes da configuração.

    Se você quiser substituir qualquer uma das propriedades no arquivo AgentConfig.properties, poderá fazer isso na linha de comando.

  • Ajuda AgentConnect: Para exibir todas as opções de ajuda disponíveis na linha de comando, chame AgentConnect usando o argumento -h para exibir a ajuda do comando. Por exemplo:

    C:\apm\oracle-apm-agent\bin> AgentConnect -h
AgentConnect Exemplos de Saída:
  • AgentConnect Resultado: PASSADO

    Veja abaixo um exemplo quando não há problemas de conectividade de rede:
    C:\apm\oracle-apm-agent\bin>AgentConnect.bat

    A saída é semelhante à seguinte:

    Using JAVA_HOME: "c:\java\jdk1.8.0_351"
    
    Reading config file 'C:\apm\oracle-apm-agent\config\1.10\AgentConfig.properties'
    java version "1.8.0_351" 
    Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)
    
    Testing 'https://aaabbbbcccc.apm-agt.us-phoenix-1.oci.oc-test.com/20200101/opentelemetry/v1/metrics'
        with datakey 'TTTTTEEEEEEMMMMGV4SIPDRJWI'   
        using JDK HttpURLConnection 
    
    HTTP Server Response:
    HTTP/1.1 200 OK
    Strict-Transport-Security: max-age=31536000; includeSubDomains;
    Connection: keep-alive
    Content-Length: 0
    opc-request-id: /DA962BB6C59E3E845EA503755ABB48C6/EFF6778EDE89E511072E05E2DD15FBFD
    Date: Fri, 19 May 2023 14:38:25 GMT
    
    ===========================
    AgentConnect Result: PASSED
    ===========================

    No final da saída acima, você vê a mensagem: AgentConnect Result: PASSED, que indica que não há problemas de conectividade entre o host no qual o agente Java do APM está em execução e o ponto final de upload do APM do OCI. Se houver problemas, entre em contato com o Suporte Técnico da Oracle.

  • AgentConnect Resultado: FALHA

    Veja abaixo um exemplo quando há problemas de conectividade de rede. Neste exemplo, o valor do ponto final de upload do OCI APM: https://endpoint.apm-agt.us-phoenix-1.oci.oc-test.com/ é passado como um argumento ao chamar AgentConnect:
    C:\apm\oracle-apm-agent\bin> AgentConnect https://endpoint.apm-agt.us-phoenix-1.oci.oc-test.com/

    A saída é semelhante à seguinte:

    Using JAVA_HOME: "c:\java\jdk1.8.0_351" 
    java version "1.8.0_351"
    Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)
    
    Testing 'https://endpoint.apm-agt.us-phoenix-1.oci.oc-test.com/20200101/opentelemetry/v1/metrics'
       using JDK HttpURLConnection
    
    HTTP Server Cert Info:
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      0) Cert Type: X.509
         Hash Code: 561797842
         Public Key Algorithm: RSA
         Public Key Format: X.509
         X509 Issuer: CN=DigiCert Global G2 TLS RSA SHA256 2020CA1, O=DigiCert Inc, C=US
         X509 Subject:CN=*.apm-agt.us-phoenix-1.oci.oc-test.com, O=Oracle Corporation, L=Redwood City, ST=California,      C=US
         X509 Signature Algorithm Name: SHA256withRSA 
         X509 Signature Algorithm OID: 1.2.840.113549.1.1.11
         X509 Start Date: Sun Jun   0517:00:00PDT 2022
         X509 End Date: Tue Jun 0616:59:59PDT 2023
         X509 PublicKey: Sun RSA publickey, 2048bits
         X509 Version: 3
      1) Cert Type: X.509
         Hash Code: -38378014
         Public Key Algorithm: RSA
         Public Key Format: X.509
         X509 Issuer: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc,      C=US
         X509 Subject: CN=DigiCert Global G2 TLS RSA SHA256 2020CA1, O=DigiCert Inc, C=US
         X509 Signature Algorithm Name: SHA256withRSA
         X509 Signature Algorithm OID: 1.2.840.113549.1.1.11
         X509 Start Date: Wed Sep 23 17:00:00 PDT 2020
         X509 End Date: Mon Sep 23 16:59:59 PDT 2030
         X509 PublicKey: Sun RSA publickey, 2048 bits
         X509 Version: 3
    
    HTTP Server Response:
    HTTP/1.1404 Not Found
    Strict-Transport-Security: max-age=31536000; includeSubDomains;
    Connection: keep-alive
    Content-Length: 146
    Date: Fri,19 May 2023 14:59:41 GMT
    Content-Type: text/html
    
    <html>
    <head><title>404Not Found</title></head>
    <body>
    <center><h1>404Not Found</h1></center>
    <hr><center>nginx</center>
    </body>
    </html> 
    
    ===========================
    AgentConnect Result: FAILED
    ===========================

    No fim da saída acima, você vê a mensagem: AgentConnect Result: FAILED, que indica que há problemas de conectividade de rede. A saída inclui o corpo e os cabeçalhos HTTP completos, bem como informações no(s) certificado(s) enviado(s) pelo servidor. Entre em Contato com o Suporte Técnico da Oracle para assistência.

Dependência da Iniciativa do Open Services Gateway

Se o aplicativo que você gostaria de monitorar depender da iniciativa Open Services Gateway (OSGi), certifique-se de definir a seguinte propriedade do sistema:
-Dorg.osgi.framework.bootdelegation=com.oracle.apm.*

Alguns aplicativos podem usar uma propriedade diferente para delegação de inicialização ou podem já ter especificado a propriedade de delegação de inicialização por padrão. Nesses casos, siga a documentação específica do aplicativo para garantir que com.oracle.apm.* seja adicionado à lista de delegação de inicialização.