Configurar e Implantar Ativos de Monitoramento

Para integrar os hosts Linux ARM com o Oracle Database 19c e o Apache Tomcat, você precisa concluir as seguintes tarefas:
  1. Implante um Agente Java do APM no Apache Tomcat.
  2. Configure o monitoramento sintético para monitorar pontos finais de aplicativos.
  3. Implante os agentes de gerenciamento.
  4. Descubra a infraestrutura no Monitoramento de Pilha.

Configurar o Serviço Application Performance Monitoring

Primeiro, você configura o monitoramento do desempenho do aplicativo.

No seu web browser, faça log-in na tenancy do OCI. Você inserirá a maioria dos comandos a seguir no Cloud shell. Se você não estiver familiarizado com ele, consulte a documentação relacionada. Se você não tiver um compartimento para recursos do O&M (como domínios do APM), crie-o agora:
  1. Selecione Identidade e Segurança, em seguida, a página Compartimentos e clique em Criar Compartimento.
  2. Especifique um nome e uma descrição significativos, por exemplo:
    • Nome = om-demo
    • Descrição = Compartment for Observability & Management resources
    Aguarde um minuto para que o compartimento seja provisionado. Uma vez concluído, anote o OCID do compartimento.

Agora, faça o seguinte:

  1. Crie um novo domínio do APM Free Tier abrindo o Cloud shell e fazendo o seguinte:
    1. Escolha um compartimento para recursos do O&M digitando:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. Escolha o nome de domínio do APM informando:
      export APM_DISPLAY_NAME=demoapm01 
      
      oci apm-control-plane apm-domain create --compartment-id $COMPARTMENT_OCID --display-name $APM_DISPLAY_NAME --is-free-tier TRUE --wait-for-state SUCCEEDED --wait-interval-seconds 15 
  2. Selecione Observabilidade e Gerenciamento, Application Performance Monitoring e Administração para exibir o status de criação (certifique-se de selecionar o compartimento correto).
    Aguarde a criação do domínio, que leva cerca de cinco minutos. Você também pode usar o Cloud shell para ver o progresso usando os seguintes comandos:
    export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID 
    
    oci apm-control-plane apm-domain list --compartment-id $COMPARTMENT_OCID --all --query "data[].{\"display-name\":\"display-name\",\"lifecycle-state\":\"lifecycle-state\",\"id\":\"id\"}" --output table 
    Você deverá ver uma resposta como esta:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. Observação do OCID do domínio do APM e informe os seguintes comandos para gerar o data-upload-endpoint e o datakeys (que você usará posteriormente para instalar o agente Java APM):
    export APM_OCID=YOUR_APM_DOMAIN_OCID
    
    oci apm-control-plane apm-domain get --apm-domain-id $APM_OCID --query "data.{\"data-upload-endpoint\":\"data-upload-endpoint\"}" --output table
    
    oci apm-control-plane data-key list --apm-domain-id $APM_OCID --all --query "data[].{\"name\":\"name\",\"type\":\"type\",\"value\":\"value\"}" --output table
    
    Você deverá ver uma resposta como esta:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. Selecione Observabilidade e Gerenciamento, Application Performance Monitoring e Administração, faça download do Agente Java na página Fazer Download de Agentes do APM.
  5. Copie o arquivo JAR para cada host do Apache Tomcat:
    [tomcat@stvociapp021 ~]$ pwd
    /home/tomcat
    [tomcat@stvociapp021 ~]$ ls -l apm-java-agent-installer-1.10.1.3.jar
    -rwxrwxr-x. 1 tomcat tomcat 11741769 Jul 26 07:39 apm-java-agent-installer-1.10.1.3.jar
    [tomcat@stvociapp021 ~]$
    
  6. Instale o Agente Java com o usuário Tomcat usando os seguintes comandos (configure o VARIABLES com base em seu próprio ambiente):
    1. Defina o caminho inicial da instalação do Apache Tomcat:
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. Defina o caminho completo do JAR de instalação do APM:
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. Escolha o nome do serviço a ser usado na exportação do domínio do APM:
      APM_SERVICE_NAME=apex_tomcat_service
    4. Adicionar informações do domínio do APM:
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. Se necessário, adicione outras opções do APM; por exemplo, snapshots de thread ou Ativar Injeção do Agente do Browser do APM:
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. Defina as variáveis JAVA_HOME e PATH:
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. Instale o agente Java do APM:
      java -jar ${APM_INSTALLER} provision-agent -service-name=${APM_SERVICE_NAME} -destination=${APM_INSTALL_DESTINATION} -private-data-key=${APM_PRIVATE_KEY} -data-upload-endpoint=${APM_ENDPOINT} ${APM_ADDITIONAL_OPTIONS} -public-data-key=${APM_PUBLIC_KEY}
  7. Modifique o Apache Tomcat JAVA_OPTS adicionando a propriedade javaagent; por exemplo:
    export JAVA_OPTS="-Dconfig.url=${ORDS_CONFIG} -Xms1024M -Xmx4096M -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -javaagent:${TOMCAT_HOME}/oracle-apm-agent/bootstrap/ApmAgent.jar "
  8. Reinicie o Apache Tomcat.
  9. Verifique o arquivo de log do Agente Java (altere TOMCAT_HOME para o caminho do home de instalação do Tomcat):
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. Por fim, selecione Observabilidade e Gerenciamento, Application Performance Monitoring e, em seguida, Trace Explorer e verifique se os rastreamentos são coletados corretamente.

