Configurare e distribuire gli asset di monitoraggio

Per inserire gli host Linux ARM con Oracle Database 19c e Apache Tomcat, è necessario completare i task riportati di seguito.
  1. Distribuire un agente Java APM su Apache Tomcat.
  2. Configura il monitoraggio sintetico per monitorare gli endpoint dell'applicazione.
  3. Distribuire i Management Agent.
  4. Scopri l'infrastruttura in Monitoraggio dello stack.

Configura Application Performance Monitoring

In primo luogo, puoi configurare il monitoraggio delle prestazioni delle applicazioni.

Dal browser Web, eseguire il login alla tenancy OCI. La maggior parte dei comandi seguenti verrà immessa dalla Cloud Shell. Se non si conosce il problema, consultare la documentazione correlata. Se non si dispone di un compartimento per le risorse O&M (ad esempio, i domini APM), crearlo ora:
  1. Selezionare Identità e sicurezza, quindi la pagina Compartimenti e fare clic su Crea compartimento.
  2. Fornire un nome e una descrizione significativi, ad esempio:
    • Nome = om-demo
    • Descrizione = Compartment for Observability & Management resources
    Attendere un minuto per il provisioning del compartimento. Una volta completata questa operazione, tieni presente l'OCID del compartimento.

A questo punto, effettuare le operazioni riportate di seguito.

  1. Creare un nuovo dominio APM Free Tier aprendo la Cloud Shell ed eseguendo le operazioni riportate di seguito.
    1. Scegliere un compartimento per le risorse O&M immettendo:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. Scegliere un nome di dominio APM immettendo:
      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. Selezionare Osservabilità e gestione, Application Performance Monitoring, quindi Amministrazione per visualizzare lo stato di creazione (assicurarsi di selezionare il compartimento corretto).
    Attendere che il dominio venga creato. Questa operazione richiede circa cinque minuti. È anche possibile utilizzare Cloud Shell per visualizzare lo stato di avanzamento utilizzando i comandi seguenti:
    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 
    Dovresti vedere una risposta come questa:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. Prendere nota dell'OCID del dominio APM e immettere i comandi seguenti per generare data-upload-endpoint e datakeys (da utilizzare in seguito per installare l'agente APM Java):
    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
    
    Dovresti vedere una risposta come questa:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. Selezionare Osservabilità e gestione, Application Performance Monitoring, quindi Amministrazione, scaricare l'agente Java dalla pagina Scarica agenti APM.
  5. Copiare il file JAR in ogni host 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. Installare Java Agent con l'utente Tomcat utilizzando i comandi seguenti (configurare VARIABLES in base al proprio ambiente):
    1. Impostare il percorso della home di installazione di Apache Tomcat:
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. Impostare il percorso completo JAR di installazione APM:
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. Scegliere il nome del servizio da utilizzare nell'esportazione del dominio APM:
      APM_SERVICE_NAME=apex_tomcat_service
    4. Aggiungi informazioni dominio APM:
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. Se necessario, aggiungere altre opzioni APM, ad esempio snapshot di thread o Enable APM Browser Agent Injection:
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. Impostare la variabile JAVA_HOME e PATH:
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. Installare l'agente Java 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. Modificare Apache Tomcat JAVA_OPTS aggiungendo la proprietà javaagent, ad esempio:
    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. Riavviare Apache Tomcat.
  9. Verificare il file di log dell'agente Java (modificare TOMCAT_HOME al percorso home di installazione Tomcat):
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. Infine, selezionare Osservabilità e gestione, Application Performance Monitoring, quindi Trace Explorer e verificare che i trace vengano raccolti correttamente.

Configura monitoraggio sintetico

Dopo aver configurato l'agente Java APM su Apache Tomcat, è possibile creare monitor per simulare l'attività utente nell'applicazione. Utilizzare la console OCI o OCI Cloud Shell per creare a livello di programmazione le risorse OCI.

Passare alla pagina Monitoraggio sintetico (Osservabilità e gestione, quindi a Application Performance Monitoring e infine a Monitoraggio sintetico) per creare i monitor che testano continuamente gli endpoint dell'applicazione.

