En savoir plus sur la configuration des fonctions avancées de Java Management Service

Java Management Service (JMS) est un service natif sur Oracle Cloud Infrastructure (OCI). JMS peut être utilisé pour gérer, surveiller et sécuriser les installations Java dans vos propres instances de calcul gérées (sur place ou sur OCI).

Vous pouvez utiliser JMS pour :

  • Visibilité : Découvrir et gérer Java à l'échelle de l'entreprise
  • Données clés : Analyser la configuration, la sécurité, la conformité et la performance de Java Virtual Machine (JVM)
  • Mise au point : sécurité, migration, optimisation et automatisation

Vous êtes-vous déjà demandé si votre niveau de sécurité actuel est aligné sur les recommandations de sécurité formulées par Oracle pour les environnements Java et s'il est à jour? JMS peut vous aider à trouver une réponse à cela, il peut signaler toute bibliothèque Java problématique utilisée par vos applications et vérifier si vos applications déjà en cours d'exécution n'ont pas de défauts dans la zone de sécurité. Vous avez du mal à gérer les performances de vos applications Java ou vous avez du mal à comprendre les journaux du récupérateur de mémoire Java? JMS vient à la rescousse avec l'analyse des performances. Ne savez-vous pas si vous pouvez facilement passer à une version plus récente de Java? Nous avons ce qu'il faut savoir sur l'analyse de la migration Java.

Avec JMS, les enregistrements Java Flight Recorder (JFR) n'ont jamais été aussi faciles, il vous suffit de sélectionner votre application dans JMS, de fournir quelques détails et de soumettre la demande d'enregistrement. Une fois la demande de travail d'enregistrement JFR terminée, vous pouvez facilement y accéder à partir du seau du parc JMS. Et ce n'est pas tout, JMS est également livré avec des fonctionnalités de gestion du cycle de vie Java, telles que l'installation des environnements d'exécution Java ou la fourniture de détails supplémentaires sur vos serveurs d'applications Java.

Ce guide de solution décrit les étapes de configuration des fonctionnalités avancées JMS pour résoudre les problèmes informatiques Java décrits ci-dessus.

Les fonctionnalités avancées de JMS peuvent être utilisées pour obtenir des informations sur différents aspects de Java dans votre environnement. Par exemple, à l'aide des fonctions avancées, vous pouvez :

  • Balayer les bibliothèques Java utilisées par vos applications pour identifier et signaler les vulnérabilités potentielles (CVE) associées aux bibliothèques Java de tierce partie.
  • Optimisez les performances des charges de travail Java avec les recommandations de réglage de la JVM en tirant parti de l'analyse des performances.
  • Évaluer la faisabilité et l'effort requis pour migrer des applications Java vers des versions plus récentes de JDK avec l'analyse de la migration Java.
  • Aidez à protéger vos applications en utilisant l'analyse des événements cryptographiques pour identifier les utilisations cryptographiques faibles qui cesseront de fonctionner avec les mises à jour à venir dans la feuille de route cryptographique Oracle JRE et JDK.
  • Déterminez quels services et applications s'exécutent sur chaque serveur d'applications Java en recherchant les serveurs Java.
  • Exécutez JDK Flight Recorder pour collecter à distance des informations sur les applications.
  • Téléchargez, installez et configurez l'exécution Java.
  • Supprimer les versions d'Oracle Java signalées.
  • Répartir ou supprimer le jeu de règles de déploiement.

Étapes préliminaires

L'accès à Java Management Service nécessite un compte Oracle Cloud (OCI). Vous pouvez utiliser votre propre compte en nuage ou obtenir un compte de niveau gratuit OCI.

Dans les exemples décrits dans ce manuel de solution, nous utilisons l'outil de ligne de commande OCI. Si vous souhaitez essayer ces exemples par vous-même, configurez et configurez l'interface de ligne de commande OCI conformément au guide suivant Interface de ligne de commande. L'exécution de l'exemple nécessite également la présence de l'utilitaire de ligne de commande jq sur l'ordinateur sur lequel vous exécuterez les commandes d'outil oci. Vous pouvez obtenir cet utilitaire pour presque toutes les plateformes à partir de la page de projet GitHub : https://github.com/jqlang/jq.

