Monitoringassets konfigurieren und bereitstellen

Um die Linux ARM-Hosts mit Oracle Database 19c und Apache Tomcat zu integrieren, müssen Sie die folgenden Aufgaben ausführen:
  1. Stellen Sie einen APM-Java-Agent auf Apache Tomcat bereit.
  2. Konfigurieren Sie synthetisches Monitoring zur Überwachung von Anwendungsendpunkten.
  3. Stellen Sie die Management Agents bereit.
  4. Entdecken Sie die Infrastruktur auf Stack Monitoring.

Application Performance Monitoring konfigurieren

Zunächst konfigurieren Sie die Überwachung der Anwendungsperformance.

Melden Sie sich in Ihrem Webbrowser bei Ihrem OCI-Mandanten an. Sie geben die meisten der folgenden Befehle aus der Cloud-Shell ein. Wenn Sie damit nicht vertraut sind, lesen Sie die zugehörige Dokumentation. Wenn Sie kein Compartment für O&M-Ressourcen (wie APM-Domains) haben, erstellen Sie es jetzt:
  1. Wählen Sie Identität und Sicherheit, dann die Seite Compartments aus, und klicken Sie auf Compartment erstellen.
  2. Geben Sie einen Namen und eine Beschreibung an. Beispiel:
    • Name = om-demo
    • Beschreibung = Compartment for Observability & Management resources
    Warten Sie eine Minute, bis das Compartment durch Provisioning bereitgestellt wird. Notieren Sie sich nach Abschluss die OCID des Compartments.

