Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Überwachen Sie die Datenträgerauslastung mit benutzerdefinierten Oracle Cloud Infrastructure-Metriken
Einführung
Mit den Plattformservices von Oracle Observability and Management können Kunden Multi-Cloud-Anwendungen und Infrastrukturumgebungen überwachen, analysieren und verwalten. Mit Metriken werden Ressourcen und Alarme überwacht, um Sie zu benachrichtigen, wenn diese Metriken alarmspezifische Trigger erfüllen. Metriken werden an den Monitoring-Service als Rohdatenpunkte oder Zeitstempel/Wert-Paare zusammen mit Dimensionen und Metadaten ausgegeben.
Metriken stammen aus verschiedenen Quellen:
- Ressourcenmetriken, die automatisch von Oracle Cloud Infrastructure-(OCI-)Ressourcen gepostet werden. Beispiel: CpuUtilization.
- Mit der Monitoring-API veröffentlichte benutzerdefinierte Metriken.
Zielsetzung
Überwachen Sie die Datenträgerauslastung mit benutzerdefinierten OCI-Metriken.
Voraussetzungen
-
Dynamische Gruppe erstellen, um die erforderliche Policy hinzuzufügen.
# Replace compartment_ocid as per your tenancy instance.compartment.id = '<compartment_ocid>' -
Fügen Sie erforderliche Policys hinzu, um Namespace zu erstellen und der Benutzergruppe die Berechtigung zum Übertragen von Metriken an den Monitoring-Service zu erteilen.
# Replace group-name as per your tenancy Allow dynamic-group <group-name> to use metrics in tenancy -
OCI-Python-SDK auf der Compute-Instanz.
# Using Oracle Linux 7 or 8 sudo yum install python36-oci-sdk -
SSH-Zugriff auf Compute-Instanz.
Aufgabe 1: Python-Datei erstellen
-
Erstellen Sie
disk_usage.pyin der Compute-Instanz, in der die Datenträgerauslastungsmetrik erfasst werden muss.Hinweis: Verwenden Sie Ihren bevorzugten Texteditor basierend auf dem Betriebssystem.
-
Kopieren Sie das folgende Beispielskript nach
disk_usage.py.# This is a sample python script to post disk utilization custom metric to oci monitoring. # Command: python disk_usage.py import oci,psutil,datetime from pytz import timezone # initialize service client with OCI python SDK signer = oci.auth.signers.InstancePrincipalsSecurityTokenSigner() monitoring_client = oci.monitoring.MonitoringClient(config={}, signer=signer, service_endpoint="https://telemetry-ingestion.ap-mumbai-1.oraclecloud.com") # get disk usage with psutil disk = psutil.disk_usage('/') disk_usage=disk.percent print(disk_usage) times_stamp = datetime.datetime.now(timezone('UTC')) # post custom metric to oci monitoring # replace "compartment_ocid“ with your compartmet ocid and srv01 with your compute instance post_metric_data_response = monitoring_client.post_metric_data( post_metric_data_details=oci.monitoring.models.PostMetricDataDetails( metric_data=[ oci.monitoring.models.MetricDataDetails( namespace="custom_metrics", compartment_id="your_compartment_ocid", name="disk_usage", dimensions={'resourceDisplayName': 'srv01'}, datapoints=[ oci.monitoring.models.Datapoint( timestamp=datetime.datetime.strftime( times_stamp,"%Y-%m-%dT%H:%M:%S.%fZ"), value=disk_usage)] )] ) ) # Get the data from response print(post_metric_data_response.data)Hinweis: Weitere benutzerdefinierte Metriken finden Sie unter psutil-Befehle.
-
Fügen Sie die Ausführungsberechtigung für das Skript mit dem folgenden Befehl hinzu.
chmod +x disk_usage.py -
Aktualisieren Sie den Datenaufnahmeendpunkt gemäß Ihrer Region.
Hinweis: Endpunkte variieren je nach Vorgang. Verwenden Sie für das Posten von Metriken die Telemetriedatenendpunkte.
-
Aktualisieren Sie den Namespace entsprechend Ihrer Anforderung.
Hinweis: Verwenden Sie für den Metrik-Namespace kein reserviertes Präfix (oci_ oder oracle_).
-
Aktualisieren Sie
compartment ocidmit Ihrer Compartment-OCID undsrv01mit Ihrer Compute-Instanz. -
Fügen Sie weitere Metriken im Skript hinzu, falls erforderlich, um für dieselbe Compute-Instanz zu erfassen. Im Folgenden finden Sie ein Beispiel für die Erfassung von freiem Speicherplatz in GB.
# get metric details using psutil disk_free=round(disk.free/1024/1024/1024,2) print(disk_free) # Add more metric to post if required post_metric_data_response = monitoring_client.post_metric_data( post_metric_data_details=oci.monitoring.models.PostMetricDataDetails( metric_data=[ oci.monitoring.models.MetricDataDetails( namespace="custom_metrics", compartment_id="your_compartment_ocid", name="disk_free", dimensions={'resourceDisplayName': 'srv01'}, datapoints=[ oci.monitoring.models.Datapoint( timestamp=datetime.datetime.strftime( times_stamp,"%Y-%m-%dT%H:%M:%S.%fZ"), value=disk_free)] )] ) )
Aufgabe 2: Benutzerdefinierte Metrikdaten verbuchen
-
Führen Sie das Skript manuell aus CLI aus, um den Erfolg zu validieren.
python disk_usage.pyOutput: 27.1 { "failed_metrics": [], "failed_metrics_count": 0 } -
Planen Sie das Skript über einen Cron-Job oder eine Planungsaufgabe, um Daten häufig an den OCI-Überwachungsservice zu posten.
-
Fügen Sie die Skriptdetails in der crontab-Datei mit
crontab -eauf einer Nicht-Windows-Compute-Instanz hinzu.Hinweis: Benutzerdefinierte Metriken können pro Sekunde gepostet werden, und das minimale Aggregationsintervall beträgt eine Minute. Als Best Practice wird empfohlen, benutzerdefinierte Metriken alle 1 Minute oder höher zu posten.
# Cron job example with every 1 min execution. */1 * * * * /usr/bin/python3 /home/opc/disk_usage.py -
Prüfen Sie die Ausgabe im Cron-Log mit
sudo cat /var/log/cron | grep disk.
-
Aufgabe 3: Datenträgernutzungsmetrik mit OCI-Metrik-Explorer anzeigen
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management.
-
Klicken Sie unter Monitoring auf Metrik-Explorer.
-
Wählen Sie das Compartment aus, das die benutzerdefinierte Metrik enthält, die Sie anzeigen möchten, und klicken Sie dann auf den Namen des Metrik-Namespace. Beispiel: custom_metrics.
-
Klicken Sie unter Ressourcen auf Metriken. Wählen Sie Metrikname, Intervall und Dimensionsname und Dimensionswert aus.

-
Klicken Sie auf Diagramm aktualisieren, um die benutzerdefinierte Metrik im Metrik-Explorer anzuzeigen.
Verwandte Links
Bestätigungen
Autor - Dipesh Kumar Rathod (Master Principal Cloud Architect, Infrastructure)
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.
Monitor disk utilization using Oracle Cloud Infrastructure custom metrics
F86088-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.