Aprire la cloud shell per creare rapidamente un monitoraggio BROWSER per l'applicazione. Procedere come segue:

  1. Ottieni l'elenco dei punti di osservazione disponibili:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. Eseguire il test degli endpoint dell'applicazione (in questo esempio viene utilizzata l'area Ashburn per eseguire i test di questi endpoint):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. Creare il file JSON per la configurazione della disponibilità:
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. Creare il file JSON per le misurazioni di rete:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. Infine, creare il monitor:
    1. Identificare il dominio APM:
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. Fornire il nome del controllo:
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. Fornire l'URL dell'endpoint dell'applicazione:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. Fornire l'intervallo di monitoraggio, in secondi:
       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
Nella pagina Monitoraggio sintetico è possibile visualizzare lo stato del monitoraggio appena creato. In questo esempio, l'URL fornito viene monitorato ogni sei minuti (per visualizzare i dettagli dei risultati del test, fare clic sul nome del monitoraggio e selezionare Cronologia dal menu Risorse).

Distribuzione di Management Agent

Prima di configurare il monitoraggio dello stack, è necessario installare Oracle Management Agent in ogni host che si desidera monitorare. Questa demo utilizza l'installazione RPM per Management Agent (è possibile utilizzare questo metodo se l'host ARM Linux è in esecuzione on premise o su un altro provider cloud).

Nota:

Se non si conosce come installare Oracle Management Agent, vedere "Install Management Agent" nella documentazione di OCI, accessibile dall'argomento "Esplora altro" alla fine di questa guida.
Prima di iniziare, scaricare il software Management Agent dalla pagina Download e chiavi:
  1. Selezionare Management Agent, quindi Download e chiavi.
  2. Selezionare Agente per LINUX (AARCH64) con tipo di pacchetto RPM.
  3. Nella stessa pagina creare una nuova chiave di installazione per configurare l'agente. Fornire i parametri obbligatori:
    • Nome chiave = demo-key-01
    • Compartimento = om-demo
    • Numero massimo di installazioni = default

Nota:

Se non si conosce come creare una chiave di installazione, vedere "Crea chiave di installazione" nella documentazione di OCI, accessibile dall'argomento "Esplora altro" alla fine di questa guida.
Ora, distribuire il Management Agent:
  1. Connettersi alle istanze di Linux utilizzando SSH e, se non è già presente, installare JDK8:
    # dnf install -y java-1.8.0-openjdk 
  2. Installare Management Agent:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. Configurare Management Agent, come mostrato nell'esempio riportato di seguito.
    1. Aprire un editor vi:
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. Aggiungere il seguente contenuto:
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. Modificare il proprietario del Management Agent:
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. Eseguire il comando seguente per finalizzare la configurazione del Management Agent:
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
Dopo alcuni minuti, vedrai l'agente da "Management Agent" e poi dalla pagina "Agents". Non è necessario abilitare il plugin di monitoraggio dello stack. Il monitoraggio dello stack lo abilita automaticamente.

Abilita monitoraggio completo host

Con il servizio di monitoraggio dello stack abilitato, è necessario abilitare il monitoraggio completo degli host su cui si basa l'applicazione. Il monitoraggio dello stack preparerà automaticamente un task per abilitare il monitoraggio di un'istanza di computazione OCI. Per abilitare il monitoraggio completo, selezionare Promuovi a monitoraggio completo. Identificare gli host Tomcat e Oracle Database dalla lista degli host disponibili da promuovere e selezionare Promuovi. Verrà richiamata una diapositiva. Da questa diapositiva verificare che il nome della risorsa corrisponda a quello del dominio completamente qualificato dell'host. Fare quindi clic su Promuovi. In pochi minuti, Monitoraggio dello stack creerà una nuova home page e inizierà a raccogliere le nuove metriche.

Configura monitoraggio stack

Infine, devi configurare il monitoraggio dello stack.

Prima di configurare effettivamente il servizio, è necessario soddisfare i seguenti prerequisiti:
  1. Abilitare il servizio di monitoraggio dello stack.
  2. Abilita monitoraggio JMX.
  3. Creare l'utente di monitoraggio di Oracle Database.
Completare quindi i passi riportati di seguito per configurare il monitoraggio dello stack.
  1. Abilitare il monitoraggio completo degli host.
  2. Trova Oracle Database.
  3. Scopri Apache Tomcat.