Gehen Sie jetzt wie folgt vor:

  1. Erstellen Sie eine neue APM-Free Tier-Domain, indem Sie die Cloud-Shell öffnen und Folgendes ausführen:
    1. Wählen Sie ein Compartment für O&M-Ressourcen aus, indem Sie Folgendes eingeben:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. Wählen Sie den APM-Domainnamen aus, indem Sie Folgendes eingeben:
      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. Wählen Sie Observability and Management, Application Performance Monitoring und dann Administration aus, um den Erstellungsstatus anzuzeigen (vergewissern Sie sich, dass Sie das richtige Compartment auswählen).
    Warten Sie, bis die Domain erstellt wird. Dies dauert etwa fünf Minuten. Sie können den Fortschritt auch mit den folgenden Befehlen mit der Cloud-Shell anzeigen:
    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 
    Eine Antwort wie die Folgende sollte angezeigt werden:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. Beachten Sie die APM-Domain-OCID, und geben Sie die folgenden Befehle ein, um data-upload-endpoint und datakeys zu generieren (die Sie später zur Installation des Java APM-Agent verwenden):
    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
    
    Eine Antwort wie die Folgende sollte angezeigt werden:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. Wählen Sie Observability and Management, Application Performance Monitoring und dann Administration aus, und laden Sie den Java Agent auf der Seite "APM-Agents herunterladen" herunter.
  5. Kopieren Sie die JAR-Datei auf jeden Apache Tomcat-Host:
    [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. Installieren Sie Java Agent mit dem Tomcat-Benutzer, indem Sie die folgenden Befehle verwenden (konfigurieren Sie VARIABLES basierend auf Ihrer eigenen Umgebung):
    1. Legen Sie den Home-Pfad für die Apache Tomcat-Installation fest:
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. Legen Sie den vollständigen Pfad für die JAR-Datei der APM-Installation fest:
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. Wählen Sie den Servicenamen aus, der für den APM-Domainexport verwendet werden soll:
      APM_SERVICE_NAME=apex_tomcat_service
    4. APM-Domaininformationen hinzufügen:
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. Fügen Sie bei Bedarf weitere APM-Optionen hinzu, z.B. Thread-Snapshots oder "APM-Browser-Agent-Injection aktivieren":
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. Legen Sie die Variable JAVA_HOME und PATH fest:
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. Installieren Sie den APM-Java-Agent:
      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. Ändern Sie Apache Tomcat JAVA_OPTS, indem Sie die Eigenschaft javaagent hinzufügen. Beispiel:
    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. Starten Sie Apache Tomcat neu.
  9. Prüfen Sie die Java Agent-Logdatei (ändern Sie TOMCAT_HOME in den Home-Pfad für die Tomcat-Installation):
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. Wählen Sie schließlich Observability and Management, Application Performance Monitoring, Trace-Explorer aus, und prüfen Sie, ob Traces korrekt erfasst werden.

synthetisches Monitoring konfigurieren

Nachdem Sie den APM-Java-Agent auf Apache Tomcat konfiguriert haben, können Sie Monitore erstellen, um die Benutzeraktivität in der Anwendung zu simulieren. Mit der OCI-Konsole oder OCI Cloud Shell können Sie die OCI-Ressourcen programmgesteuert erstellen.

Navigieren Sie zur Seite "Synthetisches Monitoring" (Observability and Management, Application Performance Monitoring, Synthetic Monitoring), um die Monitore zu erstellen, mit denen die Anwendungsendpunkte kontinuierlich getestet werden.

Öffnen Sie die cloud shell, um schnell einen BROWSER-Monitor für Ihre Anwendung zu erstellen. Führen Sie dann folgende Schritte aus:

  1. Rufen Sie die Liste der verfügbaren Standorte ab:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. Testen Sie die Anwendungsendpunkte (in diesem Beispiel werden diese Endpunkte mit der Ashburn-Region getestet):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. Erstellen Sie die JSON-Datei für die Verfügbarkeitskonfiguration:
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. Erstellen Sie die JSON-Datei für Netzwerkmessungen:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. Erstellen Sie schließlich den Monitor:
    1. Identifizieren Sie Ihre APM-Domain:
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. Geben Sie den Monitornamen an:
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. Geben Sie die Endpunkt-URL der Anwendung an:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. Geben Sie das Überwachungsintervall in Sekunden an:
       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
Auf der Seite "Synthetisches Monitoring" können Sie den Status des soeben erstellten Monitors anzeigen. In diesem Beispiel wird die angegebene URL alle sechs Minuten überwacht (um die Details der Testergebnisse anzuzeigen, klicken Sie auf den Monitornamen, und wählen Sie im Menü "Ressourcen" die Option Historie aus).

Management Agent bereitstellen

Bevor Sie Stack Monitoring konfigurieren, müssen Sie den Oracle Management Agent auf jedem Host installieren, den Sie überwachen möchten. In dieser Demo wird die RPM-Installation für den Management Agent verwendet (Sie können diese Methode verwenden, wenn Ihr Linux ARM-Host On Premise oder auf einem anderen Cloud-Provider ausgeführt wird).

Hinweis:

Wenn Sie nicht wissen, wie Sie den Oracle Management Agent installieren, finden Sie weitere Informationen unter "Management Agents installieren" in der OCI-Dokumentation, auf die Sie am Ende dieses Playbooks über das Thema "Weitere Informationen" zugreifen können.
Laden Sie zunächst die Management Agent-Software von der Seite "Downloads und Schlüssel" herunter:
  1. Wählen Sie Management Agent und dann Downloads und Schlüssel aus.
  2. Wählen Sie Agent für LINUX (AARCH64) mit dem Packagetyp RPM aus.
  3. Erstellen Sie auf derselben Seite einen neuen Installationsschlüssel, um den Agent zu konfigurieren. Geben Sie die erforderlichen Parameter ein:
    • Schlüsselname = demo-key-01
    • Compartment = om-demo
    • Maximale Installationen = default

Hinweis:

Wenn Sie nicht wissen, wie Sie einen Installationsschlüssel erstellen, finden Sie in der OCI-Dokumentation unter "Installationsschlüssel erstellen", auf den Sie am Ende dieses Playbooks über das Thema "Weitere Informationen" zugreifen können.
Stellen Sie nun den Management Agent bereit:
  1. Stellen Sie mit SSH eine Verbindung zu Linux-Instanzen her, und installieren Sie JDK8, wenn noch nicht geschehen:
    # dnf install -y java-1.8.0-openjdk 
  2. Installieren Sie den Management Agent:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. Konfigurieren Sie den Management Agent wie im folgenden Beispiel gezeigt:
    1. Öffnen Sie einen vi-Editor:
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. Fügen Sie den folgenden Inhalt hinzu:
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. Eigentümer von Management Agent ändern:
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. Führen Sie den folgenden Befehl aus, um die Management Agent-Konfiguration abzuschließen:
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
Nach einigen Minuten wird der Agent auf der Seite "Management Agent" und dann auf der Seite "Agents" angezeigt. Sie müssen das Stackmonitoring-Plug-in nicht aktivieren. Stack Monitoring aktiviert es automatisch für Sie.

Vollständiges Hostmonitoring aktivieren

Wenn der Stackmonitoring-Service aktiviert ist, müssen Sie als Nächstes die vollständige Überwachung der Hosts aktivieren, auf denen die Anwendung basiert. Das Stackmonitoring bereitet automatisch eine Aufgabe vor, um das Monitoring einer OCI-Compute-Instanz zu aktivieren. Um die vollständige Überwachung zu aktivieren, wählen Sie Auf vollständiges Monitoring hochstufen aus. Identifizieren Sie die Tomcat- und Oracle Database-Hosts aus der Liste der verfügbaren Hosts, die hochgestuft werden sollen, und wählen Sie Hochstufen aus. Dadurch wird eine Folie aufgerufen. Auf dieser Folie wird geprüft, ob der Ressourcenname mit dem Namen der vollqualifizierten Domain des Hosts übereinstimmt. Klicken Sie als Nächstes auf Hochstufen. Innerhalb weniger Minuten erstellt Stack Monitoring eine neue Homepage und beginnt mit der Erfassung der neuen Metriken.

Stacküberwachung konfigurieren

Schließlich müssen Sie Stack Monitoring konfigurieren.

Bevor Sie den Service konfigurieren, müssen Sie die folgenden Voraussetzungen erfüllen:
  1. Aktivieren Sie den Stack Monitoring-Service.
  2. JMX-Überwachung aktivieren.
  3. Erstellen Sie den Oracle Database-Überwachungsbenutzer.
Führen Sie dann die folgenden Schritte aus, um Stack Monitoring zu konfigurieren:
  1. Aktivieren Sie die vollständige Überwachung der Hosts.
  2. Oracle Database ermitteln.
  3. Entdecken Sie Apache Tomcat.
Diese Prozesse werden in den folgenden Schritten beschrieben.
  1. Aktivieren Sie den Stack Monitoring-Service:
    Navigieren Sie zu Observability and Management, Application Performance Monitoring, Stacküberwachung, und klicken Sie auf Stacküberwachung aktivieren.
  2. JMX auf Apache Tomcat aktivieren:
    Für das Stackmonitoring muss JMX vor dem Discovery aktiviert werden. So aktivieren Sie JMX auf Apache Tomcat:
    1. Fügen Sie die folgenden Zeilen zur setenv.bat hinzu:
      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. Erstellen Sie den Konfigurationsordner, um die Dateien jmxremote.access und jmxremote.password zu speichern:
      mkdir -p /opt/tomcat/conf
    3. jmxremote.access als Tomcat-Benutzer erstellen:
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. Fügen Sie der Datei jmxremote.password Folgendes hinzu. Beachten Sie, dass die Kennwortdatei schreibgeschützt sein muss und nur der Betriebssystembenutzer Tomcat darauf zugreifen kann. Als Tomcat-Benutzer:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. Starten Sie Apache Tomcat neu.
  3. Erstellen Sie den Benutzer für die Datenbanküberwachung:
    Bevor Sie eine Datenbank in Stack Monitoring erkennen, stellen Sie sicher, dass Sie Zugriff auf den Überwachungsbenutzer haben. Sie können entweder den DBSNMP-Benutzer verwenden, der mit Oracle Database integriert ist und über die erforderlichen Berechtigungen zum Überwachen der Datenbank verfügt, oder einen benutzerdefinierten Benutzer mit nur den erforderlichen Berechtigungen erstellen. Schritte zum Erstellen eines Datenbanküberwachungsbenutzers finden Sie in MOS Hinweis: 2857604.1, auf den Sie am Ende dieses Playbooks über "Mehr erfahren" zugreifen können.
  4. Vollständige Hostüberwachung aktivieren:
    Wenn der Stack Monitoring-Service aktiviert ist, besteht der erste Schritt darin, die vollständige Überwachung der Hosts zu aktivieren, auf denen die Anwendung basiert. Das Stackmonitoring bereitet automatisch eine Aufgabe vor, um das Monitoring einer OCI Compute-Instanz zu aktivieren. So aktivieren Sie die vollständige Überwachung:
    1. Klicken Sie auf Zur vollständigen Überwachung hochstufen.
    2. Identifizieren Sie die Tomcat- und Oracle Database-Hosts aus der Liste der verfügbaren Hosts, die hochgestuft werden sollen, und klicken Sie auf Hochstufen. Dadurch wird eine Folie aufgerufen.
    3. Prüfen Sie auf dieser Folie, ob der Ressourcenname mit dem Namen der vollständig qualifizierten Hostdomain übereinstimmt, und klicken Sie auf {\b Promote}.

    Innerhalb weniger Minuten erstellt Stack Monitoring eine neue Homepage und beginnt mit der Erfassung der neuen Metriken.

  5. Entdecken Sie die Oracle-Datenbank, auf der die Anwendung basiert:
    Mit der einfachen, umfassenden Discovery-UI von Stack Monitoring können Sie Ressourcen ganz einfach finden. Erste Schritte:
    1. Navigieren Sie zur Seite "Ressourcen-Discovery", und klicken Sie auf Neue Ressource ermitteln. Nach der Auswahl wird ein Ausblendfenster angezeigt.
    2. Wählen Sie im Dropdown-Menü die Option Oracle Database.
    3. Füllen Sie die Felder aus, wie Ressourcenname, DNS-Hostname, Servicename, und klicken Sie auf Neue Ressource ermitteln.

    Wenn der Job abgeschlossen ist, beginnt Stack Monitoring sofort mit dem Erfassen von Metriken und dem Erstellen einer Homepage.

  6. Apache Tomcat-Server entdecken
    So ermitteln Sie Apache Tomcat:
    1. Navigieren Sie zu "Ressourcen-Discovery", und klicken Sie auf Neue Ressource erkennen.
    2. Wählen Sie in der Dropdown-Liste Apache Tomcat aus.
    3. Füllen Sie die leeren Felder wie JMX-Port aus, und überwachen Sie Benutzername und Kennwort, und klicken Sie auf Neue Ressource ermitteln.

    Nachdem der Job abgeschlossen ist, navigieren Sie zur "Enterprise Summary" von Stack Monitoring. Im Dashboard werden Performance und Status von Oracle Database, Apache Tomcat und den Hosts angezeigt, auf denen Tomcat vertraut ist.

    Verknüpfen Sie als Nächstes die Ressourcen, die eine einfache Navigation im Anwendungsstack ermöglichen. Weitere Informationen zu den Ressourcen finden Sie unter "Anwendungstopologie aktualisieren" (auf die Sie über das Thema "Weitere Informationen" am Ende dieses Playbooks zugreifen können).

    Konfigurieren Sie schließlich Alarme für die Ressourcen. Beispiele für Alarme:
    • Host
      • Dateisystemauslastung
      • CPU- und Speichernutzung
      • Überwachungsstatus
    • Oracle Database
      • Überwachungsstatus
      • CPU und Speicher
      • Wartezeit
      • Speicherauslastung nach Tablespace
    • Apache Tomcat
      • Überwachungsstatus
      • JVM-Speicherauslastung (Heap und kein Heap)
      • CPU-Auslastung