Configurer la collecte de journaux d'API REST

Oracle Logging Analytics vous permet de configurer une collecte continue de journaux basée sur des API REST à partir d'URL de point d'extrémité qui répondent avec des messages de journal. La source de journaux de l'API REST doit être configurée avec une API qui répond avec les messages de journal générés dans la période spécifiée dans la demande.

Il s'agit d'une méthode recommandée pour automatiser la collecte continue des journaux à partir d'environnements, de plates-formes ou d'applications telles que les services OCI, les applications Fusion, les applications ERP ou toute autre application émettant des journaux au moyen d'une API. Il existe des macros disponibles qui peuvent être utilisées dans la définition de la source pour spécifier une heure de journal à partir de laquelle démarrer la collecte des journaux, fournir un décalage pour itérer et collecter des données sur les résultats de page d'un point d'extrémité de journal et collecter des journaux sur une fenêtre de collecte ou une période.

Flux global pour la collecte des journaux à l'aide d'une source basée sur une API REST

Voici les tâches de haut niveau pour la collecte des informations de journal au moyen de la source basée sur l'API REST :

Pour un flux de bout en bout d'ingestion des journaux de vérification des applications Fusion, voir Ingérer les journaux de vérification des applications Fusion.

Créer une source d'API REST

Oracle Logging Analytics fournit déjà une source de journaux définie par Oracle pour la collecte de journaux d'API REST. Vérifiez si vous pouvez utiliser la source d'API REST définie par Oracle disponible ou tout analyseur défini par Oracle. Sinon, utilisez les étapes suivantes pour créer une nouvelle source de journaux :

