Erweiterte Features von Java Management Service konfigurieren

Java Management Service (JMS) ist ein nativer Service auf Oracle Cloud Infrastructure (OCI). JMS kann zum Verwalten, Überwachen und Sichern von Java-Installationen in Ihren eigenen verwalteten Compute-Instanzen (On-Premise oder auf OCI) verwendet werden.

Sie können JMS für Folgendes verwenden:

  • Transparenz: Java unternehmensweit entdecken und verwalten
  • Insights: Analyse von Java Virtual Machine-(JVM-)Konfiguration, Sicherheit, Compliance, Performance
  • Optimierung: Sicherheit, Migration, Optimierung und Automatisierung

Haben Sie sich jemals gefragt, ob Ihr aktueller Sicherheitsstatus auf die Sicherheitsempfehlungen von Oracle für Java-Laufzeiten abgestimmt ist und aktuell ist? JMS kann Ihnen dabei helfen, eine Antwort zu finden. Es kann jede problematische Java-Library melden, die von Ihren Anwendungen verwendet wird, und prüfen, ob Ihre bereits ausgeführten Anwendungen keine Fehler im Sicherheitsbereich aufweisen. Haben Sie Probleme mit der Performance Ihrer Java-Anwendungen oder fällt es Ihnen schwer, die Protokolle des Java Garbage Collectors zu verstehen? JMS wird durch Performanceanalysen gerettet. Sind Sie sich nicht sicher, ob Sie einfach zu einer neueren Version von Java wechseln können? Wir haben Sie mit der Java-Migrationsanalyse behandelt.

Mit JMS waren die Java Flight Recorder-(JFR-)Aufzeichnungen nie einfacher. Sie müssen nur Ihre Anwendung in JMS auswählen, einige Details angeben und die Aufzeichnungsanforderung weiterleiten. Sobald die JFR-Aufzeichnungsarbeitsanforderung abgeschlossen ist, können Sie problemlos vom Bucket der JMS-Flotte aus darauf zugreifen. Und das ist noch nicht alles: JMS bietet auch Funktionen für das Java-Lebenszyklusmanagement, wie die Installation von Java-Laufzeiten oder die Bereitstellung zusätzlicher Details zu Ihren Java-Anwendungsservern.

In diesem Lösungs-Playbook werden die Schritte beschrieben, mit denen erweiterte JMS-Features zur Lösung der oben beschriebenen Java-IT-Probleme konfiguriert werden.

Mit erweiterten JMS-Features können Sie Einblicke in verschiedene Aspekte von Java in Ihrer Umgebung erhalten. Beispiel: Mit den erweiterten Features können Sie:

  • Scannen Sie nach Java-Librarys, die von Ihren Anwendungen verwendet werden, um potenzielle Sicherheitslücken (CVE) zu identifizieren und zu melden, die mit Java-Librarys von Drittanbietern verknüpft sind.
  • Optimieren Sie die Performance von Java-Workloads mit JVM-Tuning-Empfehlungen, indem Sie Performanceanalysen nutzen.
  • Bewerten Sie die Machbarkeit und den erforderlichen Aufwand für die Migration von Java-Anwendungen zu neueren JDK-Versionen mit der Java-Migrationsanalyse.
  • Unterstützen Sie die Sicherheit Ihrer Anwendungen, indem Sie die Kryptoereignisanalyse verwenden, um schwache kryptografische Verwendungen zu identifizieren, die nicht mehr mit bevorstehenden Updates in der kryptografischen Roadmap von Oracle JRE und JDK arbeiten.
  • Erfahren Sie, welche Services und Anwendungen auf jedem Java-Anwendungsserver ausgeführt werden, indem Sie nach Java-Servern suchen.
  • Führen Sie JDK Flight Recorder aus, um Anwendungseinblicke remote zu erfassen.
  • Java-Laufzeit herunterladen, installieren und konfigurieren.
  • Gemeldete Oracle Java-Versionen entfernen.
  • Verteilen oder entfernen Sie das Deployment-Regelset.

Bevor Sie beginnen

Für den Zugriff auf Java Management Service ist ein Oracle Cloud-(OCI-)Account erforderlich. Sie können Ihren eigenen Cloud-Account verwenden oder einen OCI Free Tier-Account erhalten.

