Exporter des journaux pour les interactions avec l'API du service d'apprentissage automatique
Vous pouvez configurer des capteurs et des consoles pour exporter les journaux des interactions des API avec le service d'apprentissage automatique ExtraHop. Le système ExtraHop exporte les journaux d'API via des requêtes HTTPS POST. N'importe quel serveur HTTP peut recevoir les journaux, à condition qu'il soit accessible par le système ExtraHop et qu'un certificat TLS soit installé sur le serveur.
Configuration d'un serveur HTTP pour recevoir les journaux
Before you begin
- Vous devez installer Go sur votre machine. Pour plus d'informations, consultez la documentation Go à l'adresse https://go.dev/learn/.
Configuration de la sonde ou de la console
Vous devez configurer la sonde ou la console pour exporter les journaux vers le serveur que vous avez configuré.
- Si le certificat de votre serveur n'est pas approuvé par le certificat intégré à la sonde, vous devez ajouter le certificat à la sonde ou à la console.
Format du journal de l'API
Les journaux sont exportés au format JSON. Chaque journal d'une requête HTTPS adressée au service d'apprentissage automatique contient les champs suivants :
- séquence : Numéro
- Identifiant numérique qui met en corrélation les demandes et les réponses. Par exemple, si une demande possède un numéro de séquence de 1, le journal des réponses aura également un numéro de séquence de 1.
- demande : Objet
- Un objet qui contient des informations sur la demande. L'objet contient les champs
suivants :
- Fermer : Booléen
- Indique si l'en-tête Connection est configuré pour se fermer.
- Longueur du contenu : Numéro
- Valeur de l'en-tête ContentLength.
- En-tête : Objet
- Objet contenant les en-têtes HTTPS.
- Hôte : Corde
- Le nom d'hôte du serveur.
- Méthode : Corde
- Méthode de la demande.
- Porto : Corde
- Le protocole HTTP avec lequel la demande a été envoyée.
- Adresse de la télécommande : Corde
- L'adresse IP du serveur.
- URI de la demande : Corde
- L'URI de la demande.
- Version TLS : Corde
- Version TLS avec laquelle la demande a été cryptée.
- Bande-annonce : Corde
- La valeur de l'en-tête de la bande-annonce.
- Encodage du transfert : Corde
- La valeur de l'en-tête Transfer-Encoding.
- corps de la demande : Objet
- Le corps JSON des requêtes POST, PUT et PATCH.
Chaque journal d'une réponse HTTPS du service d'apprentissage automatique contient les champs suivants :
- séquence : Numéro
- Identifiant numérique qui met en corrélation les demandes et les réponses. Par exemple, si une demande possède un numéro de séquence de 1, le journal des réponses aura également un numéro de séquence de 1.
- code_état_de la réponse : Numéro
- Le code dac.state de la réponse.
- en-têtes de réponse : Objet
- Un objet contenant les en-têtes HTTPS
- corps_réponse : Objet
- Le corps JSON de la réponse.
Exemple de demande
L'objet JSON suivant est un exemple de journal pour une demande d'API :
{ "sequence": 302, "request": { "Method": "POST", "Host": "appliance.example.extrahop.com", "RemoteAddr": "127.0.0.1:1234", "RequestURI": "/api/v1/metrics", "TLSVersion": "TLS1.2", "Proto": "HTTP/1.1", "ContentLength": 149, "TransferEncoding": null, "Header": { "Accept": [ "application/json" ], "Content-Length": [ "149" ], "Content-Type": [ "application/json" ] }, "Close": false, "Trailer": null }, "request_body": { "metric_category": "net", "from": -1, "object_type": "capture", "object_ids": [ 0 ], "until": 0, "metric_specs": [ { "name": "pkts" } ], "cycle": "30sec" } }
Exemple de réponse
L'objet JSON suivant est un exemple de journal pour une réponse d'API :
{ "sequence": 302, "response_status_code": "200", "response_headers": { "Content-Type": [ "application/json; charset=utf-8" ], "Vary": [ "Accept-Encoding" ] }, "response_body": { "cycle": "30sec", "node_id": 0, "clock": 1678150650000, "from": 1678150649999, "until": 1678150650000, "stats": [ { "oid": 0, "time": 1678150650000, "duration": 30000, "values": [ 1260 ] } ] } }
Nous vous remercions pour vos commentaires. Pouvons-nous vous contacter pour vous poser des questions complémentaires ?