Avant de commencer, si vous devez créer un nouvel analyseur adapté à vos journaux, remplissez-le. Voir Créer un analyseur.

  1. Ouvrez le menu de navigation et cliquez sur Observabilité et gestion. Sous Logging Analytics, cliquez sur Administration. La page Aperçu de l'administration s'ouvre.

    Les ressources d'administration sont répertoriées dans le volet de navigation de gauche sous Ressources. Cliquez sur Sources.

  2. La page Sources s'ouvre. Cliquez sur Créer une source.

    La boîte de dialogue Créer une source s'affiche.

  3. Dans le champ Nom, entrez le nom de la source de journaux.

  4. Dans la liste Type de source, sélectionnez API REST.

  5. Cliquez sur Type d'entité et sélectionnez le type qui identifie le mieux votre application.

  6. Cliquez sur Analyseur et sélectionnez un analyseur approprié pour le type de journaux que vous voulez collecter.

  7. Dans l'onglet Points d'extrémité, cliquez sur Ajouter un point d'extrémité de journal ou sur Ajouter un point d'extrémité de liste pour plusieurs journaux selon vos besoins :

    • Pour fournir une URL de point d'extrémité de journal unique à l'aide de laquelle les journaux peuvent être collectés en continu, cliquez sur Ajouter un point d'extrémité de journal. La boîte de dialogue Ajouter un point d'extrémité de journal s'ouvre.

      Entrez les informations suivantes :

      1. Entrez le nom du point d'extrémité du journal.

      2. Créez l'URL du journal pour collecter les journaux périodiquement. Voir URL du point d'extrémité de journal dans Types d'URL de point d'extrémité.

      3. Sélectionnez la méthode d'API GET ou POST.

        Si vous avez sélectionné POST, entrez les données utiles POST pour la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

      4. Facultativement, spécifiez l'URL du serveur mandataire de journaux.

      5. Facultativement, cliquez sur Afficher les en-têtes de demande pour développer la section, puis cliquez sur Ajouter pour fournir tous les en-têtes de demande sous la forme de paires Nom-Valeur.

      6. Facultativement, cliquez sur Afficher les paramètres d'interrogation pour développer la section, puis cliquez sur Ajouter pour fournir tous les paramètres d'interrogation sous la forme de paires Nom-Valeur.

      7. Dans la section Données d'identification, sélectionnez le type de données d'identification du journal. Voir Sélectionner le type de données d'identification pour la collecte des journaux de l'API REST.

      8. Pour valider les informations de configuration que vous avez entrées, cliquez sur Valider. S'il y a des erreurs, corrigez-les.

        Cliquez sur Enregistrer les modifications.

    • Pour fournir une URL qui retourne une réponse JSON avec les informations qui peuvent être utilisées pour générer une liste d'URL de point d'extrémité de journal pour collecter plusieurs journaux, cliquez sur Ajouter un point d'extrémité de liste pour plusieurs journaux. La boîte de dialogue Ajouter un point d'extrémité de liste pour plusieurs journaux s'ouvre.

      1. Onglet Configurer un point d'extrémité de liste :

        • Entrez le nom du point d'extrémité de liste de journaux.

        • Créez l'URL de la liste de journaux pour obtenir les informations sur les fichiers journaux. Voir URL du point d'extrémité de la liste de journaux dans Types d'URL de point d'extrémité. Par exemple :

          https://example.org/fetchlogfiles_data
        • Facultativement, spécifiez l'URL du serveur mandataire de journaux.

        • Sélectionnez la méthode d'API GET ou POST.

          Si vous avez sélectionné POST, entrez les données utiles POST pour la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

        • Facultativement, cliquez sur Afficher les en-têtes de demande pour développer la section, puis cliquez sur Ajouter pour fournir tous les en-têtes de demande sous la forme de paires Nom-Valeur.

        • Facultativement, cliquez sur Afficher les paramètres d'interrogation pour développer la section, puis cliquez sur Ajouter pour fournir tous les paramètres d'interrogation sous la forme de paires Nom-Valeur.

        • Dans la section Données d'identification, sélectionnez le type de données d'identification du journal. Voir Sélectionner le type de données d'identification pour la collecte des journaux de l'API REST.

        • Cliquez sur Suivant.

      2. Onglet Configurer un point d'extrémité de journal :

        • Fournissez l'exemple de réponse du point d'extrémité de liste de journaux. Il s'agit de l'exemple de réponse que vous obtiendriez pour le point d'extrémité de liste de journaux que vous avez fourni dans l'onglet précédent. Par exemple :

          { "totalSize": 4, "records": [ {"id": "firstId", "type": "firstType"}, {"id": "secondId", "type": "secondType"} ] }

          Dans l'exemple ci-dessus, le chemin JSON records[*].id peut être utilisé dans l'URL du point d'extrémité. Pour plus de détails sur les variables de chemin JSON, voir Variables pour la collecte de journaux d'API REST.

        • Entrez le nom du point d'extrémité du journal.

        • Créez l'URL du journal pour collecter les journaux périodiquement en incorporant les clés de chemin JSON identifiées dans l'exemple de réponse au point d'extrémité de la liste de journaux. Voir URL du point d'extrémité de journal dans Types d'URL de point d'extrémité. Par exemple :

          https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
        • Facultativement, spécifiez l'URL du serveur mandataire de journaux.

        • Sélectionnez la méthode d'API GET ou POST.

          Si vous avez sélectionné POST, entrez les données utiles POST pour la méthode et sélectionnez le type de contenu de la demande dans JSON, Text, Javascript, HTML et XML.

        • Facultativement, spécifiez l'URL du serveur mandataire de journaux.

        • Facultativement, cliquez sur Afficher les en-têtes de demande pour développer la section, puis cliquez sur Ajouter pour fournir tous les en-têtes de demande sous la forme de paires Nom-Valeur.

        • Facultativement, cliquez sur Afficher les paramètres d'interrogation pour développer la section, puis cliquez sur Ajouter pour fournir tous les paramètres d'interrogation sous la forme de paires Nom-Valeur.

        • Dans la section Données d'identification, sélectionnez le type de données d'identification du journal. Voir Sélectionner le type de données d'identification pour la collecte des journaux de l'API REST.

        • Cliquez sur Suivant.

      3. Onglet Vérifier et ajouter : Les informations de configuration fournies dans les onglets précédents sont validées. Vérifiez la liste des URL à partir desquelles les journaux seront collectés.

        S'il y a des erreurs, corrigez-les.

        Cliquez sur Enregistrer.

  8. Cliquez sur Créer une source.

Types d'URL de point d'extrémité

URL du point d'extrémité de la liste de journaux : L'URL du point d'extrémité de la liste de journaux doit retourner une réponse JSON avec les informations qui peuvent être utilisées pour créer une liste d'URL de point d'extrémité de journal afin de collecter les journaux. Spécifiez les variables de chemin JSON requises pour créer la liste des points d'extrémité de journal à partir de la réponse JSON. En outre, vous pouvez utiliser les macros {START_TIME} et {CURR_TIME} pour insérer dynamiquement les valeurs de temps correspondantes dans l'URL.

