À propos d’OMS

OUTSCALE Monitoring Services (OMS) vous permet de tracer et de surveiller vos requêtes API OUTSCALE.

OMS enregistre les requêtes et réponses API exécutées depuis votre compte. Chaque log contient des informations telles que l’IP depuis laquelle l’événement a été exécuté, les ressources affectées par l’événement ou encore l’heure à laquelle l’événement a eu lieu.

Récupérer et analyser ces logs peut s’inscrire dans le cadre d’une stratégie de détection d’anomalies et d’utilisations malveillantes de votre compte.

Périmètre

OMS enregistre les requêtes exécutées avec l’API OUTSCALE.

En revanche, OMS n’enregistre pas :

  • Les requêtes exécutées avec OUTSCALE Object Storage (OOS) et les API AWS-compliant.

  • Les requêtes non autorisées (code d’état de réponse 401) et les requêtes invalides (code d’état de réponse 404).

Si utilisé par un utilisateur EIM, OMS renvoie tous les logs du compte et pas uniquement les logs de l’utilisateur EIM.

Méthode ReadApiLogs

Utilisation basique

Vous pouvez récupérer vos logs avec la méthode ReadApiLogs. Un log est disponible jusqu’à 32 jours après que l’événement correspondant a eu lieu.

Exemple de requête
$ osc-cli api ReadApiLogs
Exemple de résultat (avec un seul log)
{
    "Logs": [
        {
            "AccountId": "123456780123",
            "CallDuration": 93,
            "QueryAccessKey": "ABCDEFGHIJKLMNOPQRST",
            "QueryApiName": "oapi",
            "QueryApiVersion": "1.14",
            "QueryCallName": "CreateVolume",
            "QueryDate": "2021-08-11T09:55:02.842375Z",
            "QueryHeaderRaw": "Host: api.eu-west-2.outscale.com\\nAccept: */*\\nConnection: close\\nUser-agent: osc_sdk 1.5\\nX-Osc-Date: 20210811T095502Z\\nContent-Type: application/json\\nx-osc-target: OutscaleService.CreateVolume\\nAuthorization: *****\\nContent-Length: 69\\nAccept-Encoding: gzip, deflate\\nX-Forwarded-For: 11.111.111.111",
            "QueryHeaderSize": 302,
            "QueryIpAddress": "11.111.111.111",
            "QueryPayloadRaw": "{\"Size\": 10, \"SubregionName\": \"eu-west-2a\", \"VolumeType\": \"standard\"}",
            "QueryPayloadSize": 69,
            "QueryUserAgent": "osc_sdk 1.5",
            "RequestId": "8aac17df-ca98-48c7-9f00-181205675fbc",
            "ResponseSize": 220,
            "ResponseStatusCode": 200
        }
    ]
}
  • Vous pouvez utiliser cette méthode dans un script, pour archiver vos logs par exemple. Pour en savoir plus, voir Tutoriel : Archiver vos logs d’API.

  • Vous pouvez utiliser le paramètre With pour masquer des éléments de réponse dans les logs récupérés.

Comportement des filtres

La quantité de logs renvoyés peut être importante. C’est pourquoi vous pouvez utiliser des filtres pour affiner votre requête et limiter la taille de la réponse.

Exemple de requête
$ osc-cli api ReadApiLogs --Filters '{ \
    "ResponseStatusCode": [500, 501], \
    "QueryIpAddress": ["255.255.255.254", "255.255.255.255"] \
}'

Si vous utilisez plusieurs filtres simultanément, ces filtres se combinent selon la logique ET.

Si vous spécifiez plusieurs valeurs dans un même filtre, ces valeurs se combinent selon la logique OU.

La logique de l’exemple ci-dessus est donc la suivante :

(ResponseStatusCode = 500 OU ResponseStatusCode = 501) ET (QueryIpAddress = 255.255.255.254 OU QueryIpAddress = 255.255.255.255)

Ordre de traitement

Une requête ReadApiLogs est traitée comme suit :

  1. Les filtres sont appliqués afin de récupérer uniquement les événements correspondant à votre requête. Si aucun événement ne correspond aux filtres, une liste vide est renvoyée.

  2. Les événements récupérés sont triés par date, du plus ancien au plus récent.

  3. Les paramètres NextPageToken et ResultsPerPage sont appliqués afin de paginer les résultats.

  4. Le paramètre With est appliqué afin de déterminer le contenu à afficher pour chaque log renvoyé.

Pages connexes

Méthode API correspondante

AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.