Configurar Monitoramento Sintético

Depois de configurar o agente Java do APM no Apache Tomcat, você pode criar monitores para simular a atividade do usuário no aplicativo. Use a Console do OCI ou o OCI Cloud Shell para criar programaticamente os recursos do OCI.

Navegue até a página Monitoramento Sintético (Observabilidade e Gerenciamento, em seguida, Application Performance Monitoring e Monitoramento Sintético) para criar os monitores que testarão continuamente seus pontos finais de aplicativos.

Abra o shell na nuvem para criar rapidamente um monitor BROWSER para seu aplicativo. Faça o seguinte:

  1. Obtenha a lista de pontos de vantagem disponíveis:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. Teste os pontos finais do aplicativo (este exemplo usa a região Ashburn para testar estes pontos finais):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. Crie o arquivo JSON para a Configuração de Disponibilidade:
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. Crie o arquivo JSON para Medições de Rede:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. Por fim, crie o monitor:
    1. Identifique seu domínio do APM:
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. Forneça o nome do monitor:
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. Forneça o URL do ponto final do aplicativo:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. Forneça o intervalo de monitoramento, em segundos:
       export MONITOR_REPEAT_INTERVAL=360 oci apm-synthetics monitor create-browser-monitor --apm-domain-id $APM_OCID --display-name $MONITOR_DISPLAY_NAME --monitor-type BROWSER --repeat-interval-in-seconds $MONITOR_REPEAT_INTERVAL --vantage-points file://$HOME/vantage_points.json --is-certificate-validation-enabled FALSE --is-failure-retried true --target $MONITOR_TARGET --availability-configuration file://$HOME/availability_configuration.json --network-configuration file://$HOME/network_measurements.json
Na página Monitoramento Sintético, você pode ver o status do monitor recém-criado. Neste exemplo, o URL fornecido é monitorado a cada seis minutos (para exibir os detalhes dos resultados do teste, clique no nome do monitor e selecione Histórico no menu Recursos).

Implantar o Agente de Gerenciamento

Antes de configurar o Monitoramento de Pilha, instale o Oracle Management Agent em cada host que você deseja monitorar. Esta demonstração usa a instalação do RPM para o Management Agent (você poderá usar esse método se seu host do Linux ARM estiver sendo executado no local ou em um provedor de nuvem diferente).

Observação:

Se você não souber como instalar o Oracle Management Agent, consulte "Instalar Management Agents" na documentação do OCI, acessível no tópico "Explorar Mais" no fim deste playbook.
Antes de começar, faça download do software Management Agent na página Downloads e Chaves:
  1. Selecione Management Agent e Downloads e Chaves).
  2. Selecione Agente para LINUX (AARCH64) com o tipo de pacote RPM.
  3. Na mesma página, crie uma nova chave de instalação para configurar o agente. Forneça os parâmetros obrigatórios:
    • Nome da chave = demo-key-01
    • Compartimento = om-demo
    • Máximo de instalações = default

Observação:

Se você não souber como criar uma chave de instalação, consulte "Criar Chave de Instalação" na documentação do OCI, acessível no tópico "Explorar Mais" no fim deste manual.
Agora, implante o agente de gerenciamento:
  1. Conecte-se a instâncias do Linux usando SSH e, se ainda não estiver lá, instale JDK8:
    # dnf install -y java-1.8.0-openjdk 
  2. Instale o Management Agent:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. Configure o Management Agent, conforme mostrado no exemplo a seguir:
    1. Abra um editor vi:
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. Adicione o seguinte conteúdo:
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. Altere o proprietário do agente de gerenciamento:
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. Execute o seguinte comando para finalizar a configuração do agente de gerenciamento:
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
Após alguns minutos, você verá o agente na página "Management Agent" e depois na página "Agentes". Você não precisa ativar o plug-in de Monitoramento de Pilha; o Monitoramento de Pilha o ativa automaticamente para você.

Ativar Monitoramento Total do Host

Com o serviço Stack Monitoring ativado, na próxima vez você deseja ativar o monitoramento completo dos hosts nos quais o aplicativo depende. O Monitoramento de Pilha preparará automaticamente uma tarefa para permitir o monitoramento de uma instância de computação do OCI. Para ativar o monitoramento completo, selecione Promover para monitoramento total. Identifique os hosts Tomcat e Oracle Database na lista de hosts disponíveis para promover e selecionar Promover. Isso invocará um slide-out; a partir desse slide-out, verifique se o nome do recurso corresponde ao nome do domínio totalmente qualificado do host. Em seguida, clique em Promover. Em minutos, o Monitoramento de Pilha criará uma nova página inicial e começará a coletar as novas métricas.

Configurar o Serviço Stack Monitoring

Por fim, você precisa configurar o Monitoramento de Pilha.