Assurez-vous qu'une machine Oracle Linux est configurée correctement pour permettre la communication avec les services OCI. La machine peut être :

  • Instance de calcul OCI disponible dans votre location. Si vous n'avez pas d'instance déjà configurée, voir Créer une instance de calcul OCI.
  • Hôte non OCI, qui est sur place (dans votre propre centre de données, nuage de tierce partie, etc.) et qui doit être surveillé au moyen du service JMS.
Configurer JMS
  1. Configurez JMS comme décrit dans la solution suivante : Configurez Java Management Service pour surveiller l'utilisation de Java sur un hôte Oracle Linux.
  2. Ajoutez les politiques requises pour les fonctions avancées, comme décrit ici : Énoncés de politique de parc JMS.
    1. Connectez-vous à la console OCI en tant qu'administrateur.
    2. Ouvrez le menu de navigation et naviguez jusqu'au document de politiques JMS en cliquant sur Identité et sécurité, Politiques.
    3. Recherchez le document de politique associé à JMS, par exemple JMS_Policy_Fleet_Compartment et cliquez dessus.
    4. Cliquez sur Énoncé, puis sur Modifier les énoncés de politique.
    5. Ajoutez les trois énoncés de politique suivants :
      
      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. Cliquez sur Enregistrer les modifications.
  3. Activer les fonctions avancées JMS :
    1. Connectez-vous à la console OCI en tant qu'administrateur.
    2. Ouvrez le menu de navigation, cliquez sur Observabilité et gestion, puis cliquez sur Fleets sous Gestion Java.
    3. Sélectionnez votre parc.
    4. Dans la section Propriétés du parc, vérifiez si toutes les fonctions avancées JMS sont activées.
    5. Dans le cas contraire, cliquez sur Actions et sélectionnez Modifier les propriétés.
    6. Dans la section Fonctions avancées, cliquez sur le bouton Activer pour toutes les fonctions avancées répertoriées.
    7. Vérifiez et confirmez les exigences relatives aux fonctions avancées JMS et cliquez sur le bouton Activer.
    8. Une fois toutes les fonctions avancées activées, cliquez sur Enregistrer les modifications.

    Note :

    Si vous ne trouvez pas votre document de politique JMS ou votre parc JMS, essayez de changer de compartiment. Dans ce livre de jeu de solution, nous utilisons un compartiment nommé Compartiment du parc.

    Vous pouvez également activer toutes les fonctions avancées lors de la création du parc, comme décrit à la première étape de la section Configurer JMS.

Architecture

Ce livre de jeu présente un aperçu de l'intégration des fonctions avancées de Java Management Service, notamment pour obtenir des informations sur vos installations Java et prendre les mesures correctives nécessaires. Cette solution s'applique à l'activation de la fonctionnalité avancée dans JMS pour les installations Oracle dans OCI, sur place et dans le nuage tiers.

L'agent JMS est installé sur les instances gérées pour collecter les métadonnées de télémétrie d'utilisation Java et d'utilisation Java. Les données de télémétrie sont émises et stockées dans votre location à des fins de protection de la confidentialité.

Le diagramme suivant illustre la topologie du service JMS en production. Le diagramme présente les agents déployés pour suivre Java s'exécutant sur OCI, vos ordinateurs de bureau sur place, vos ordinateurs portables et serveurs et vos services en nuage tiers. Ces agents sont déployés dans vos instances gérées et sont associés aux ressources (flottes) que vous avez créées dans vos locations.

Les métadonnées d'utilisation Java sont exfiltrées à partir de votre location par l'agent installé dans vos locations. JMS utilise ces métadonnées pour générer des informations telles que la version Java, la référence de sécurité et les mises à jour Java à venir, ainsi que l'utilisation des applications, qui sont présentées lors de la connexion à la console OCI. Il n'y a pas d'accès Oracle au-delà du traitement des métadonnées exfiltrées.

