Datenspeicherung und Logging in JMS-Flotten
- Bestandslogs: Diese benutzerdefinierten Logs speichern Java Runtime-Bestands- und -Nutzungsdaten, die das JMS-Plug-in von Hosts meldet. Lagerprotokolle sind erforderlich, damit Flotten effektiv funktionieren.
- Vorgangslogs: Diese benutzerdefinierten Logs erfassen Vorgänge, die über JMS-Flotten ausgeführt werden. Obwohl optional, ergänzen Vorgangsprotokolle die Bestandsprotokolle durch zusätzliche betriebliche Einblicke.
Wenn Flotten über die OCI-Konsole erstellt werden, werden Logobjekte von den JMS-Flotten im selben Compartment wie die Flotte erstellt. Wenn Sie Flotten mit der createFleet-API erstellen, müssen Sie als Parameter die OCIDs der Loggruppe und Objekte angeben, die mit der Flotte verknüpft werden sollen. Auf das mit der Flotte verknüpfte Logobjekt kann mit den Logkonfigurationsdetails zugegriffen werden, die in der Registerkarte Flotteneigenschaften vorhanden sind.
Sowohl Bestands- als auch Vorgangslogs sind unter einer Loggruppe organisiert, die erweiterte Analysen über Logging Analytics erleichtert. Standardmäßig haben diese Logobjekte einen Aufbewahrungszeitraum von einem Monat. Um Daten unbegrenzt beizubehalten, können Sie eine Connector Hub-Verbindung zwischen dem Logobjekt und einem Objektspeicher-Bucket herstellen.
Für Bestands- und Vorgangslogs fallen Speicherkosten an. Weitere Informationen finden Sie im Oracle Cloud Kostenrechner.
In Logs gespeicherte Rohdaten werden verarbeitet, und aggregierte Daten werden in die Autonomous Transaction Processing-(ATP-)Datenbank übertragen, die dem JMS-Service gehört. JMS bewahrt diese aggregierten Daten bis zu einem Jahr auf, sodass Benutzer historische Trends analysieren und umsetzbare Einblicke in ihre Java-Workloads erhalten können.
Bestandslogs
Bestandslogs enthalten Informationen zu den verschiedenen Ereignistypen, die von JMS-Flotten erfasst werden. Jede Nachricht hat das JSON-Format. Die Nachricht enthält den Typ und die Daten des Ereignisses, wann es empfangen wurde, die ID des Logs, die Management Agent-ID und andere Daten. Der Management Agent schreibt in einem Intervall, das Sie in den Agent-Einstellungen konfigurieren, direkt in die mit seiner JMS-Flotte verknüpften Bestandslogobjekte.
jms.jvm.usage.log
: Daten zum JVM-Aufruf beim Reporting zur Java-Laufzeitnutzung gefunden.jms.jvm.installation.log
: Daten über JVM beim Java Runtime Discovery Scan gefunden.jms.jvm.usage.attach.log
: Daten zum JVM-Aufruf, die von der Attach-API bei der Ausführung erweiterter Features gefunden wurdenjms.javaserver.metadata.log
: Daten aus einem Java-Server-Scan.-
jms.javaserver.libraries.log
: Daten aus einem Scan der Java-Server-Librarys. jms.java.libraries.log
: Daten aus einem Java-Library-Scan.jms.drs.scan.log
: Daten aus einem DRS-Scan.-
jms.agent.plugin.start.log
: Wird bei jedem Start des JMS-Plug-ins generiert.
jms.jvm.usage.log
: {
"datetime": 1654089796180,
"logContent": {
"data": {
"data": {
"additionalProperties": {
"java.runtime.name": "Java(TM) SE Runtime Environment"
},
"applicationName": "com.oracle.test.HelloWorld",
"classPath": "/home/opc/HelloWorld-1.0.jar",
The classPath is a list of paths, but due to logging limitations, JMS provides the same information as an array of path. There is a limit 10,000 characters for string values.
"fleetId": "ocid1.jmsfleet.oc1.iad.fleet-id",
"javaArgs": "John",
"javaCommand": "com.oracle.test.HelloWorld",
"javaDistribution": "Java(TM) SE Runtime Environment",
"javaHome": "/usr/java/jdk-11.0.14",
"javaMajorVersion": "11",
"javaVendor": "Oracle Corporation",
"javaVersion": "11.0.14",
"managedInstanceId": "ocid1.managementagent.oc1.iad.management-agent-id",
"osArch": "amd64",
"osName": "Linux",
"osVersion": "5.4.17-2136.302.7.2.1.el8uek.x86_64",
"startTime": "2022-05-27T05:02:01Z",
"typeOfStart": "VM start"
},
"datacontenttype": "application/json",
"dataschema": "1.0",
"id": "b36806ce-564e-46e5-99fc-d50fb386dd7a",
"source": "ocid1.managementagent.oc1.iad.management-agent-id",
"specversion": "1.0",
"time": "2022-06-01T13:23:16.180Z",
"type": "jms.jvm.usage.log"
},
"id": "b36806ce-564e-46e5-99fc-d50fb386dd7a",
"oracle": {
"compartmentid": "ocid1.compartment.oc1..compartment-id",
"ingestedtime": "2022-06-01T13:24:12.141Z",
"loggroupid": "ocid1.loggroup.oc1.iad.log-group-id",
"logid": "ocid1.log.oc1.iad.log-id",
"tenantid": "ocid1.tenancy.oc1..tenant-id"
},
"source": "ocid1.managementagent.oc1.iad.management-agent-id",
"specversion": "1.0",
"subject": "JMS",
"time": "2022-06-01T13:23:16.180Z",
"type": "jms.jvm.usage.log"
}
}
jms.jvm.installation.log
:{
"datetime": 1651838678794,
"logContent": {
"data": {
"data": {
"fleetId": "ocid1.jmsfleet.oc1.iad.fleet-id",
"javaDistribution": "Java(TM) SE Runtime Environment",
"javaHome": "/usr/java/jdk-17.0.2",
"javaMajorVersion": "17",
"javaVendor": "Oracle Corporation",
"javaVersion": "17.0.2",
"managedInstanceId": "ocid1.managementagent.oc1.iad.management-agent-id",
"osArch": "amd64",
"osName": "Linux",
"osVersion": "5.4.17-2136.304.4.1.el8uek.x86_64"
},
"datacontenttype": "application/json",
"dataschema": "1.0",
"id": "3b8f47a4-46de-476f-b786-1dc4d4ddd6ec",
"source": "ocid1.managementagent.oc1.iad.management-agent-id",
"specversion": "1.0",
"time": "2022-05-06T12:04:38.794Z",
"type": "jms.jvm.installation.log"
},
"id": "id",
"oracle": {
"compartmentid": "ocid1.compartment.oc1..compartment-id",
"ingestedtime": "2022-05-06T12:04:59.016Z",
"loggroupid": "ocid1.loggroup.oc1.iad.loggroup-id",
"logid": "ocid1.log.oc1.iad.log-id",
"tenantid": "ocid1.tenancy.oc1..tenancy-id"
},
"source": "ocid1.managementagent.oc1.iad.management-agent-id",
"specversion": "1.0",
"subject": "JMS",
"time": "2022-05-06T12:04:38.794Z",
"type": "jms.jvm.installation.log"
}
}
Vorgangslogs
Operation Logs speichert Ereignisse im Zusammenhang mit Vorgängen, die über JMS-Flotten ausgeführt werden. Jede Nachricht hat das JSON-Format. Die Nachricht enthält den Typ und die Daten des Ereignisses, wann es empfangen wurde, die ID des Logs, die Arbeitsanforderungs-ID und andere Daten. Wenn Vorgangslogs für eine Flotte aktiviert sind, schreibt der Management Agent in die zugehörigen Vorgangslogobjekte, während er in der Flotte initiierte Arbeitsanforderungen ausführt.
- Typ ist
jms.publiclogs
- specversion hat Version
1.0
- Codierung ist
application/json
- Quelle ist
jms
jms.publiclogs
zeigt die Daten zu den Lifecycle Management-Vorgängen an. Siehe die folgenden logContent.data.data
-Attribute:{
"datetime": 1652437153474,
"logContent": {
"data": {
"category": "EXECUTION",
"fleetId": "ocid1.fleet-name.oc1.iad.fleet-id",
"level": "INFO",
"managedInstanceId": "ocid1.managementagent.oc1.iad.management-agent-id",
"message": "Work Item 0f68ca34-1c7f-4fb2-8b6a-d0119c6a4934,
part of Work Request ocid1.jmsworkrequest.oc1.iad.work-request-id,
status is Retrying for delete Java Runtime 15.0.2 at
/usr/java/jdk-15.0.2 in test-environment-id with
OCID: ocid1.managementagent.oc1.iad.management-agent-id",
"timestamp": "2022-05-02T03:36:21.235Z",
"workRequestId": "ocid1.jmsworkrequest.oc1.iad.work-request-id"
},
"id": "017e880a-b33d-4f90-bdc7-5a0034b7da36",
"oracle": {
"compartmentid": "ocid1.compartment.oc1..compartment-id",
"ingestedtime": "2022-05-13T10:19:13.676Z",
"loggroupid": "ocid1.loggroup.oc1.iad.log-group-id",
"logid": "ocid1.log.oc1.iad.log-id",
"tenantid": "ocid1.tenancy.oc1..tenancy-id"
},
"source": "jms",
"specversion": "1.0",
"time": "2022-05-13T10:19:13.474Z",
"type": "jms.publiclogs"
}
}
Erweiterte Suchabfragen
Wählen Sie in der Option Mit Logsuche explorieren den Modus Zu erweitert wechseln aus. Sie können die Logs mit erweiterten Abfragen nach bestimmten Ereignissen durchsuchen. Folgende Suchabfragen werden empfohlen:
search "COMPARTMENT_OCID" | type='jms.jvm.usage.log' or type='jms.jvm.installation.log' | sort by datetime desc
search "COMPARTMENT_OCID/LOG_GROUP_OCID" | type='jms.jvm.usage.log' or type='jms.jvm.installation.log' | sort by datetime desc
search "COMPARTMENT_OCID/LOG_GROUP_OCID/LOG_OBJECT_ID" | type='jms.jvm.usage.log' or type='jms.jvm.installation.log' | sort by datetime desc
search "COMPARTMENT_OCID/LOG_GROUP_OCID/LOG_OBJECT_ID" | sort by datetime desc
In der folgenden Suchabfrage müssen Sie nicht nach Typ filtern, da nur Nachrichten zu JMS-Flotten in der mit der Flotte verknüpften logObject enthalten sind.
search "COMPARTMENT_OCID" | type='jms.jvm.usage.log' or type='jms.jvm.installation.log' and data.data.fleetId = 'FLEET_OCID' | sort by datetime desc
search "COMPARTMENT_OCID" | type='jms.jvm.usage.log' or type='jms.jvm.installation.log' and data.source = 'MANAGEMENT_INSTANCE_OCID' | sort by datetime desc