URL du point d'extrémité de journal : L'URL du point d'extrémité de journal est utilisée pour collecter des journaux à partir d'un point d'extrémité d'API REST spécifique à intervalles réguliers. Vous pouvez utiliser les macros {START_TIME}, {CURR_TIME} et {TIME_WINDOW} pour insérer dynamiquement les valeurs de temps correspondantes dans l'URL. La macro {OFFSET} peut être utilisée pour prendre en charge la pagination. Vous pouvez également utiliser des variables de chemin JSON à partir de la réponse de l'appel de point d'extrémité de liste de journaux pour remplacer des propriétés spécifiques.

  • {START_TIME} : Pour spécifier l'heure à partir de laquelle les journaux doivent être collectés
  • {OFFSET} : Pour gérer la collection de journaux paginés
  • {CURR_TIME} : Pour fournir l'heure courante
  • {TIME_WINDOW} : Pour spécifier un intervalle ou une durée de collecte

Pour plus d'informations sur l'utilisation des macros, voir START_TIME Macro, CURR_TIME Macro, OFFSET Macro et TIME_WINDOW Macro.

Pour plus d'informations sur l'utilisation des variables de la réponse du point d'extrémité de liste de journaux qui peuvent être spécifiées dans l'URL du point d'extrémité de journal, des exemples de chemin JSON et l'utilisation de filtres de variable, voir Variables pour la collecte de journaux d'API REST.

START_TIME Macro

Utilisez la macro START_TIME pour spécifier l'heure à partir de laquelle les journaux doivent être collectés. La macro START_TIME peut être utilisée dans une URL de point d'extrémité, des paramètres de formulaire ou des données utiles POST.

L'exemple suivant montre l'URL du point d'extrémité qui collecte les journaux dont l'horodatage est supérieur à celui spécifié par la macro START_TIME :

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&filter=timestamp+gt+{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}

Syntaxe :

