Stockage et journalisation des données dans les parcs JMS
- Journaux d'inventaire : ces journaux personnalisés stockent l'inventaire d'exécution Java et les informations relatives à l'utilisation signalées par le module d'extension JMS à partir des hôtes. Les journaux d'inventaire sont obligatoires pour que les parcs fonctionnent efficacement.
- Journaux d'opération : ces journaux personnalisés capturent les opérations effectuées via des parcs JMS. Bien qu'ils soient 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 via 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 en tant que paramètres les OCID du groupe de journaux et des objets à associer au parc. L'objet de journal associé au parc est accessible à l'aide des détails de configuration de journal présents dans l'onglet Propriétés de parc.
Les journaux d'inventaire et d'opération sont organisés sous un groupe de journaux, ce qui facilite les analyses avancées via 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 Connector Hub entre l'objet de journal et un bucket de stockage d'objet.
Les journaux d'inventaire et d'exploitation entraînent des coûts de stockage. Pour plus de détails, reportez-vous à l'estimateur de coût 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) appartenant au 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, à sa réception, l'ID du journal, l'ID de l'agent de gestion et d'autres données. L'agent OMA é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 relatives à l'appel JVM trouvées lors du reporting d'utilisation de l'exécution Java.jms.jvm.installation.log
: données relatives à la JVM trouvées lors de l'analyse du repérage d'exécution Java.jms.jvm.usage.attach.log
: données relatives à l'appel JVM trouvées par l'API d'attachement lors de l'exécution des fonctionnalités avancéesjms.javaserver.metadata.log
: données d'une analyse de serveur Java.-
jms.javaserver.libraries.log
: analyse des données d'une bibliothèque de serveur Java. jms.java.libraries.log
: analyse des données d'une bibliothèque Java.jms.drs.scan.log
: données d'une analyse du jeu de règles de déploiement.-
jms.agent.plugin.start.log
: généré à chaque démarrage du module d'extension 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 des opérations
Les journaux d'opérations stockent les événements liés aux opérations effectuées via des parcs JMS. Chaque message est au format JSON. Le message contient le type et les données de l'événement, sa date de réception, l'ID du journal, l'ID de la demande de travail et d'autres données. Si les journaux d'opération sont activés pour un parc, l'agent de gestion écrit dans les objets de journal d'opération associés lors de l'exécution des demandes de travail lancées dans le parc.
- type :
jms.publiclogs
- spécversion a la version
1.0
- le codage est
application/json
- la source est
jms
jms.publiclogs
affiche les données relatives aux opérations de gestion du cycle de vie. Reportez-vous aux 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"
}
}
Requêtes de recherche avancée
Dans l'option Explorer avec la recherche de journal, sélectionnez le mode Explorer avec le mode Avancé. Vous pouvez rechercher des événements spécifiques dans les journaux à l'aide de requêtes avancées. Voici des suggestions de requêtes 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 la requête de recherche suivante, vous n'avez pas besoin de filtrer sur le type, car seuls les messages liés aux parcs JMS figurent dans l'élément 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