À l'aide des fonctionnalités avancées disponibles dans JMS, vous pouvez analyser l'utilisation des serveurs d'applications Java, identifier les vulnérabilités potentielles dans les bibliothèques Java utilisées par les applications s'exécutant dans votre environnement, utiliser l'enregistreur de vol Java pour l'analyse de la performance et de la cryptographie et gérer les environnements d'exécution Oracle Java (versions JDK) dans votre environnement. Vous pouvez utiliser la fonction avancée pour gérer Java exécuté dans votre environnement.

Le diagramme suivant illustre cette architecture.



jms-oci-topology-oracle.zip

De manière générale, la section suivante décrit les flux de données entre l'agent JMS installé sur votre instance gérée et le service JMS sur OCI :

  • Vous installez l'agent sur l'instance gérée et l'agent s'enregistre auprès d'OCI.
  • Vous configurez ou activez le plugiciel JMS (transmission du parc JMS en tant que paramètre). L'agent JMS est maintenant associé au parc JMS souhaité.
  • L'agent JMS enregistré interroge JMS pour travailler. JMS répondra au sondage avec les demandes de travail appropriées, le cas échéant.
  • L'agent JMS balaie périodiquement l'instance gérée à la recherche d'installations ou d'entrées Java dans le traceur d'utilisation et envoie les mesures Java et les métadonnées Java à OCI.

Pour plus d'informations sur le flux de données entre l'agent JMS et le service OCI et les flux de trafic entre l'agent JMS installé sur vos machines hôtes (sur place) et JMS s'exécutant dans OCI, voir Surveiller et gérer vos installations d'applications Java et Java.