In den Beispielen in diesem Lösungs-Playbook verwenden wir das OCI-Befehlszeilentool. Wenn Sie diese Beispiele selbst ausprobieren möchten, richten Sie die OCI-CLI gemäß der folgenden Anleitung ein und konfigurieren sie Befehlszeilenschnittstelle (CLI). Zusätzliche Anforderungen für die Ausführung des Beispiels sind das jq-Befehlszeilenutility auf dem Rechner, auf dem Sie OCI-Toolbefehle ausführen. Sie können dieses Dienstprogramm für fast jede Plattform von ihrer GitHub-Projektseite abrufen: https://github.com/jqlang/jq.

Stellen Sie sicher, dass ein Oracle Linux-Rechner korrekt eingerichtet ist, um die Kommunikation mit OCI-Services zu ermöglichen. Die Maschine kann sein:

  • Eine OCI-Compute-Instanz, die in Ihrem Mandanten verfügbar ist. Wenn noch keine Instanz eingerichtet ist, finden Sie weitere Informationen unter OCI-Compute-Instanz erstellen.
  • Nicht-OCI-Host, der On-Premises (in Ihrem eigenen Data Center, in der Drittanbieter-Cloud usw.) ist und über den JMS-Service überwacht werden soll.
JMS einrichten
  1. Richten Sie JMS wie in der folgenden Lösung beschrieben ein: Java Management Service einrichten, um die Java-Nutzung auf einem Oracle Linux-Host zu überwachen.
  2. Fügen Sie die erforderlichen Policys für erweiterte Features hinzu, wie hier beschrieben: JMS Fleets Policy-Anweisungen.
    1. Melden Sie sich bei der OCI-Konsole als Administrator an.
    2. Öffnen Sie das Navigationsmenü, und navigieren Sie zum JMS-Policy-Dokument, indem Sie auf Identität und Sicherheit, Policys klicken.
    3. Suchen Sie das JMS-bezogene Policy-Dokument, z.B. JMS_Policy_Fleet_Compartment, und klicken Sie darauf.
    4. Klicken Sie auf Anweisung und dann auf Policy-Anweisungen bearbeiten.
    5. Fügen Sie die folgenden drei Policy-Anweisungen hinzu:
      
      ALLOW dynamic-group JMS_DYNAMIC_GROUP to MANAGE object-family IN COMPARTMENT Fleet_Compartment
      ALLOW group FLEET_MANAGERS to MANAGE object-family IN COMPARTMENT Fleet_Compartment
      ALLOW resource jms SERVER-COMPONENTS to MANAGE object-family IN COMPARTMENT Fleet_Compartment
    6. Klicken Sie auf Änderungen speichern.
  3. Erweiterte JMS-Features aktivieren:
    1. Melden Sie sich bei der OCI-Konsole als Administrator an.
    2. Öffnen Sie das Navigationsmenü, klicken Sie auf Observability and Management, Flotten unter Java Management.
    3. Wählen Sie Ihre Flotte aus.
    4. Prüfen Sie im Abschnitt Flotteneigenschaften, ob alle erweiterten JMS-Features aktiviert sind.
    5. Klicken Sie andernfalls auf Aktionen, und wählen Sie Eigenschaften bearbeiten aus.
    6. Klicken Sie im Abschnitt Erweiterte Features auf Schaltfläche "Aktivieren" für alle aufgelisteten erweiterten Features.
    7. Prüfen und bestätigen Sie die Anforderungen für erweiterte JMS-Features, und klicken Sie auf Schaltfläche "Aktivieren".
    8. Wenn alle erweiterten Features aktiviert sind, klicken Sie auf Änderungen speichern.

    Hinweis:

    Wenn Sie das JMS-Policy-Dokument oder die JMS-Flotte nicht finden können, versuchen Sie, das Compartment zu ändern. In diesem Lösungs-Playbook wird ein Compartment mit dem Namen Flotten-Compartment verwendet.

    Sie können auch alle erweiterten Features während der Flottenerstellung aktivieren, wie im ersten Schritt des Abschnitts "JMS einrichten" beschrieben.

Architektur

In diesem Playbook wird ein Überblick über das Onboarding erweiterter Features von Java Management Service beschrieben, um insbesondere Einblicke in Ihre Java-Installationen zu erhalten und bei Bedarf Korrekturmaßnahmen zu ergreifen. Diese Lösung gilt für die Aktivierung der erweiterten Featurefunktionalität in JMS für Oracle-Installationen in OCI, On-Premises und in der Cloud von Drittanbietern.

