Oracle Cloud Infrastructure-Backups mit Funktionen und Autonomous JSON überwachen
```
{
"eventType" : "com.oraclecloud.filestorage.createsnapshot",
"cloudEventsVersion" : "0.1",
"eventTypeVersion" : "2.0",
"source" : "FileStorage",
"eventTime" : "2022-11-23T21:30:20Z",
"contentType" : "application/json",
"data" : {
"compartmentId" : "ocid1.compartment.oc1..********************",
"compartmentName" : "ChristophePruvost",
"resourceName" : "Snapshot-20221123-2130-10",
"resourceId" : "ocid1.snapshot.oc1.********************",
"availabilityDomain" : "AD2",
"freeformTags" : { },
"definedTags" : {
"Mandatory_Tags" : {
"Owner" : "oracleidentitycloudservice/firstname.name@company.com",
"Schedule" : "OnDemand_UTC+1",
"CreatedOn" : "2022-11-23T21:30:11.405Z"
}
},
"additionalDetails" : {
"X-Real-Port" : 60458
}
},
"eventID" : "d520f88c-cd3d-4d1f-9a39-d935db5dcd8b",
"extensions" : {
"compartmentId" : "ocid1.compartment.oc1..*****************************"
}
}
```
Nachdem Sie Ereignisse in Autonomous JSON eingefügt haben, können Sie ganz einfach eine APEX-Anwendung erstellen, mit der alle OCI-Backups an einem Ort überwacht werden. Darüber hinaus können Sie als OCI-Administrator eine Flut von E-Mail-Benachrichtigungen vermeiden und mit APEX effiziente Backupberichte erstellen. Um dies zu aktivieren, müssen Sie die im folgenden Architekturdiagramm gezeigte Komponente "Email Delivery" deaktivieren.
Architektur
Das folgende Diagramm veranschaulicht die Referenzarchitektur für diese Lösung.

Beschreibung der Abbildung mon-bu-funs-auto-json-arch.png
mon-bu-funs-auto-json-arch-oracle.zip
Hinweis:
File Storage Snapshot und DBCS Backup sind nur zwei Beispiele für diese Implementierung. Sie wird ähnlich wie alle Backupereignisse auf OCI ausgeführt, einschließlich Block Storage Backup, Boot Storage Backup, ExaCS Backup usw.Die Architektur umfasst die folgenden Komponenten:
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domains bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie voneinander trennen (über Länder oder sogar Kontinente).
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- File Storage
Oracle Cloud Infrastructure File Storage Service bietet ein dauerhaftes, skalierbares, sicheres Netzwerkdateisystem der Unternehmensklasse. Sie können über jede Bare-Metal-, Virtual-Machine- oder Containerinstanz eine Verbindung zu einem File Storage-Service-Dateisystem herstellen. Ein File Storage Snapshot ist ein Backup des Dateisystems, mit dem Sie ihn bei einem Klon wiederherstellen können.
- Database Cloud Service (DBCS)
DBCS ist ein komplett verwalteter Service von Oracle Database. Ein DBCS-Backup ist ein Backup der Daten, mit denen Sie die Datenbank wiederherstellen können.
- OCI-Ereignisservice
Oracle Cloud Infrastructure Events Service verfolgt Ressourcenänderungen mit Ereignissen, die dem Cloud Events-Standard der Cloud Native Computing Foundation (CNCF) entsprechen. Entwickler können in Echtzeit auf Änderungen reagieren, indem sie Code mit Functions auslösen, in Streaming schreiben oder Alerts mit Notifications senden.
- OCI-Funktionen
Oracle Cloud Infrastructure OCI Functions ist ein serverloser, ereignisgesteuerter Service, mit dem Entwickler Anwendungen erstellen, ausführen und skalieren können, ohne Infrastruktur bereitzustellen oder zu verwalten. Sie zahlen nur für die Ressourcen, die bei Ausführung der Funktion verwendet werden. Funktionen lassen sich in andere OCI-Services und Oracle Saar-Anwendungen integrieren. OCI Functions kann basierend auf einem offenen Framework in andere Clouds oder On-Premise-Umgebungen portiert werden.
- Autonomes JSON
Oracle Autonomous JSON Database ist ein funktionsbezogener Service zum Speichern und Abrufen von JSON-Dokumentensammlungen mit SQL- oder Dokument-APIs.
- Email Delivery
Oracle Cloud Infrastructure Email Delivery bietet eine schnelle und zuverlässige verwaltete Lösung zum Senden von sicheren, umfangreichen Marketing- und Transaktions-E-Mails.
Empfehlungen
Um die Funktion zu implementieren, empfiehlt Oracle, einige der verfügbaren LiveLabs abzuschließen, um den Prozess besser zu verstehen und die Umgebung vorzubereiten.
- Oracle-OCI-Funktion
Zunächst müssen Sie sich mit der Implementierung von OCI Functions vertraut machen. Befolgen Sie LiveLab, Oracle Functions konfigurieren. Um den Prozess zu beschleunigen, kopieren Sie Beispielcode aus oracle-functions-samples auf GitHub, und fügen Sie ihn ein.
- Autonomes JSON
Als Nächstes folgen Sie LiveLab, Entwickeln mit JSON und SODA in Oracle Database, um sich mit der Verwendung von JSON in Oracle-Datenbanken vertraut zu machen. Befolgen Sie dann LiveLab, Ereignisgesteuerte Oracle Functions mit Autonomous Data Warehouse.
- Mit APEX überwachen
Schließlich erfahren Sie, wie Sie Prozesse in APEX überwachen. Befolgen Sie dazu die LiveLabs Niedrige Codeentwicklung mit Autonomous Database.
Nachdem Sie die LiveLab abgeschlossen haben, erstellen Sie eine SQL-Ansicht der JSON-Ereignisse, und erstellen Sie mit dem folgenden Codebeispiel Ihre eigene APEX-Monitoringanwendung. Beachten Sie, dass diese Ansicht relativ zur Struktur des Beispiels für JSON-Ereignisse ist, das unter "Informationen zum Überwachen von Oracle Cloud Infrastructure-Backups mit Funktionen und Autonomous JSON" angezeigt wird.CREATE OR REPLACE VIEW j_backup_detail_view AS SELECT ba.id, ba.created_on, ba.last_modified, ba.version, jt.* FROM backup ba, json_table(ba.json_document, '$' COLUMNS ( eventtype VARCHAR2(100) PATH '$.eventType', cloudeventsversion VARCHAR2(10) PATH '$.cloudEventsVersion', eventtypeversion VARCHAR2(10) PATH '$.eventTypeVersion', source VARCHAR2(50) PATH '$.source', compartmentid VARCHAR2(200) PATH '$.data.compartmentId', compartmentname VARCHAR2(100) PATH '$.data.compartmentName', resourcename VARCHAR2(200) PATH '$.data.resourceName', resourceid VARCHAR2(200) PATH '$.data.resourceId', availabilitydomain VARCHAR2(200) PATH '$.data.availabilityDomain' )) jt; create search index srchidx on backup (json_document) for json;Jetzt können Sie Ihre eigene Implementierung starten.