Cette architecture comprend les composants suivants :

  • Région

    Une région OCI est une zone géographique localisée qui contient un ou plusieurs centres de données, des domaines de disponibilité d'hébergement. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (à travers les pays ou même les continents).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Ainsi, une défaillance d'un domaine de disponibilité ne doit pas avoir d'incidence sur les autres domaines de disponibilité de la région.

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lors de votre inscription à OCI. Vous pouvez créer, organiser et administrer vos ressources sur OCI dans votre location. Une location est synonyme d'une société ou d'une organisation. Habituellement, une société aura une seule location et reflétera sa structure organisationnelle au sein de cette location. Une seule location est généralement associée à un seul abonnement, et un seul abonnement ne comporte généralement qu'une seule location.

  • Compartiment

    Les compartiments sont des partitions logiques interrégionales dans une location OCI. Utilisez des compartiments pour organiser, contrôler l'accès et définir des quotas d'utilisation pour vos ressources Oracle Cloud. Dans un compartiment donné, vous définissez des politiques qui contrôlent l'accès et définissent des privilèges pour les ressources.

  • Réseau en nuage virtuel (VCN) et sous-réseaux

    Un réseau en nuage virtuel (VCN) est un réseau défini par logiciel personnalisable, configuré dans une région OCI. Comme les réseaux de centre de données traditionnels, les réseaux en nuage virtuels vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs de routage inter-domaine (CIDR) sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Groupe d'instances

    Un groupe d'instances comprend des instances dans une région créées à partir d'une même configuration d'instance et gérées ensemble.

  • Réseau sur place

    Il s'agit d'un réseau local utilisé par votre organisation.

  • Service de passerelle d'API pour OCI

    Le service Passerelle d'API pour Oracle Cloud Infrastructure API Gateway vous permet de publier des API avec des points d'extrémité privés accessibles à partir de votre réseau et que vous pouvez exposer au réseau Internet public si nécessaire. Les points d'extrémité prennent en charge la validation, la transformation des demandes et des réponses, la CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes pour les API.

  • Passerelle de routage dynamique (DRG)

    La passerelle DRG est un routeur virtuel qui fournit un chemin pour le trafic réseau privé entre des réseaux en nuage virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région OCI, un réseau sur place ou un réseau dans un autre fournisseur de nuage.

  • Passerelle de service

    Une passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels que Oracle Cloud Infrastructure Object Storage. Le trafic entre le réseau VCN et le service Oracle circule sur la structure réseau Oracle et ne passe pas par Internet.

  • Oracle Autonomous Database

    Oracle Autonomous Database est un environnement de base de données préconfiguré entièrement géré que vous pouvez utiliser pour le traitement des transactions et les charges de travail d'entreposage de données. Il n'est pas nécessaire de configurer ou de gérer du matériel ni d'installer des logiciels. OCI gère la création, la sauvegarde, l'application de correctifs, la mise à niveau et le réglage de la base de données.

  • Hôte bastion

    L'hôte bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé vers la topologie à partir de l'extérieur du nuage. L'hôte bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il vous permet de protéger les ressources sensibles en les plaçant dans des réseaux privés qui ne sont pas accessibles directement depuis l'extérieur du nuage. La topologie comporte un seul point d'entrée connu que vous pouvez surveiller et auditer régulièrement. Ainsi, vous pouvez éviter d'exposer les composants les plus sensibles de la topologie sans compromettre l'accès à ceux-ci.

  • Oracle Cloud Agent

    Oracle Cloud Agent est un processus léger qui gère le cycle de vie des plugiciels exécutés sur les instances de calcul sur OCI. Les plugiciels JMS collectent les métadonnées Java de votre environnement déployé sur l'instance gérée dans OCI. Le plugiciel JMS exfiltre ces métadonnées Java dans le service JMS dans OCI.

  • Service de calcul pour OCI

    Avec le service de calcul pour Oracle Cloud Infrastructure, vous pouvez provisionner et gérer des hôtes de calcul dans le nuage. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources pour l'unité centrale, la mémoire, la bande passante de réseau et le stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et y mettre fin lorsque vous n'en avez plus besoin.

  • DNS OCI

    Le service de système de noms de domaine (DNS) d'Oracle Cloud Infrastructure est un réseau mondial hautement évolutif de système de noms de domaine d'unidiffusion aléatoire (DNS) qui offre une performance, une résilience et une extensibilité améliorées au service de DNS, afin que les utilisateurs finaux se connectent rapidement aux applications Internet, de n'importe où.

  • Flux Kafka

    Kafka Streams est une bibliothèque client pour la création d'applications et de microservices, où les données d'entrée et de sortie sont stockées dans des grappes Kafka. Il combine la simplicité d'écriture et de déploiement d'applications Java et Scala standard côté client avec les avantages de la technologie de grappe côté serveur de Kafka.

  • Service de journalisation pour OCI
    Oracle Cloud Infrastructure Logging est un service hautement évolutif entièrement géré qui permet d'accéder aux types de journaux suivants à partir de vos ressources en nuage :
    • Journaux de vérification : Journaux liés aux événements produits par le service de vérification pour OCI.
    • Journaux de service : Journaux publiés par des services individuels tels que le service Passerelle d'API OCI, les événements OCI, le service Fonctions OCI, l'équilibrage de charge OCI, le service Stockage d'objets OCI et les journaux de flux de réseau VCN.
    • Journaux personnalisés : Journaux contenant des informations de diagnostic provenant d'applications personnalisées, d'autres fournisseurs de services infonuagiques ou d'un environnement sur place.
  • Oracle Management Agent

    Oracle Management Agent est un service qui permet une communication interactive et une collecte de données à faible latence entre Oracle Cloud Infrastructure et les instances gérées sur place. Les agents de gestion collectent des données à partir des sources que vous souhaitez surveiller. Le service Agent de gestion, un service Oracle Cloud Service, gère le cycle de vie de l'agent de gestion et des plugiciels des services.

  • Surveillance OCI

    Oracle Cloud Infrastructure Monitoring surveille vos ressources en nuage, de manière active et passive, et utilise des alarmes pour vous aviser lorsque les mesures répondent aux déclencheurs spécifiés.

  • Service de stockage d'objets pour OCI

    Le service de stockage d'objets pour OCI donne accès à de grandes quantités de données structurées et non structurées de tous types, notamment des sauvegardes de base de données, des données analytiques et du contenu enrichi, comme des images et des vidéos. Vous pouvez stocker des données en toute sécurité directement à partir d'applications ou de la plate-forme en nuage. Vous pouvez adapter le stockage sans que la performance ou la fiabilité des services soit affectée.

    Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous conservez pendant de longues périodes et auquel vous accédez rarement.

  • Politique

    Une politique Oracle Cloud Infrastructure Identity and Access Management spécifie qui peut accéder à quelles ressources et comment. L'accès est accordé au niveau du groupe et du compartiment, ce qui permet d'écrire une politique qui donne à un groupe un type d'accès spécifique dans un compartiment spécifique ou à la location.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic autorisé à entrer et à sortir du sous-réseau.

  • Zone de sécurité

    Les zones de sécurité mettent en oeuvre les meilleures pratiques de sécurité d'Oracle en appliquant des politiques pour un compartiment entier, par exemple en chiffrant les données et en empêchant l'accès public aux réseaux. Une zone de sécurité est associée à un compartiment du même nom et comprend des politiques de zone de sécurité (recette) qui s'appliquent au compartiment et à ses sous-compartiments. Vous ne pouvez pas ajouter ou déplacer un compartiment standard vers un compartiment de zone de sécurité.

  • Chambre forte OCI

    Oracle Cloud Infrastructure Vault vous permet de créer et de gérer de manière centralisée les clés de chiffrement qui protègent vos données et les données d'identification de clé secrète que vous utilisez pour sécuriser l'accès à vos ressources dans le nuage. La gestion des clés par défaut est les clés gérées par Oracle. Vous pouvez également utiliser des clés gérées par le client qui utilisent le service Chambre forte OCI. Le service de chambre forte pour OCI offre un jeu étoffé d'API REST pour gérer les chambres fortes et les clés.

  • Flux de travail OCI

    Oracle Cloud Infrastructure Workflow est un moteur de flux sans serveur doté d'un concepteur de flux graphique destiné aux développeurs et aux architectes. Il accélère la création, l'exécution et l'orchestration de services OCI tels que le service des fonctions pour OCI ou l'intelligence artificielle/apprentissage automatique.