JMS-Agent wird auf den verwalteten Instanzen installiert, um Telemetrie und Java-Nutzungsmetadaten für die Java-Nutzung zu erfassen. Die Telemetriedaten werden aus Datenschutzgründen an Ihren Mandanten ausgegeben und dort gespeichert.

Das folgende Diagramm zeigt die Topologie des JMS-Service in der Produktion. Das Diagramm zeigt Agents, die bereitgestellt sind, um Java zu verfolgen, das auf OCI ausgeführt wird, Ihre On-Premises-Desktops, Laptops und Server sowie Cloud-Services von Drittanbietern. Diese Agents werden in Ihren verwalteten Instanzen bereitgestellt und mit Ihren erstellten Ressourcen (Flotten) in Ihren Mandanten verknüpft.

Die Java-Nutzungsmetadaten werden von dem Agent, der in Ihren Mandanten installiert ist, aus Ihrem Mandanten entfernt. JMS verwendet diese Metadaten, um Insights wie Java-Version, Sicherheitsbaseline und bevorstehende Java-Updates und Anwendungsnutzung zu generieren. Diese werden angezeigt, wenn Sie sich bei der OCI-Konsole anmelden. Es gibt keinen Zugriff von Oracle über die Verarbeitung der exfiltrierten Metadaten hinaus.

Mit den erweiterten Features, die in JMS verfügbar sind, können Sie die Nutzung von Java-Anwendungsservern analysieren, potenzielle Schwachstellen in den Java-Librarys identifizieren, die von Anwendungen verwendet werden, die in Ihrer Umgebung ausgeführt werden, Java Flight Recorder für Performance- und Kryptoanalysen verwenden und Oracle Java Runtimes (JDK-Versionen) in Ihrer Umgebung verwalten. Mit dem erweiterten Feature können Sie Java verwalten, das in Ihrer Umgebung ausgeführt wird.

Das folgende Diagramm veranschaulicht diese Architektur.



jms-oci-topology-oracle.zip

Im folgenden Abschnitt wird allgemein beschrieben, wie Datenflüsse zwischen dem auf der verwalteten Instanz installierten JMS-Agent und dem JMS-Service auf OCI erfolgen:

  • Sie installieren den Agent auf der verwalteten Instanz, und der Agent registriert sich bei OCI.
  • Sie konfigurieren oder aktivieren das JMS-Plug-in (übergeben die JMS-Flotte als Parameter). Der JMS-Agent ist jetzt mit der gewünschten JMS-Flotte verknüpft.
  • Der registrierte JMS-Agent fragt JMS nach der Arbeit ab. JMS antwortet auf die Umfrage mit den entsprechenden Arbeitsanforderungen, sofern vorhanden.
  • Der JMS-Agent scannt die verwaltete Instanz regelmäßig auf Java-Installationen oder -Einträge im Nutzungstracker und sendet die Java-Metriken und Java-Metadaten an OCI.

Weitere Informationen zum Datenfluss zwischen dem JMS-Agent und dem OCI-Service sowie zu den Verkehrswerten zwischen dem auf Ihren Hostrechnern (On-Premise) installierten JMS-Agent und JMS, die in OCI ausgeführt werden, finden Sie unter Java- und Java-Anwendungsinstallationen überwachen und verwalten.