Questi processi sono descritti nella procedura riportata di seguito.
  1. Abilitare il servizio di monitoraggio dello stack:
    Passare a Osservabilità e gestione, quindi a Application Performance Monitoring, Monitoraggio dello stack e fare clic su Abilita monitoraggio dello stack.
  2. Abilita JMX su Apache Tomcat:
    Il monitoraggio dello stack richiede l'abilitazione di JMX prima della ricerca automatica. Per abilitare JMX su Apache Tomcat, effettuare le operazioni riportate di seguito.
    1. Aggiungere le seguenti righe a 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. Creare la cartella di configurazione in cui memorizzare i file jmxremote.access e jmxremote.password:
      mkdir -p /opt/tomcat/conf
    3. Creare jmxremote.access come utente Tomcat:
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. Aggiungere quanto segue al file jmxremote.password. Tenere presente che il password file deve essere di sola lettura e accessibile solo dall'utente del sistema operativo Tomcat in esecuzione. Come utente Tomcat:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. Riavviare Apache Tomcat.
  3. Creare l'utente di monitoraggio del database:
    Prima di trovare un database all'interno di Monitoraggio dello stack, assicurarsi di avere accesso all'utente di monitoraggio. È possibile utilizzare l'utente DBSNMP incorporato con Oracle Database e che dispone dei privilegi necessari per monitorare il database OPPURE creare un utente personalizzato con solo i privilegi necessari. I passaggi per creare un utente per il monitoraggio del database sono disponibili nella nota MOS: 2857604.1, a cui è possibile accedere da "Esplora altro" alla fine di questo playbook.
  4. Abilita monitoraggio completo host:
    Quando il servizio di monitoraggio dello stack è abilitato, il primo passo è abilitare il monitoraggio completo degli host su cui si basa l'applicazione. Il monitoraggio dello stack preparerà automaticamente un task per abilitare il monitoraggio di un'istanza di computazione OCI. Per abilitare il monitoraggio completo:
    1. Fare clic su Promuovi a monitoraggio completo.
    2. Identificare gli host Tomcat e Oracle Database dalla lista degli host disponibili da promuovere e fare clic su Promuovi. Verrà richiamata una diapositiva.
    3. Da questa diapositiva verificare che il nome risorsa corrisponda a quello del dominio completamente qualificato degli host, quindi fare clic su Promuovi.

    In pochi minuti, Monitoraggio dello stack creerà una nuova home page e inizierà a raccogliere le nuove metriche.

  5. Scopri il database Oracle su cui si basa l'applicazione:
    La scoperta delle risorse è semplice con l'interfaccia utente di rilevamento semplice e intuitiva di Stack Monitoring. Per iniziare:
    1. Passare alla pagina "Ricerca automatica risorse" e fare clic su Trova nuova risorsa. Una volta selezionata, verrà visualizzata una finestra di scorrimento.
    2. Dal menu a discesa selezionare Oracle Database.
    3. Completare i campi come Nome risorsa, Nome host DNS, Nome servizio e fare clic su Trova nuova risorsa.

    Una volta completato il job, Monitoraggio dello stack verrà immediatamente avviata la raccolta delle metriche e la creazione di una home page.

  6. Scoprire i server Apache Tomcat
    Per trovare Apache Tomcat:
    1. Passare a "Ricerca automatica risorse" e fare clic su Trova nuova risorsa.
    2. Dall'elenco a discesa selezionare Apache Tomcat.
    3. Completare i campi vuoti, ad esempio la porta JMX, e monitorare nome utente e password e fare clic su Trova nuova risorsa.

    Una volta completato il job, andare al "riepilogo aziendale" di Stack Monitoring. Nel dashboard verranno visualizzate le prestazioni e lo stato di Oracle Database, Apache Tomcat e degli host sui quali si basa Tomcat.

    Successivamente, correlare le risorse, che consentono una facile navigazione verso l'alto e verso il basso nello stack di applicazioni. Per ulteriori informazioni sulla relazione tra le risorse, vedere "Updating Application Topology" (al quale è possibile accedere dall'argomento "Esplora altro" alla fine di questa guida).

    Infine, configurare gli allarmi per le risorse. Esempi di allarmi:
    • Host
      • Utilizzo file system
      • Uso CPU e memoria
      • Stato del monitoraggio
    • Oracle Database
      • Stato del monitoraggio
      • CPU e memoria
      • Tempo di attesa
      • Utilizzo storage da tablespace
    • Apache Tomcat
      • Stato del monitoraggio
      • Utilizzo memoria JVM (heap e non heap)
      • Utilizzo CPU