{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
  • n est la valeur d'heure de l'intervalle de dates. X est exprimé en jours (D), heures (h), minutes (m), mois (M), année (Y).

  • +nX représente le nombre de jours, d'heures, de minutes, de mois ou d'années à ajouter à l'heure de début. C'est facultatif. Par exemple, +3D.

  • Les formats de temps pris en charge sont les mêmes que ceux de la classe java SimpleDateFormat. Le format d'heure par défaut est yyyy-MM-dd'T'HH:mm:ss.SSSZ. Par exemple, 2001-07-04T12 :08 :56.235-0700.

    La spécification du format epoch ou d'heure est facultative. Si epoch est fourni, la macro est remplacée par une valeur de milliseconde epoch.

    Pour les formats d'horodatage pris en charge par SimpleDateFormat, voir Java Platform Standard, éd. 8 : Classe SimpleDateFormat.

  • TZ permet de fournir le fuseau horaire de l'horodatage. Cela ne s'applique pas si epoch est déjà fourni. Le format pris en charge est le même que les ID à 3 lettres de la classe java TimeZone, par exemple UTC.

  • Vous pouvez inclure plusieurs instances de cette macro dans l'URL.

  • Exemples :

    1. {START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSS.TZ=UTC}
    2. {START_TIME:epoch}

CURR_TIME Macro

Utilisez la macro CURR_TIME pour insérer l'heure courante dans l'URL du point d'extrémité de l'API REST, les paramètres de formulaire et les données utiles POST.

L'exemple suivant montre l'URL du point d'extrémité qui utilise la macro CURR_TIME dans le paramètre d'interrogation :

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
  • Le format d'utilisation de la macro est le même que celui de la macro START_TIME.

  • Vous pouvez inclure plusieurs instances de cette macro dans l'URL.

OFFSET Macro

Utilisez la macro OFFSET pour les points d'extrémité qui fournissent des réponses paginées ou pour gérer le comportement de décalage dans une réponse d'API. La macro OFFSET peut être utilisée dans l'URL du point d'extrémité de l'API REST, les paramètres de formulaire et les données utiles POST pour extraire plusieurs pages ou fragments dans un seul cycle de collecte de journaux.

Format : {OFFSET(<start value>, <increment>)}

  • La macro OFFSET est utilisée pour appeler et collecter des données de manière itérative sur les résultats paginés d'un point d'extrémité de journal spécifique afin d'obtenir tous les enregistrements disponibles. L'appel de demande d'API REST initial commence par la valeur de début et est incrémenté à chaque appel suivant par la valeur incrément. Ces appels récursifs basés sur un index sont arrêtés lorsqu'aucune autre entrée de journal n'est trouvée. Le décalage n'est pas reporté au cycle de collecte suivant. Elle commence à partir de la valeur par défaut ou initiale de chaque cycle de collecte.

  • Dans le format ci-dessus, la valeur de début est la valeur initiale de l'index et la valeur par défaut est 0. Il est facultatif de spécifier une valeur de début.

    Valeurs possibles : Nombre entier positif incluant 0

  • Dans le format ci-dessus, incrément indique la valeur à ajouter à la valeur de début dans les appels suivants. La valeur par défaut est 1. Il est facultatif de spécifier une valeur d'incrément.

    Valeurs possibles : Nombre entier positif uniquement. Exclusions 0.

  • Vous ne pouvez inclure qu'une seule instance de cette macro dans l'URL.

Les exemples suivants montrent différentes façons d'utiliser la macro OFFSET :

  • {OFFSET}

    Utilise les valeurs par défaut start value = 0, increment = 1.

  • {OFFSET(5)}

    valeur de début = 5, incrément = 1 (valeur par défaut)

  • {OFFSET(5,2)}

    valeur de début = 5, incrément = 2

L'exemple suivant montre l'URL du point d'extrémité qui utilise la macro OFFSET :

https://example.org/fetchLogs?startIndex={OFFSET(0,1000)}&count=1000

Dans l'exemple ci-dessus, OFFSET(0,1000) indique que la valeur de début est 0 dans le premier appel, puis dans les appels suivants, incrémentés de 1000. Par conséquent, lorsque la macro OFFSET est interprétée, l'URL du point d'extrémité pour plusieurs appels est la suivante :

Premier appel : https://example.org/fetchLogs?startIndex=0&count=1000

Deuxième appel : https://example.org/fetchLogs?startIndex=1000&count=1000

TIME_WINDOW Macro

Utilisez la macro TIME_WINDOW pour spécifier l'intervalle de collecte sur lequel les journaux doivent être collectés. Il peut être utilisé dans l'URL de point d'extrémité de l'API REST pour extraire les journaux en quelques minutes, heures ou jours, quel que soit l'intervalle de collecte de l'agent. Par exemple, si la fenêtre de temps est 1d (un jour) et que l'intervalle d'agent est de 10 minutes, la collecte de journaux suivante n'a lieu qu'après un jour.

L'exemple suivant définit l'intervalle de collecte de journaux pendant 6 heures en spécifiant TIME_WINDOW comme 6h dans l'URL du point d'extrémité :

https://example.org/fetchLogs?timewindow={TIME_WINDOW(6h)}

Format : {TIME_WINDOW(<number><timeunit>)}

Dans le format ci-dessus :

  • nombre : Nombre numérique supérieur à zéro.

  • unité de temps : h pour les heures, d pour les jours, m pour les minutes. La valeur par défaut est d (jours).

Assurez-vous que l'intervalle de collecte de l'agent est inférieur à la fenêtre de temps fournie. Vous ne pouvez utiliser la macro TIME_WINDOW qu'une seule fois dans le point d'extrémité.

Variables pour la collecte de journaux d'API REST

Utilisez les variables pour remplacer dynamiquement les attributs fournis dans le cadre de la réponse par le point d'extrémité de liste de journaux dans la demande du point d'extrémité de journal au moment de l'exécution. Les variables peuvent être utilisées dans l'URL, les paramètres de formulaire, les données utiles POST ou les valeurs d'en-tête de demande HTTP du point d'extrémité du journal.

Si l'appel au point d'extrémité de liste de journaux échoue, les messages de journal du point d'extrémité de journal ne sont pas collectés en raison de la dépendance.

Format de la variable dans le point d'extrémité du journal :

{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
  • Dans le format ci-dessus, log_list_endpoint_name est le nom du point d'extrémité de la liste de journaux.

    Le filtre (<filter_field_name>=<value>) est facultatif. Seul l'attribut correspondant à filter_field_name est sélectionné à partir de la réponse JSON du point d'extrémité de la liste de journaux et utilisé dans le point d'extrémité du journal. Par exemple :

    https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

    Pour un exemple détaillé du filtre, voir Exemple de filtre.

  • Seul le type de contenu JSON est pris en charge pour extraire les valeurs de propriété.

  • La même variable peut être spécifiée plusieurs fois.

  • Les variables ne peuvent faire référence qu'à des points d'extrémité de liste valides et non à des points d'extrémité de journal.

  • Les formats de chemin JSON suivants sont pris en charge : Chemin JSON simple, Chemin JSON de tableau et Chemin JSON de tableaux multiples.

Chemin JSON simple

Si la réponse JSON comporte plusieurs niveaux d'éléments imbriqués, vous pouvez spécifier le chemin JSON en tant que notation spéciale des noeuds et de leurs connexions à leurs noeuds enfants suivants.

Pour l'exemple suivant, utilisez le chemin JSON $.foo.abc pour obtenir result comme sortie :

{
    "foo" : 
    {
        "abc" : "result"
    }
}

Pour l'exemple suivant, utilisez le chemin JSON $.*.id pour obtenir la sortie ["id1", "id3"] ou $.*.* pour obtenir la sortie ["id1", "id2", "id3"] :

{
    "foo" : {
        "id" : "id1"
    },
    "foo2" : {
        "ID" : "id2",
        "id" : "id3"
    }
}

Pour l'exemple suivant, utilisez le chemin JSON $.foo.* pour obtenir la sortie ["id1", "value1"] :

{
    "foo" : {
        "id" : "id1",
        "abcd" : "value1"
    },
    "foo2" : {
        "id" : "id2"
    }
}

Chemin JSON du tableau

Si la réponse JSON comporte un tableau d'objets à partir duquel les données doivent être extraites, spécifiez le nom de l'objet de tableau et utilisez [] pour extraire les éléments appropriés au sein de cet objet de tableau. Par exemple, la réponse JSON suivante comporte deux tableaux d'objets records et item :

{
     "records": [
         {"id": "firstId", "type":"firstType"},
         {"id":"secondId", "type":"secondType"}
     ],
     "items": [
         {"name":"firstName", "field":"value"},
         {"name":"secondName", "field":"value"},
         {"name":"thirdName", "field":"value"}
     ]
}
  • Spécifiez le chemin JSON $.records[0].id pour extraire firstId en tant que sortie, $.records[1].id pour extraire secondId en tant que sortie ou $.records[*].id pour extraire id de tous les objets JSON. Dans le dernier cas, la sortie est une liste de chaînes ["firstId", "secondId"].

  • Vous pouvez également spécifier des conditions dans le chemin JSON à l'aide de (). Dans l'exemple ci-dessus, pour extraire id uniquement de records dont type est firstType, utilisez le chemin JSON $.records[*].id(type='firstType').

Chemin JSON de plusieurs tableaux

Prenons l'exemple suivant :

Pour l'URL du point d'extrémité de la liste de journaux getlist :

https://www.example.com/url_list

Réponse JSON au point d'extrémité de liste de journaux :

{
  "records": [ { "id": "firstId", "type": "firstType" }, { "id": "secondId", "type": "secondType" } ],
  "items": [ { "name": "firstName", "field": "value" }, { "name": "secondName", "field": "value" }, { "name": "thirdName", "field": "value" } ]
}

URL du point d'extrémité du journal (en référence aux variables de getlist) :

https://www.example.com/{getlist:$.records[*].id}/{getlist:$.items[*].name}

Avec les variables {getlist:$.records[*].id} et {getlist:$.items[*].name}, l'agent génère les points d'extrémité de journal ci-dessous avec toutes les combinaisons des deux champs de tableau ["firstId", "secondId"] et ["firstName", "secondName", "thirdName"] :

  • https://www.example.com/firstId/firstName

  • https://www.example.com/secondId/firstName

  • https://www.example.com/firstId/secondName

  • https://www.example.com/secondId/secondName

  • https://www.example.com/firstId/thirdName

  • https://www.example.com/secondId/thirdName

Exemple de filtre

Considérons la réponse JSON suivante du point d'extrémité de liste de journaux foo :

{
    "items": [
        {
            "BusinessEventCode": "JournalBatchApproved",
            "CreationDate": "2019-07-27T17:19:19.261+00:00",
            "links": [
                {
                    "rel": "self",
                    "href": "/erpBusinessEvents/self/100100120766717"
                },
                {
                    "rel": "canonical",
                    "href": "/erpBusinessEvents/rel/100100120766717"
                }
            ]
        }
    ]
}

Prenons maintenant l'exemple de point d'extrémité de journal suivant :

https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

Dans l'exemple ci-dessus, le paramètre de chemin est remplacé par l'élément de tableau $.items[*].links[*].href à partir de la réponse JSON du point d'extrémité de liste de journaux foo et une condition supplémentaire est spécifiée pour sélectionner uniquement rel='self'.

Pour la réponse JSON ci-dessus, l'agent génère le point d'extrémité de journal suivant :

https://www.example.com/log/erpBusinessEvents/self/100100120766717

Sélectionner le type de données d'identification pour la collecte de journaux de l'API REST

Pour autoriser une connexion entre l'agent et la source d'API REST, configurez d'abord les données d'identification d'API dans le magasin de données d'identification de l'agent. Après avoir configuré les données d'identification de la source dans le service d'agent de gestion côté agent, vous pouvez utiliser ces informations lors de la création de la source de journaux de l'API REST.

Pour configurer les données d'identification de la source dans le service d'agent de gestion afin de permettre à l'agent de gestion de collecter des données à partir de votre hôte émetteur de journaux, voir Données d'identification de la source de l'agent de gestion.

Lors de l'ajout du point d'extrémité de journal ou du point d'extrémité de liste de journaux, fournissez les informations d'identification dans le flux de travail en sélectionnant le type de données d'identification de journal. Sélectionnez l'une des options suivantes :

  • Aucune action
  • Authentification de base : Spécifiez le nom des données d'identification de journal des données d'identification que vous avez créées dans le service d'agent de gestion.
  • Jeton statique : Spécifiez le nom des données d'identification de journal des données d'identification que vous avez créées dans le service d'agent de gestion.
  • Jeton dynamique (OAuth 2.0) :

    Spécifiez le nom des données d'identification de jeton du jeton que vous avez créé dans le service d'agent de gestion. En outre, fournissez les informations sur le jeton telles que Nom du point d'extrémité du jeton, URL du point d'extrémité du jeton, Type d'octroi et, facultativement, Portée.

    Si le mandataire du jeton est identique à celui du point d'extrémité du journal, gardez la case à cocher Mandataire identique au point d'extrémité du journal activée. Si ce n'est pas le cas, désactivez la case et indiquez l'URL du serveur mandataire de jeton.

Mappage des types de données d'identification au type d'authentification :

Type d'authentification Type de données d'identification dans l'agent de gestion Propriétés des données d'identification
Autorisation de base HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds Propriétés du magasin de certificats SSL HTTPSUserName, HTTPSPassword
Jeton statique HTTPSTokenCreds Propriétés du magasin de certificats SSL HTTPSToken, HTTPSTokenType (facultatif)
Jeton dynamique HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds Propriétés du magasin de certificats SSL HTTPSUserName, HTTPSPassword

Les informations suivantes sont incluses dans les propriétés du magasin de certificats SSL :

  • "ssl_trustStoreType" : Type de magasin, par exemple JKS.

  • "ssl_trustStoreLocation" : Chemin du magasin de certificats SSL

  • "ssl_trustStorePassword" : Mot de passe du magasin de certificats SSL (facultatif)

Notez les aspects suivants concernant les attributs dans le JSON des données d'identification :

  • source : La valeur doit être lacollector.la_rest_api

  • name : Nom approprié pour les données d'identification

  • type : Il doit s'agir de l'une des valeurs spécifiées sous la colonne Type de données d'identification à l'agent de gestion dans la table des types de données d'identification ci-dessus.

Voir Exemples de données d'identification JSON.

Exemples de données d'identification JSON

Exemple d'authentification de base avec nom d'utilisateur et mot de passe sur HTTPS avec hôte approuvé :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSBasicAuthCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" }
  ]
}