Diese Architektur umfasst die folgenden Komponenten:

  • Region

    Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Centre enthält, das Availability-Domains hostet. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können über Länder oder Kontinente voneinander getrennt werden.

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler in einer Availability-Domain sollte sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • Tenancy

    Ein Mandant ist eine sichere und isolierte Partition, die Oracle bei der Registrierung für OCI in Oracle Cloud einrichtet. Sie können Ihre Ressourcen auf OCI innerhalb Ihres Mandanten erstellen, organisieren und verwalten. Ein Mandant ist ein Synonym für ein Unternehmen oder eine Organisation. Normalerweise hat ein Unternehmen einen einzelnen Mandanten und spiegelt seine Organisationsstruktur innerhalb dieses Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen innerhalb eines OCI-Mandanten. Mit Compartments können Sie den Zugriff organisieren, kontrollieren und Nutzungsquoten für Ihre Oracle Cloud-Ressourcen festlegen. In einem bestimmten Compartment definieren Sie Policys, die den Zugriff kontrollieren und Berechtigungen für Ressourcen festlegen.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein virtuelles Cloud-Netzwerk (VCN) ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie über VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere 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.

  • Instanzpool

    Ein Instanzpool ist eine Gruppe von Instanzen innerhalb einer Region, die aus derselben Instanzkonfiguration erstellt und als Gruppe verwaltet werden.

  • On-Premise-Netzwerk

    Dies ist ein lokales Netzwerk, das von Ihrer Organisation verwendet wird.

  • OCI API Gateway

    Mit Oracle Cloud Infrastructure API Gateway können Sie APIs mit privaten Endpunkten veröffentlichen, auf die über Ihr Netzwerk zugegriffen werden kann und die Sie bei Bedarf im öffentlichen Internet bereitstellen können. Die Endpunkte unterstützen API-Validierung, Anforderungs- und Antworttransformation, CORS, Authentifizierung und Autorisierung sowie Anforderungsbegrenzung.

  • Dynamisches Routinggateway (DRG)

    Das DRG ist ein virtueller Router, der einen Pfad für den privaten Netzwerktraffic zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, z.B. ein VCN in einer anderen OCI-Region, ein On-Premise-Netzwerk oder ein Netzwerk in einem anderen Cloud-Provider.

  • Servicegateway

    Ein Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Datenverkehr vom VCN zum Oracle-Service wird über die Oracle-Netzwerkstruktur geleitet und durchläuft nicht das Internet.

  • Oracle Autonomous Database

    Oracle Autonomous Database ist eine vollständig verwaltete, vorkonfigurierte Datenbankumgebung, die Sie für Transaktionsverarbeitungs- und Data Warehousing-Workloads verwenden können. Sie müssen weder Hardware konfigurieren oder verwalten noch Software installieren. OCI übernimmt das Erstellen, Sichern, Patchen, Upgraden und Optimieren der Datenbank.

  • Bastionhost

    Der Bastionhost ist eine Compute-Instanz, die als sicherer, kontrollierter Einstiegspunkt in die Topologie von außerhalb der Cloud dient. Der Bastionhost wird in der Regel in einer demilitarisierten Zone (DMZ) bereitgestellt. Damit können Sie sensible Ressourcen schützen, indem Sie sie in privaten Netzwerken platzieren, auf die nicht direkt von außerhalb der Cloud zugegriffen werden kann. Die Topologie verfügt über einen einzigen bekannten Einstiegspunkt, den Sie regelmäßig überwachen und auditieren können. So können Sie vermeiden, die sensibleren Komponenten der Topologie freizulegen, ohne den Zugriff darauf zu beeinträchtigen.

  • Oracle Cloud Agent

    Oracle Cloud Agent ist ein einfacher Prozess, der den Lebenszyklus von Plug-ins verwaltet, die auf Compute-Instanzen auf OCI ausgeführt werden. Die JMS-Plug-ins erfassen Java-Metadaten aus Ihrer Umgebung, die auf der verwalteten Instanz in OCI bereitgestellt ist. Das JMS-Plug-in exportiert diese Java-Metadaten in den JMS-Service in OCI.

  • OCI-Compute

    Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen für CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher entsprechen. Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes anhängen und trennen und beenden, wenn Sie sie nicht mehr benötigen.

  • OCI-DNS

    Der Oracle Cloud Infrastructure Domain Name System-(DNS-)Service ist ein hoch skalierbares, globales Anycast-Domain Name System-(DNS-)Netzwerk, das verbesserte DNS-Performance, Resilienz und Skalierbarkeit bietet, sodass Endbenutzer von überall aus schnell eine Verbindung zu Internetanwendungen herstellen können.

  • Kafka-Streams

    Kafka Streams ist eine Client-Library zum Erstellen von Anwendungen und Microservices, in der die Ein- und Ausgabedaten in Kafka-Clustern gespeichert werden. Es kombiniert die Einfachheit des Schreibens und Bereitstellens von standardmäßigen Java- und Scala-Anwendungen auf Clientseite mit den Vorteilen der serverseitigen Clustertechnologie von Kafka.

  • OCI-Protokollierung
    Oracle Cloud Infrastructure Logging ist ein hoch skalierbarer und vollständig verwalteter Service, der Zugriff auf folgende Logtypen von Ihren Ressourcen in der Cloud ermöglicht:
    • Auditlogs: Logs für Ereignisse, die von OCI Audit erstellt wurden.
    • Servicelogs: Von einzelnen Services veröffentlichte Logs, wie OCI API Gateway, OCI-Ereignisse, OCI Functions, OCI Load Balancing, OCI Object Storage und VCN-Flowlogs.
    • Benutzerdefinierte Logs: Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, anderen Cloud-Providern oder einer On-Premise-Umgebung enthalten.
  • Oracle Management Agent

    Oracle Management Agent ist ein Service, der interaktive Kommunikation und Datenerfassung mit geringer Latenz zwischen Oracle Cloud Infrastructure und verwalteten On-Premise-Instanzen bereitstellt. Management-Agents erfassen Daten aus Quellen, die Sie überwachen möchten. Management Agent Service, ein Oracle Cloud Service, verwaltet den Lebenszyklus des Management Agent und die Plug-ins für die Services.

  • OCI-Monitoring

    Oracle Cloud Infrastructure Monitoring überwacht aktiv und passiv Ihre Cloud-Ressourcen und benachrichtigt Sie mit Alarmen, wenn Metriken bestimmte Trigger erfüllen.

  • OCI Object Storage

    OCI Object Storage bietet Zugriff auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und sicher direkt aus Anwendungen oder aus der Cloud-Plattform speichern. Sie können den Storage skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird.

    Verwenden Sie den Standardspeicher für "Hot Storage", auf die Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicherung für "Cold Storage", die Sie über lange Zeiträume beibehalten und nur selten darauf zugreifen.

  • Policy

    Eine Oracle Cloud Infrastructure Identity and Access Management-Policy gibt an, wer auf welche Ressourcen zugreifen kann und wie. Der Zugriff wird auf Gruppen- und Compartment-Ebene erteilt. Sie können also eine Policy schreiben, die einer Gruppe einen bestimmten Zugriffstyp innerhalb eines bestimmten Compartments oder für den Mandanten erteilt.

  • Sicherheitsliste

    Sie können für jedes Subnetz Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der im Subnetz und außerhalb des Subnetzes zulässig ist.

  • Sicherheitszone

    Sicherheitszonen implementieren wichtige Best Practices für die Oracle-Sicherheit, indem sie Policys für ein gesamtes Compartment durchsetzen, wie die Verschlüsselung von Daten und die Verhinderung des öffentlichen Zugriffs auf Netzwerke. Eine Sicherheitszone ist mit einem Compartment mit demselben Namen verknüpft und enthält Sicherheitszonen-Policys (ein Rezept), die für das Compartment und die zugehörigen Sub-Compartments gelten. Sie können kein Standard-Compartment in ein Sicherheitszonen-Compartment hinzufügen oder verschieben.

  • OCI Vault

    Mit Oracle Cloud Infrastructure Vault können Sie die Verschlüsselungsschlüssel zum Schutz Ihrer Daten und die Secret-Zugangsdaten erstellen und zentral verwalten, mit denen Sie den Zugriff auf Ihre Ressourcen in der Cloud sichern. Die Standardschlüsselverwaltung sind von Oracle verwaltete Schlüssel. Sie können auch vom Kunden verwaltete Schlüssel verwenden, die OCI Vault verwenden. OCI Vault bietet ein umfangreiches Set von REST-APIs zur Verwaltung von Vaults und Schlüsseln.

  • OCI-Workflow

    Oracle Cloud Infrastructure Workflow ist eine serverlose Workflow-Engine mit einem grafischen Ablaufdesigner für Entwickler und Architekten. Es beschleunigt die Erstellung, Ausführung und Orchestrierung von OCI-Services wie OCI Functions oder KI/ML.