Points à considérer

Vous devez tenir compte des points suivants lors de l'activation des fonctions avancées.

  • Des politiques supplémentaires sont requises pour utiliser les fonctionnalités avancées de JMS
  • L'analyse des événements cryptographiques, l'analyse des performances et JDK Flight Recorder peuvent augmenter l'utilisation globale de la mémoire de la JVM de l'application.
  • Pour l'analyse des événements Crypto, l'analyse de performance et JDK Flight Recorder, les versions d'exécution Java de l'application doivent être de la version 8u361 ou supérieure.
  • La limite supérieure de l'analyse des événements cryptographiques et de l'analyse des performances pour chaque enregistrement JFR est réglée à 4096 Mo.
  • Des coûts supplémentaires peuvent être facturés à l'aide des services de stockage d'objets OCI et de journalisation OCI pour le stockage des données produites par les fonctions avancées JMS.
  • Gestion du cycle de vie Java
    • La fonction Jeu de règles de déploiement ne s'applique qu'aux environnements d'exécution Java 8. Les frais généraux supplémentaires sont la répartition du fichier JAR de politique sur les instances gérées du parc.
    • L'installation de Java peut modifier la configuration du système Java sur une instance gérée. Suivez les instructions d'installation pour la version d'exécution Java et les plates-formes d'instance gérée sélectionnées.
    • La suppression de l'environnement d'exécution Java peut modifier la configuration du système Java sur l'instance gérée. Par exemple, si l'exécution Java sélectionnée est la seule exécution configurée par le système sur une instance gérée.
  • Suivi avancé de l'utilisation
    • Pour la détection des serveurs d'applications Java en cours d'exécution, leur environnement d'exécution Java doit avoir au moins la version 8u361 ou une version supérieure.
    • La détection de bibliothèque peut augmenter considérablement la consommation de ressources sur l'instance gérée lors de l'inspection de l'application et de ses bibliothèques, en particulier l'utilisation d'UC et d'E/S.
    • En fonction du nombre de serveurs d'applications et de bibliothèques détectés sur l'instance gérée, les données utiles envoyées à JMS peuvent être supérieures à la normale. Dans des circonstances normales, il devrait être dans une plage de quelques centaines de kilo-octets.
  • Analyse des événements crypto
    • Selon la quantité d'applications utilisant les sous-systèmes liés à la sécurité de la JVM pendant l'enregistrement, la taille finale du fichier d'enregistrement JFR peut varier, dans des circonstances normales, la taille habituelle de l'enregistrement est comprise entre quelques centaines de kilo-octets et quelques mégaoctets.
    • Si l'application est inactive, certains mécanismes de détection peuvent ne pas signaler de problèmes potentiels.
    • L'utilisation du réseau peut être augmentée en fonction du nombre d'instances gérées, du nombre d'applications et de la taille de chaque enregistrement. Le réseau est utilisé lors du chargement des enregistrements JFR dans OCI à des fins d'analyse.
  • Analyse de performance
    • La taille finale de chaque fichier d'enregistrement JFR dépend du comportement de l'application. Plusieurs événements JFR liés aux performances sont capturés, tels que des détails sur les collectes de mémoire, la mémoire, etc. Dans des circonstances normales, la taille d'enregistrement habituelle est de quelques mégaoctets.
    • Si l'application est inactive, certains mécanismes de détection peuvent ne pas signaler d'éventuels problèmes de performance.
    • L'utilisation du réseau peut être augmentée en fonction du nombre d'instances gérées et de la taille de chaque enregistrement. Le réseau est utilisé lors du chargement des enregistrements JFR dans OCI à des fins d'analyse.
  • JDK Flight Recorder (JFR)
    • La taille finale du fichier d'enregistrement JFR dépend du profil sélectionné ou de la configuration JFC personnalisée fournie. Un autre facteur influençant la taille est la durée d'enregistrement sélectionnée pour l'application.
  • Analyse de migration Java
    • L'utilisation des ressources peut augmenter au cours de l'analyse de l'application.
    • Le résultat de l'analyse est généralement de l'ordre de quelques centaines de kilo-octets en fonction de la taille des applications elles-mêmes et de leurs dépendances.

