Hinweis:

OCI Stack Monitoring-Deployment für OCI Compute-Instanzen automatisieren

Einführung

Stack Monitoring ist einer der Services für die Überwachung von Compute-Instanzen in Oracle Cloud Infrastructure (OCI) unter Beobachtbarkeit und Management für die Infrastruktur, die unter dem OCI-Mandanten bereitgestellt ist. Mit Stack Monitoring können nicht nur die einzelnen Datenträger, sondern auch die Dateisysteme gespeichert werden, die auf jedem Volume erstellt werden, das an die Compute-Instanzen angeschlossen ist. Zusätzlich zum Speicher bietet die Stacküberwachung Metriken für Verfügbarkeit, CPU, Arbeitsspeicher und Datenträgeraktivität + Paging der Compute-Instanzen.

In unserem vorherigen Tutorial: VM-Datenträgerauslastung mit Stackmonitoring verwalten wurde die Überwachung von Speicherdateisystemen von Compute-Instanzen mit dem OCI-Stackmonitoring-Service beschrieben. Dabei wurde der Monitoring-Agent für jede Instanz manuell aktiviert und dann mit einer JSON-Datei ein Discovery-Job für eine einzelne Instanz ausgeführt.

Bei einer realen Produktionsumgebung sind jedoch Tausende von Maschinen vorhanden, und wir können das OCI Stack Monitoring-Deployment für OCI Compute-Instanzen automatisieren.

Zielsetzung

Automatisieren Sie den kompletten Prozess der Installation und Bereitstellung von Stack Monitoring mit benutzerdefinierten Skripten.

Voraussetzungen

  1. Wenn Sie die in diesem Tutorial vorhandene Lösung bereits implementiert haben, können Sie die Schritte 2 bis 5 überspringen.
  2. Der Benutzer muss über die IAM-Berechtigungen verfügen, wie in diesem Tutorial erwähnt.
  3. Die dynamische Gruppe für die Management-Agents mit den erforderlichen Policys muss wie in diesem Tutorial beschrieben erstellt werden.
  4. Der Benutzer muss OCI CLI Version 3.16 oder höher auf dem Rechner installiert haben, auf dem Skripte bereitgestellt werden.
  5. Die Lösung besteht aus Shellskripten, die auf einem mit Linux/Unix Shell kompatiblen Rechner gehostet werden müssen.

Aufgabe 1: Lösung bereitstellen