Hinweise

Beachten Sie die folgenden Punkte, wenn Sie erweiterte Features aktivieren.

  • Für die Verwendung der erweiterten JMS-Features sind zusätzliche Policys erforderlich
  • Krypto-Ereignisanalyse, Performanceanalyse und JDK Flight Recorder können die Speicherauslastung der JVM der Anwendung insgesamt erhöhen.
  • Für Crypto-Ereignisanalysen, Performanceanalysen und JDK Flight Recorder müssen die Java-Laufzeitversionen der Anwendung Version 8u361 oder höher sein.
  • Der obere Grenzwert für die Kryptoereignisanalyse und Performanceanalyse für jede JFR-Aufzeichnung wird auf 4096 MB gesetzt.
  • Zusätzliche Kosten können durch die Verwendung von OCI Object Storage- und OCI Logging-Services zum Speichern der von erweiterten JMS-Features erstellten Daten berechnet werden.
  • Java-Lebenszyklusmanagement
    • Das Feature "Deployment-Regelset" ist nur für Java 8-Laufzeiten anwendbar. Zusätzlicher Overhead ist die Verteilung der Policy-JAR auf die verwalteten Instanzen der Flotte.
    • Die Java-Installation kann die Java-Systemkonfiguration auf der verwalteten Instanz ändern. Befolgen Sie die Installationsanweisungen für die ausgewählte Java-Laufzeitversion und die verwalteten Instanzplattformen.
    • Das Entfernen der Java-Laufzeit kann die Java-Systemkonfiguration auf der verwalteten Instanz ändern. Beispiel: Wenn die ausgewählte Java-Laufzeit die einzige vom System konfigurierte Laufzeit auf einer verwalteten Instanz ist.
  • Erweiterte Nutzungstracking
    • Zur Erkennung von ausgeführten Java Application-Servern muss ihre Java Runtime mindestens Version 8u361 oder höher sein.
    • Die Bibliothekserkennung kann den Ressourcenverbrauch der verwalteten Instanz bei der Prüfung der Anwendung und ihrer Librarys erheblich erhöhen, insbesondere kann sich die CPU- und I/O-Auslastung erhöhen.
    • Je nach Anzahl der auf der verwalteten Instanz erkannten Anwendungsserver und Librarys kann die an JMS gesendete Payload höher sein als üblich. Unter normalen Umständen sollte es in einem Bereich von wenigen hundert Kilobyte liegen.
  • Kryptoereignisanalyse
    • Je nachdem, wie viel jede Anwendung die sicherheitsbezogenen Subsysteme der JVM während der Aufzeichnung nutzt, kann die endgültige Größe der JFR-Aufzeichnungsdatei variieren, unter normalen Umständen liegt die übliche Größe der Aufzeichnung zwischen einigen Hundert Kilobyte und wenigen Megabyte.
    • Wenn die Anwendung im Leerlauf ist, melden einige Erkennungsmechanismen möglicherweise keine potenziellen Probleme.
    • Die Netzwerkauslastung kann abhängig von der Anzahl der verwalteten Instanzen, der Anzahl der Anwendungen und der Größe jeder Aufzeichnung erhöht werden. Das Netzwerk wird beim Upload der JFR-Aufzeichnungen in OCI zur Analyse verwendet.
  • Performanceanalyse
    • Die endgültige Größe jeder JFR-Aufzeichnungsdatei hängt vom Anwendungsverhalten ab. Mehrere performancebezogene JFR-Ereignisse werden erfasst, wie Details zu Garbage Collections, Speicher usw. Unter normalen Umständen beträgt die übliche Aufzeichnungsgröße einige Megabyte.
    • Wenn die Anwendung im Leerlauf ist, melden einige Erkennungsmechanismen möglicherweise keine potenziellen Performanceprobleme.
    • Die Netzwerkauslastung kann je nach Anzahl der verwalteten Instanzen und der Größe jeder Aufzeichnung erhöht werden. Das Netzwerk wird beim Upload der JFR-Aufzeichnungen in OCI zur Analyse verwendet.
  • JDK Flight Recorder (JFR)
    • Die endgültige Größe der JFR-Aufzeichnungsdatei hängt vom ausgewählten Profil oder der bereitgestellten benutzerdefinierten JFC-Konfiguration ab. Ein weiterer Faktor, der die Größe beeinflusst, ist die ausgewählte Aufzeichnungsdauer für die Anwendung.
  • Java-Migrationsanalyse
    • Die Ressourcenauslastung kann während der Analyse der Anwendung zunehmen.
    • Das Ergebnis der Analyse liegt in der Regel in der Größenordnung von einigen hundert Kilobyte, abhängig von der Größe der Anwendungen selbst und deren Abhängigkeiten.