Antes de realmente configurar o serviço, você precisa atender a estes pré-requisitos:
  1. Ative o serviço Stack Monitoring.
  2. Ative o monitoramento de JMX.
  3. Crie o usuário de monitoramento do Oracle Database.
Em seguida, conclua estas etapas para configurar o Monitoramento de Pilha:
  1. Ative o monitoramento completo dos hosts.
  2. Descobrir Oracle Database.
  3. Descubra o Apache Tomcat.
Esses processos são descritos nas etapas a seguir.
  1. Ative o serviço Stack Monitoring:
    Navegue até Observabilidade e Gerenciamento e, em seguida, Application Performance Monitoring, Stack Monitoring e clique em Ativar Monitoramento de Pilha.
  2. Ativar JMX no Apache Tomcat:
    O Monitoramento de Pilha requer que o JMX seja ativado antes da descoberta. Para ativar o JMX no Apache Tomcat, faça o seguinte:
    1. Adicione as seguintes linhas ao setenv.bat:
      set CATALINA_OPTS=-Dcom.sun.management.jmxremote 
      -Dcom.sun.management.jmxremote.port=9012 
      -Dcom.sun.management.jmxremote.ssl=false 
      -Dcom.sun.management.jmxremote.authenticate=false
    2. Crie a pasta de configuração para armazenar os arquivos jmxremote.access e jmxremote.password:
      mkdir -p /opt/tomcat/conf
    3. Crie jmxremote.access como usuário tomcat:
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. Adicione o seguinte ao arquivo jmxremote.password. Observe que o arquivo de senha deve ser somente leitura e acessível somente pelo usuário do sistema operacional Tomcat está sendo executado como. Como usuário tomcat:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. Reinicie o Apache Tomcat.
  3. Crie o usuário de monitoramento do banco de dados:
    Antes de descobrir um banco de dados no Monitoramento de Pilha, certifique-se de ter acesso ao usuário de monitoramento. Você pode usar o usuário DBSNMP incorporado ao Oracle Database e tem os privilégios necessários para monitorar o banco de dados OU criar um usuário personalizado com apenas os privilégios necessários. As etapas para criar um usuário de monitoramento de banco de dados podem ser encontradas na Nota do MOS: 2857604.1, que você pode acessar a partir do "Explorar Mais" no final deste playbook.
  4. Ative o monitoramento completo do host:
    Com o serviço Stack Monitoring ativado, a primeira etapa é ativar o monitoramento completo dos hosts nos quais o aplicativo depende. O Monitoramento de Pilha preparará automaticamente uma tarefa para permitir o monitoramento de uma Instância do OCI Compute. Para permitir o monitoramento completo:
    1. Clique em Promover para monitoramento total.
    2. Identifique os hosts Tomcat e Oracle Database na lista de hosts disponíveis para promover e clique em Promover. Isso chamará um slide-out.
    3. Nesse slide, verifique se o Nome do Recurso corresponde ao nome do domínio totalmente qualificado dos hosts e clique em Promover.

    Em minutos, o Monitoramento de Pilha criará uma nova página inicial e começará a coletar as novas métricas.

  5. Descubra o banco de dados Oracle no qual o aplicativo depende:
    A descoberta de recursos é fácil com a interface de usuário de descoberta fácil de usar do Stack Monitoring. Para começar:
    1. Navegue até a página "Descoberta de recursos" e clique em Descobrir Novo Recurso. Uma vez selecionada, uma janela deslizante aparecerá.
    2. No menu suspenso, selecione Oracle Database.
    3. Preencha os campos como Nome do Recurso, Nome do host DNS, Nome do Serviço e clique em Descobrir Novo Recurso.

    Quando o job concluir o Monitoramento de Pilha, começará imediatamente a coletar métricas e criar uma página inicial.

  6. Descubra os servidores Apache Tomcat
    Para descobrir o Apache Tomcat:
    1. Navegue até "Descoberta de recursos" e clique em Descobrir Novo Recurso.
    2. Na lista suspensa, selecione Apache Tomcat.
    3. Preencha os campos em branco, como porta JMX, e monitore o nome de usuário e a senha e clique em Descobrir Novo Recurso.

    Quando o job for concluído, navegue até o "Enterprise Summary" do Stack Monitoring. O painel de controle exibirá o desempenho e o status do Oracle Database, do Apache Tomcat e dos hosts nos quais o Tomcat depende.

    Em seguida, relacione os recursos, que permitirão uma navegação fácil até a pilha de aplicativos. Para obter mais informações sobre como relacionar os recursos, consulte "Atualizando a Topologia de Aplicativos" (que você pode acessar no tópico "Explorar Mais" no fim deste manual).

    Por fim, configure alarmes para os recursos. Exemplos de alarmes:
    • Host
      • Utilização do Sistema de Arquivos
      • Utilização de CPU e Memória
      • Status de Monitoramento
    • Oracle Database
      • Status de Monitoramento
      • CPU e Memória
      • Tempo de espera
      • Utilização de Armazenamento por Tablespace
    • Apache Tomcat
      • Status de Monitoramento
      • Utilização da Memória JVM (Heap e Não heap)
      • Utilização da CPU