Erstellen Sie ein separates Verzeichnis auf Ihrem Linux-basierten Gerät, um die Lösung zu installieren. Im Folgenden werden die detaillierten Schritte zum Deployment der Lösung in OCI beschrieben:

  1. Stellen Sie das Skript für die Installation des Monitoring-Agents bereit.

    1. Erstellen Sie mit dem folgenden Befehl eine neue Datei namens agent-enable.sh im Verzeichnis:

      vi agent-enable.sh
      
    2. Kopieren Sie das folgende Code-Snippet, und fügen Sie es in die Datei agent-enable.sh ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      #************************************************************************
      #
      #   Licensed under the Apache License, Version 2.0 (the “License”);
      #   you may not use this file except in compliance with the License.
      #   You may obtain a copy of the License at
      #
      #       http://www.apache.org/licenses/LICENSE-2.0
      #
      #   Unless required by applicable law or agreed to in writing, software
      #   distributed under the License is distributed on an “AS IS” BASIS,
      #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      #   See the License for the specific language governing permissions and
      #   limitations under the License.
      #
      #************************************************************************
      # Available at: https://github.com/dbarj/oci-scripts
      # Created on: Oct/2022 by Maninder Singh Flora and Akarsha Itigi
      # Version 2.0
      #************************************************************************
      
      #!/bin/bash
      DATE=$(date +'%m-%d-%Y-%T')
      
      Help()
      {
         # Display Help
         echo "This script will enable the Monitoring agent on the OCI Compute Instances by taking input of a Compartment-id or an Instance-id."
         echo
         echo "Syntax: sh <script-name> [-h|i|c]"
         echo "options:"
         echo "h     Print this Help."
         echo "i     Takes Instance-id as input and enables agent for that particular compute instance only."
         echo "c     Takes Compartment-id as input and enables agent for all the compute instances in that compartment."
         echo
      }
      
      Allinstance()
      {
      	LOG_FILE=$INPUT_ID-$DATE
      	STR=$INPUT_ID
      	MATCH1=$(echo $INPUT_ID | awk -F"." {'print $2'} | tr -d " ")
      	MATCH2="compartment"
              INPUT_LENGTH=${#STR}
              LENGTH=83
      	if [ $MATCH1 = $MATCH2 ] && [ $INPUT_LENGTH = $LENGTH ]
              then
      	  touch /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
      	  for INSTANCE_ID in $(oci compute instance list --compartment-id $INPUT_ID | grep ocid1.instance | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ");
                      do
                      echo " "
                      INSTANCE_NAME=$(oci compute instance get --instance-id "$INSTANCE_ID" | grep -i display-name | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
                      echo "$DATE Enabling Monitoring Agent for $INSTANCE_NAME ..."
                      echo "$DATE Enabling Monitoring Agent for $INSTANCE_NAME ..." >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
                      oci compute instance update --instance-id "$INSTANCE_ID" --from-json file:///tmp/monitoring_agent/monitoring_agent_templates/agent_enable.json --force >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
                      echo "$DATE Enabled Monitoring Agent for $INSTANCE_NAME" >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
                      echo "$DATE Enabled Monitoring Agent for $INSTANCE_NAME"        
                done
      
        	else
      	     echo "[ERORR] : Invalid Compartment-id"
      	fi
      
      }
      
      Instance()
      {
      	LOG_FILE=$INPUT_ID-$DATE
      	STR=$INPUT_ID
      	MATCH1=$(echo $INPUT_ID | awk -F"." {'print $2'} | tr -d " ")
              MATCH2="instance"
              INPUT_LENGTH=${#STR}
              LENGTH=83
      	if [ $MATCH1 = $MATCH2 ] && [ $INPUT_LENGTH = $LENGTH ]
      	then
      		touch /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
              	echo " "
      		INSTANCE_NAME=$(oci compute instance get --instance-id "$INPUT_ID" | grep -i display-name | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
              	echo "$DATE Enabling Monitoring Agent for $INSTANCE_NAME ..."
              	echo "$DATE Enabling Monitoring Agent for $INSTANCE_NAME ..." >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
              	oci compute instance update --instance-id "$INPUT_ID" --from-json file:///tmp/monitoring_agent/monitoring_agent_templates/agent_enable.json --force >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
              	echo "$DATE Enabled Monitoring Agent for $INSTANCE_NAME" >> /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/$LOG_FILE.log
              	echo "$DATE Enabled Monitoring Agent for $INSTANCE_NAME"
      	else
                  echo "[ERORR] : Invalid Instance-id"
              fi
      }
      
      # Get the options
      while getopts " hi:c: " option; do
         case $option in
            h) # display Help
               Help
               exit;;
            i) # Enter Instance-id
               INPUT_ID=$OPTARG
               Instance
               exit;;
            c) # Enter Compartment-id
               INPUT_ID=$OPTARG
               Allinstance
               exit;;
           \?) # Invalid option
               echo "[Error] : Invalid option"
               echo "Please check the valid options using ./<script-name> -h"
               exit;;
         esac
      done
      
    3. Erteilen Sie die Ausführungsberechtigung für die Datei mit dem folgenden Befehl:

      chmod +x agent-enable.sh
      
    4. Erstellen Sie mit dem folgenden Befehl eine weitere Datei namens agent_enable.json in demselben Verzeichnis:

      vi agent_enable.json
      
    5. Kopieren Sie das Code-Snippet von unten, und fügen Sie es in die Datei agent_enable.json ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      {
          "agent-config": {
            "are-all-plugins-disabled": false,
            "is-management-disabled": false,
            "is-monitoring-disabled": false,
            "plugins-config": [
              {
                "desired-state": "ENABLED",
                "name": "Management Agent"
              }        
            ]
          }
      }
      
  2. Stellen Sie das Skript für die Ausführung von OCI Stack Monitoring Discovery-Jobs bereit.

    1. Erstellen Sie mit dem folgenden Befehl eine neue Datei namens discovery-job.sh im Verzeichnis:

      vi discovery-job.sh
      
    2. Kopieren Sie das folgende Code-Snippet, und fügen Sie es in die Datei discovery-job.sh ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      #************************************************************************
      #
      #   Licensed under the Apache License, Version 2.0 (the “License”);
      #   you may not use this file except in compliance with the License.
      #   You may obtain a copy of the License at
      #
      #       http://www.apache.org/licenses/LICENSE-2.0
      #
      #   Unless required by applicable law or agreed to in writing, software
      #   distributed under the License is distributed on an “AS IS” BASIS,
      #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      #   See the License for the specific language governing permissions and
      #   limitations under the License.
      #
      #************************************************************************
      # Available at: https://github.com/dbarj/oci-scripts
      # Created on: Oct/2022 by Maninder Singh Flora and Akarsha Itigi
      # Version 1
      #************************************************************************
      
      #!/bin/bash
      DATE=$(date +'%m-%d-%Y-%T')
      
      Help()
      {
         # Display Help
         echo "This script will run Stack-Monitoring Discovery-job on the OCI Compute Instances by taking input of a Compartment-id or an Instance-id."
         echo
         echo "Syntax: sh <script-name> [-h|i|c]"
         echo "options:"
         echo "h     Print this Help."
         echo "i     Takes Instance-id as input and enables agent for that particular compute instance only."
         echo "c     Takes Compartment-id as input and enables agent for all the compute instances in that compartment."
         echo
      }
      
      Allinstance()
      {
              LOG_FILE=$INPUT_ID-$DATE
              STR=$INPUT_ID
              MATCH1=$(echo $INPUT_ID | awk -F"." {'print $2'} | tr -d " ")
              MATCH2="compartment"
              INPUT_LENGTH=${#STR}
              LENGTH=83
              if [ $MATCH1 = $MATCH2 ] && [ $INPUT_LENGTH = $LENGTH ]
      	then
      	    touch /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
      	    for AGENT_ID in $(oci management-agent agent list --compartment-id $INPUT_ID | grep "CreatedBy" | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ");
                  do
                      echo " "
                      INSTANCE_ID=$(oci management-agent agent get --agent-id $AGENT_ID | grep -i ocid1.instance | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
                      INSTANCE_IP=$(oci compute instance list-vnics --instance-id $INSTANCE_ID | grep -i private-ip | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " " | head -n 1)
                      INSTANCE_NAME=$(oci compute instance get --instance-id "$INSTANCE_ID" | grep -i display-name | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
                      cp /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template.json /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
                      sed -i s/COMPARTMENT_ID/$INPUT_ID/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
                      sed -i s/AGENT_ID/$AGENT_ID/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
                      sed -i s/INSTANCE_IP/$INSTANCE_IP/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
                      echo "$DATE Running Stack-Monitoring Discovery-job for $INSTANCE_NAME ($INSTANCE_IP)..."
                      echo "$DATE Running Stack-Monitoring Discovery-job for $INSTANCE_NAME ($INSTANCE_IP)..." >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
                      oci stack-monitoring discovery-job create --compartment-id "$INPUT_ID" --from-json file:///tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
                      echo "$DATE Stack-Monitoring Discovery-job created for $INSTANCE_NAME ($INSTANCE_IP)" >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
                      echo "$DATE Stack-Monitoring Discovery-job created for $INSTANCE_NAME ($INSTANCE_IP)"
                  done
      	else
                   echo "[ERORR] : Invalid Compartment-id"
              fi
      }
      
      Instance()
      {
              LOG_FILE=$INPUT_ID-$DATE
              STR=$INPUT_ID
              MATCH1=$(echo $INPUT_ID | awk -F"." {'print $2'} | tr -d " ")
              MATCH2="instance"
              INPUT_LENGTH=${#STR}
              LENGTH=83
              if [ $MATCH1 = $MATCH2 ] && [ $INPUT_LENGTH = $LENGTH ]
              then
      		touch /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
      		echo " "
              	INSTANCE_NAME=$(oci compute instance get --instance-id "$INPUT_ID" | grep -i display-name | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
              	INSTANCE_IP=$(oci compute instance list-vnics --instance-id $INPUT_ID | grep -i private-ip | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " " | head -n 1)
              	COMPARTMENT_ID=$(oci compute instance get --instance-id "$INPUT_ID" | grep -i compartment | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
              	AGENT_ID=$(oci management-agent agent list --compartment-id $COMPARTMENT_ID --host-id $INPUT_ID | grep "CreatedBy" | awk -F":" {print'$2'} | awk -F"," {print'$1'} | tr -d "\"" | tr -d " ")
              	cp /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template.json /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
              	sed -i s/COMPARTMENT_ID/$COMPARTMENT_ID/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
              	sed -i s/AGENT_ID/$AGENT_ID/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
              	sed -i s/INSTANCE_IP/$INSTANCE_IP/ /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
              	echo "$DATE Running Stack-Monitoring Discovery-job for $INSTANCE_NAME ($INSTANCE_IP)..."
              	echo "$DATE Running Stack-Monitoring Discovery-job for $INSTANCE_NAME ($INSTANCE_IP)..." >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
              	oci stack-monitoring discovery-job create --compartment-id "$COMPARTMENT_ID" --from-json file:///tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
              	echo "$DATE Stack-Monitoring Discovery-job created for $INSTANCE_NAME ($INSTANCE_IP)" >> /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs/$LOG_FILE.log
              	echo "$DATE Stack-Monitoring Discovery-job created for $INSTANCE_NAME ($INSTANCE_IP)"
      
      	else
                  echo "[ERORR] : Invalid Instance-id"
              fi
      }
      
      # Get the options
      while getopts " hi:c: " option; do
         case $option in
            h) # display Help
               Help
               exit;;
            i) # Enter Instance-id
               INPUT_ID=$OPTARG
               Instance
               exit;;
            c) # Enter Compartment-id
               INPUT_ID=$OPTARG
               Allinstance
               exit;;
           \?) # Invalid option
               echo "[Error] : Invalid option"
      	 echo "Please check the valid options using ./<script-name> -h"
               exit;;
         esac
      done
      
    3. Erteilen Sie die Ausführungsberechtigung für die Datei mit dem Befehl.

      chmod +x discovery-job.sh
      
    4. Erstellen Sie mit dem Befehl eine weitere Datei namens discovery_job_template.json im selben Verzeichnis.

      vi discovery_job_template.json
      
    5. Kopieren Sie das Code-Snippet von unten, und fügen Sie es in die Datei discovery_job_template.json ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      {
          "discoveryType": "ADD",
          "discoveryClient": "host-discovery",
          "compartmentId": "COMPARTMENT_ID",
          "discoveryDetails": {
            "agentId": "AGENT_ID",
            "resourceType": "HOST",
            "resourceName": "INSTANCE_IP",
            "properties": {
              "propertiesMap": {}
            }
          }
      }
      
    6. Erstellen Sie mit dem Befehl eine weitere Datei namens discovery_job_template1.json im selben Verzeichnis.

      vi discovery_job_template1.json
      
    7. Kopieren Sie das folgende Code-Snippet, und fügen Sie es in die Datei discovery_job_template1.json ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      {
          "discoveryType": "ADD",
          "discoveryClient": "host-discovery",
          "compartmentId": "ocid1.compartment.oc1..aaaaaaaapi7c22bjp3zcuiywo2nabufke2lktkfhbf2ehqfclomnjc3vqh3q",
          "discoveryDetails": {
            "agentId": "ocid1.managementagent.oc1.iad.amaaaaaawe6j4fqa4f5q5pj3izevwffdpe63dvykmqzub2xakevch3a7xgtq",
            "resourceType": "HOST",
            "resourceName": "10.0.0.53",
            "properties": {
              "propertiesMap": {}
            }
          }
      }
      
  3. Stellen Sie das Installationsskript bereit, um das Setup abzuschließen.

    1. Erstellen Sie mit dem Befehl eine neue Datei namens installation.sh im Verzeichnis.

      vi installation.sh
      
    2. Kopieren Sie das folgenden Code-Snippet, und fügen Sie es in die Datei installation.sh ein. Speichern Sie die in der Datei vorgenommenen Änderungen, und beenden Sie den Vorgang.

      #!/bin/bash
      
      mkdir Monitoring-Agent-Scripts
      mkdir /tmp/monitoring_agent
      mkdir /tmp/monitoring_agent/monitoring_agent_logs
      mkdir /tmp/monitoring_agent/monitoring_agent_templates
      mkdir /tmp/monitoring_agent/monitoring_agent_logs/agent_enable_logs/
      mkdir /tmp/monitoring_agent/monitoring_agent_logs/stack_monitoring_discovery_job_logs
      
      cp agent_enable.json /tmp/monitoring_agent/monitoring_agent_templates/agent_enable.json
      cp discovery_job_template.json /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template.json
      cp discovery_job_template1.json /tmp/monitoring_agent/monitoring_agent_templates/discovery_job_template1.json
      
      cp discovery-job.sh Monitoring-Agent-Scripts/discovery-job.sh
      cp agent-enable.sh Monitoring-Agent-Scripts/agent-enable.sh
      
      chmod +x Monitoring-Agent-Scripts/discovery-job.sh
      chmod +x Monitoring-Agent-Scripts/agent-enable.sh
      
      rm -f agent_enable.json
      rm -f discovery_job_template.json
      rm -f discovery_job_template1.json
      
      rm -f discovery-job.sh
      rm -f agent-enable.sh
      rm -f installation.sh
      
    3. Erteilen Sie die Ausführungsberechtigung für die Datei mit dem Befehl.

      chmod +x agent-enable.sh
      
  4. Schließen Sie das Deployment ab. Jetzt haben wir alle erforderlichen Dateien mit allen erforderlichen Berechtigungen.

    1. Führen Sie den folgenden Befehl in demselben Verzeichnis aus, um die Einrichtung abzuschließen.

      sh installation.sh
      
    2. Dadurch werden die JSON-Vorlagen an die richtigen Speicherorte kopiert und die Logdateien zum Speichern der Agent-Installation und der Ausführung des Stackmonitoringjobs erstellt.

    3. Alle oben genannten Vorlagen und JSON-Dateien werden jeweils an den Speicherorten /tmp/monitoring_agent/monitoring_agent_templates und /tmp/monitoring_agent/monitoring_agent_logs kopiert.

    Hinweis: Im aktuellen Verzeichnis wird ein Verzeichnis mit dem Namen Monitoring-Agent-Scripts angezeigt. Dieses Verzeichnis enthält 2 Skripte, um den Agent zu installieren und den Discovery-Job auszuführen.

Aufgabe 2: Lösung ausführen

Nachdem die Skripte auf Ihrem Gerät bereitgestellt wurden, können Sie die Skripte ausführen, um die Agents zu installieren und die Discovery-Jobs für Stack Monitoring auszuführen. Gehen Sie zum Verzeichnis Monitoring-Agent-Scripts, und befolgen Sie die weiteren Schritte.

  1. Führen Sie die Monitoring Agents in Compute-Instanzen aus.

    1. Um den Monitoring-Agent für eine einzelne Compute-Instanz zu installieren, müssen Sie das folgende Skript mit der Option "-i" ausführen.

      sh agent-enable.sh -i <oci_compute_instance_ocid>
      
    2. Um den Monitoring Agent in allen Compute-Instanzen in einem Compartment zu installieren, müssen Sie das Skript mit der Option "-c" ausführen.

      sh agent-enable.sh -c <compartment_ocid>
      
    3. Sie können die Syntax und die Optionsdetails mit der Option "-h" mit dem Skript wie folgt prüfen.

      sh agent-enable.sh -h
      
    4. Nachdem das obige Skript (1) oder (2) erfolgreich für die Compute-Instanz ausgeführt wurde, können Sie den Status derselben Instanz auf der Detailseite der Compute-Instanz auf der Registerkarte Oracle Cloud Agent prüfen. SM-Liste

    Hinweis: Wenn der Management Agent im Status "Wird ausgeführt" angezeigt wird, fahren Sie nur mit den weiteren Schritten fort. Wenn der Management Agent nicht in der Instanz ausgeführt wird, erhalten Sie in den weiteren Schritten Fehler.

  2. Führen Sie die OCI-Stackmonitoring-Discovery-Jobs aus.

    1. Wenn der Management Agent für die Compute-Instanz ausgeführt wird, können Sie das folgende Skript mit der Option "-i" ausführen, um den OCI Stack Monitoring Discovery-Job auszuführen.

      sh discovery-job.sh -i <oci_compute_instance_ocid>
      
    2. Um den OCI Stack Monitoring Discovery-Job für alle Compute-Instanzen in einem bestimmten Compartment auszuführen, müssen Sie das Skript mit der Option "-c" ausführen.

      sh discovery-job.sh -c <compartment_ocid>
      
    3. Sie können die Syntax und die obigen Optionsdetails mit der Option "-h" mit dem Skript wie folgt prüfen.

      sh discovery-job.sh -h
      
    4. Das obige Skript (1) oder (2) kann bis zu 5-10 Minuten dauern. Melden Sie sich beim OCI-Portal an, navigieren Sie zum Home-Menü, Observability and Management, Stack Monitoring. Auf der Seite "Stackmonitoring" werden das Stackmonitoring aktiviert und ein vollständiges Dashboard angezeigt. Nach dem Hochstufen ist der Ressourcentyp der Compute-Instanz ein Host. SMDashboard

    5. Prüfen Sie den Status des Promotionjobs unter "Ressourcen-Discovery", um zu prüfen, ob die Ressourcen erfolgreich ermittelt wurden. SMAgentList1

    6. Wählen Sie im Stackmonitoring-Dashboard den Ressourcenblock aus. Daraufhin wird eine Liste der Compute-Instanzen und Hosts angezeigt, für die Sie das Monitoring aktiviert haben.

      SM Liste 2

    7. Wählen Sie den gewünschten Host aus der Liste. Die detaillierte Ansicht der Metriken und Tabellen, die für diesen bestimmten Host angezeigt werden, wird angezeigt.

      SM-Agent - Überblick

      • Hostinformationen und -metriken werden auf der Seite Ressourcendetails als Diagramme und Tabellen angezeigt.

        Hauptseite - Diagramm 1

        Hauptseite - Diagramm 2

        Hauptseite - Diagramm 3

      • Sie können das belegte Dateisystem (GBs) und die Dateisystemauslastung (%) auswählen, um genauere Informationen über den im Host vorhandenen Speicher abzurufen. Die Tabellenansicht stellt alle Metriken in einem Tabellenstil/-format bereit.

        Hauptseitentabelle

      • Nachdem Sie die spezifischen Informationen der Instanzen ausgewählt haben, werden sie sowohl in Prozent als auch in GB angezeigt. Jedes der auf dem Hostrechner dargestellten Dateisysteme wird mit den Einhängepunkten im Tabellenformat dargestellt.

        Datenträgertabellen-Info

Bestätigungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Produktdokumentation finden Sie im Oracle Help Center.