Einige erweiterte Features wie Kryptoanalyse und Performanceanalyse basieren auf der JVM Attach API. Während der Ausführung von Arbeitsanforderungen kann das JMS-Plug-in neue Ereignisse an das Bestandslogobjekt der Flotte senden. Die folgende Beispiel-Payload veranschaulicht, was in solchen Situationen in das Bestandslog der Flotte geliefert wird:

{
  "datetime": 1752483223432,
  "logContent": {
    "id": "3d6a9915-af91-4527-a6d4-2a0d86106b15",
    "time": "2025-07-14T08:53:43.432Z",
    "oracle": {
      "compartmentid": "ocid1.compartment.oc1..compartment-id",
      "ingestedtime": "2025-07-14T08:55:27.274970180Z",
      "instanceid": "ocid1.instance.oc1.eu-frankfurt-1.instance-id",
      "loggroupid": "ocid1.loggroup.oc1.eu-frankfurt-1.log-group-id",
      "logid": "ocid1.log.oc1.eu-frankfurt-1.log-id",
      "tenantid": "ocid1.tenancy.oc1..tenant-id"
    },
    "source": "ocid1.instance.oc1.eu-frankfurt-1.instance-id",
    "specversion": "1.0",
    "subject": "Oracle JMS Plugin",
    "type": "jms.jvm.usage.attach.log",
    "data": {
      "data": {
        "additionalProperties": {
          "java.runtime.name": "Java(TM) SE Runtime Environment",
          "user.dir": "/home/opc/crypto",
          "user.name": "opc"
        },
        "applicationName": "spring-tls-server-1.1.0.jar",
        "classPath": "spring-tls-server-1.1.0.jar",
        "classPathElements": [
          "spring-tls-server-1.1.0.jar"
        ],
        "fleetId": "ocid1.jmsfleet.oc1.eu-frankfurt-1.fleet-id",
        "javaArgs": "n/a",
        "javaCommand": "spring-tls-server-1.1.0.jar --debug",
        "javaDistribution": "Java(TM) SE Runtime Environment",
        "javaHome": "/usr/lib/jvm/jdk-21-oracle-x64",
        "javaMajorVersion": "21",
        "javaVendor": "Oracle Corporation",
        "javaVersion": "21",
        "managedInstanceId": "ocid1.instance.oc1.eu-frankfurt-1.instance-id",
        "osArch": "amd64",
        "osName": "Linux",
        "osVersion": "5.15.0-306.177.4.el9uek.x86_64",
        "startTime": "2025-07-14T08:48:34.947541200Z",
        "typeOfStart": "VM start"
      },
      "datacontenttype": "application/json",
      "dataschema": "1.0",
      "id": "3d6a9915-af91-4527-a6d4-2a0d86106b15",
      "source": "ocid1.instance.oc1.eu-frankfurt-1.instance-id",
      "specversion": "1.0",
      "time": "2025-07-14T08:53:43.432Z",
      "type": "jms.jvm.usage.attach.log"
    }
  },
  "regionId": "eu-frankfurt-1"
}