Exemple d'authentification de base avec des certificats SSL, un nom d'utilisateur et un mot de passe sur HTTPS en fournissant explicitement des certificats :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Exemple de jeton sur HTTPS avec hôte approuvé :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" }
  ]
}

Exemple de jeton sur HTTPS avec des certificats fournis explicitement :

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Ingérer les journaux de vérification des applications Fusion

Suivez ces étapes pour collecter les journaux de vérification Fusion Applications. Pour obtenir la liste des sources définies par Oracle disponibles pour Fusion Applications, voir Sources définies par Oracle.

Rubriques :

Conditions requises

  • Présentation des API des journaux de vérification Fusion Applications : Pour plus de détails sur l'utilisation et la fonctionnalité de l'API des journaux de vérification, voir Documentation sur l'API REST Fusion Applications.

  • Accès aux applications Fusion : Vous devez disposer de données d'identification et de privilèges valides pour accéder à l'instance Fusion Applications.

  • Identifiez les points d'extrémité et le mandataire suivants (facultatif) :

    • login_url : URL de base de votre instance Fusion Applications
    • pod_url : URL de base de votre instance Fusion Applications
    • proxy_url : (Facultatif) URL qui envoie une demande au serveur mandataire

    Pour plus de détails sur les URL, voir ID document 2661308.1 dans Oracle My Support.

  • Accès à l'API REST Fusion Applications : Assurez-vous que l'accès à l'API est activé et que les rôles/privilèges requis sont affectés.

