Stockage de données et journalisation dans les parcs JMS
- Journaux d'inventaire : Ces journaux personnalisés stockent l'inventaire Java Runtime et les informations relatives à l'utilisation signalées à partir des hôtes par le plugiciel JMS. Les journaux d'inventaire sont obligatoires pour que les parcs fonctionnent efficacement.
- Journaux d'opérations : Ces journaux personnalisés capturent des opérations effectuées au moyen de parcs JMS. Bien que facultatifs, les journaux d'opérations complètent les journaux d'inventaire en fournissant des informations opérationnelles supplémentaires.
Si des parcs sont créés au moyen de la console OCI, les objets de journal sont créés par les parcs JMS dans le même compartiment que le parc. Si vous créez des parcs à l'aide de l'API createFleet, vous devez fournir comme paramètres les OCID du groupe de journaux et les objets à associer au parc. L'objet de journal associé au parc est accessible à l'aide des détails de configuration des journaux présents dans l'onglet Propriétés du parc.
Les journaux d'inventaire et d'opération sont organisés sous un groupe de journaux, ce qui facilite les analyses avancées au moyen de Logging Analytics. Par défaut, ces objets de journal ont une période de conservation d'un mois. Pour conserver les données indéfiniment, vous pouvez établir une connexion au centre de connecteurs entre l'objet de journal et un seau de stockage d'objets.
Les journaux d'inventaire et d'opérations entraîneront des coûts de stockage. Pour plus de détails, consultez l'évaluateur de coût des produits Oracle Cloud.
Les données brutes stockées dans les journaux sont traitées et les données agrégées sont transférées vers la base de données Autonomous Transaction Processing (ATP) détenue par le service JMS. JMS conserve ces données agrégées jusqu'à un an, ce qui permet aux utilisateurs d'analyser les tendances historiques et d'obtenir des informations exploitables sur leurs charges de travail Java.
Journaux des stocks
Les journaux d'inventaire contiennent des informations sur les différents types d'événement capturés par les parcs JMS. Chaque message est au format JSON. Le message contient le type et les données de l'événement, la date de réception, l'ID du journal, l'ID agent de gestion et d'autres données. L'agent de gestion écrit directement dans les objets de journal d'inventaire associés à son parc JMS dans un intervalle que vous configurez dans les paramètres de l'agent.
jms.jvm.usage.log
: Données sur l'appel de la JVM détectées lors de la production de rapports d'utilisation de l'exécution Java.jms.jvm.installation.log
: Données sur la JVM détectées lors du balayage de détection d'exécution Java.jms.jvm.usage.attach.log
: Données sur l'appel de JVM détectées par l'API Attacher lors de l'exécution de fonctions avancéesjms.javaserver.metadata.log
: Données d'un balayage de serveur Java.-
jms.javaserver.libraries.log
: Données d'un balayage de bibliothèques de serveurs Java. jms.java.libraries.log
: Données d'un balayage de bibliothèques Java.jms.drs.scan.log
: Données d'un balayage DRS.-
jms.agent.plugin.start.log
: Généré à chaque démarrage du plugiciel JMS.
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"
}
}
Journaux d'opérations
Les journaux des opérations stockent les événements liés aux opérations effectuées au moyen des parcs JMS. Chaque message est au format JSON. Le message contient le type et les données de l'événement, le moment où il a été reçu, l'ID du journal, l'ID demande de travail et d'autres données. Si les journaux d'opérations sont activés pour un parc, l'agent de gestion écrira aux objets de journal d'opérations associés lors de l'exécution des demandes de travail lancées dans le parc.
- est de type
jms.publiclogs
- La version de spécification contient la version
1.0
- l'encodage est
application/json
- la source est
jms
jms.publiclogs
affiche les données sur les opérations de gestion du cycle de vie. Voir les attributs logContent.data.data
suivants :{
"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"
}
}
Interrogations de recherche avancée
Dans l'option Explorer avec la recherche dans les journaux, sélectionnez le mode Passer à Avancé. Vous pouvez rechercher des événements spécifiques dans les journaux à l'aide d'interrogations avancées. Voici des suggestions d'interrogations de recherche.
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
Dans l'interrogation de recherche suivante, vous n'avez pas besoin de filtrer par type, car seuls les messages liés au parc JMS se trouvent dans logObject associé au parc.
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