Weitere Überlegungen

Nachdem eine Featureausführungsanforderung in JMS weitergeleitet wurde, erstellt der JMS-Service eine Arbeitsanforderung, die durch eine eindeutige Arbeitsanforderungs-OCID identifiziert wird. Im Folgenden finden Sie den typischen Prozess zum Verfolgen des Fortschritts von Arbeitsanforderungen in der OCI Cloud-Konsole.

  • Navigieren Sie zu Ihrer Flotte, indem Sie auf Beobachtbarkeit und Management, Java Management, Flotten klicken.
  • Wählen Sie Ihre Flotte aus.
  • Klicken Sie auf den Abschnitt Arbeitsanforderungen der Flotte.

So verfolgen Sie den Fortschritt der Arbeitsanforderung von der OCI-CLI:

  • Führen Sie den folgenden Befehl aus:
    oci jms work-request get --work-request-id $WORK_REQUEST_OCID
  • Wenn Sie sich nur für den aktuellen Status der Arbeitsanforderung interessieren, können Sie die obige Anweisung mit dem Utility jq ausführen:
    oci jms work-request get --work-request-id $WORK_REQUEST_OCID | jq .data.status

Die Möglichkeit, Funktionsarbeitsanforderungen weiterzuleiten und zu verfolgen, ist auch in der JMS-API verfügbar, auf die über das OCI-SDK zugegriffen werden kann.