Certaines fonctions avancées telles que l'analyse cryptographique et l'analyse de performance reposent sur l'API JVM Attach. Lors de l'exécution des demandes de travail, le plugiciel JMS peut envoyer de nouveaux événements à l'objet de journal d'inventaire du parc. L'exemple de données utiles suivant illustre ce qui sera livré dans le journal des stocks du parc dans de telles situations :

{
  "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"
}

Autres considérations

Une fois qu'une demande d'exécution de fonction est soumise dans JMS, le service JMS crée une demande de travail identifiée par un OCID de demande de travail unique. Voici le processus type pour suivre la progression des demandes de travail à partir de la console OCI Cloud.

  • Naviguez jusqu'à votre parc en cliquant sur Observabilité et gestion, Gestion Java, Flaces.
  • Sélectionnez votre parc.
  • Cliquez sur la section Demandes de travail du parc.

Comment suivre la progression d'une demande de travail à partir de l'interface de ligne de commande OCI :

  • Exécutez la commande suivante :
    oci jms work-request get --work-request-id $WORK_REQUEST_OCID
  • Si vous n'êtes intéressé que par l'état courant de la demande de travail, vous pouvez exécuter l'énoncé ci-dessus à l'aide de l'utilitaire jq :
    oci jms work-request get --work-request-id $WORK_REQUEST_OCID | jq .data.status

La possibilité de soumettre et de suivre des demandes de travail de fonction est également disponible dans l'API JMS, accessible au moyen de la trousse SDK OCI.