Configurer la collecte du journal de vérification à partir des applications Fusion

  1. Valider l'URL de base Fusion Applications :

    • Validez les données d'identification Fusion Applications en vous connectant à l'interface utilisateur.
    • Au besoin, analysez les appels de trace réseau pour valider l'URL de base.
    • Assurez-vous que l'accès à l'API de vérification est activé.
  2. Créer les politiques IAM requises : Autoriser la collecte continue de journaux à l'aide d'agents de gestion

  3. Installez l'agent de gestion sur un hôte disposant d'un accès http ou https à votre instance ou serveur Fusion Applications. Assurez-vous que le plugiciel Logging Analytics est déployé pendant l'installation. Voir installer des agents de gestion.

  4. Configurer les données d'identification d'API dans le magasin de données d'identification de l'agent :

    Naviguez jusqu'au dossier /bin de l'agent de gestion et créez le fichier JSON des données d'identification. L'exemple suivant présente les valeurs fournies dans le fichier fapps.json :

    {
          "source": "lacollector.la_rest_api",
          "name": "FA-CREDS",
          "type": "HTTPSBasicAuthCreds",
          "description": "These are HTTPS (BasicAuth) credentials.",
          "properties": [
              {
                  "name": "HTTPSUserName",
                  "value": "USER"
              },
              {
                  "name": "HTTPSPassword",
                  "value": "PASS"
              }
          ]
      }

    Ajoutez les données d'identification FA-CREDS au magasin de données d'identification de l'agent :

    cat fapps.json | ./credential_mgmt.sh -s logan -o upsertCredentials

    Pour plus de détails sur la configuration des données d'identification d'API dans le magasin de données d'identification de l'agent, voir Données d'identification de la source de l'agent de gestion.

  5. Vérifiez si le point d'extrémité de l'API Fusion Applications peut être atteint à partir de l'instance où l'agent est installé. Vous pouvez utiliser des outils tels que curl pour effectuer la vérification.

  6. Créer une entité : Créez une entité de type Oracle Fusion Applications et ajoutez des valeurs de propriétés pour login_url et pod_url. Si nécessaire, ajoutez également la valeur pour proxy_url. Voir Créer une entité pour représenter votre ressource émettrice de journaux.

  7. Configurer la source : Identifiez une source définie par Oracle appropriée pour les journaux de vérification des applications Fusion que vous pouvez utiliser. Si nécessaire, vous pouvez créer un double de la source existante et la modifier. Voir Modifier la source.

    • Assurez-vous que les données d'identification sont référencées correctement dans le point d'extrémité du journal de votre source.
    • Ajoutez un mandataire aux points d'extrémité de journal, si nécessaire.
  8. Programmer la collecte de données côté agent : Associez la source à l'entité pour programmer la collecte de données. Utilisez l'agent de gestion pour appeler périodiquement les API de vérification Fusion Applications et pousser les données vers Logging Analytics. Voir Configurer une nouvelle association source-entité.

  9. Vérifier et valider dans l'explorateur de journaux : Vérifiez que les journaux sont collectés et analysés correctement dans l'explorateur de journaux. Voir Visualiser les données à l'aide de graphiques et de contrôles.