Interroge les entrées des journaux d'audit d'une instance ApsaraDB for MongoDB.
Lorsque vous appelez cette opération, assurez-vous que la fonctionnalité de journal d'audit est activée pour l'instance. Sinon, l'opération renvoie un journal d'audit vide.
Cette opération s'applique uniquement aux instances general-purpose local-disk et dedicated local-disk.
Vous pouvez appeler cette opération jusqu'à 30 fois par minute. Pour l'appeler à une fréquence plus élevée, utilisez un Logstore. Pour plus d'informations, consultez la rubrique Manage a Logstore.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | DescribeAuditRecords | Opération à effectuer. Définissez la valeur sur DescribeAuditRecords. |
| RegionId | String | Non | cn-hangzhou | ID de région de l'instance. Vous pouvez appeler l'opération DescribeDBInstanceAttribute pour interroger l'ID de région de l'instance. |
| DBInstanceId | String | Oui | dds-bp12c5b040dc**** | ID de l'instance. Remarque Si vous définissez ce paramètre sur l'ID d'une instance de cluster fragmenté, vous devez également spécifier le paramètre NodeId. |
| NodeId | String | Non | d-bp128a003436**** | ID du nœud mongos ou du nœud shard dont vous souhaitez interroger les journaux d'audit dans l'instance. Si l'instance est une instance de cluster fragmenté, vous devez spécifier ce paramètre. Remarque Ce paramètre n'est valide que lorsque le paramètre DBInstanceId est défini sur l'ID d'une instance de cluster fragmenté. |
| StartTime | String | Oui | 2019-03-13T12:11:14Z | Début de la plage de temps à interroger. Spécifiez l'heure au format yyyy-MM-ddTHH:mm:ssZ. L'heure doit être exprimée en UTC. |
| EndTime | String | Oui | 2019-03-13T13:11:14Z | Fin de la plage de temps spécifiée pour interroger le journal d'audit. L'heure de fin doit être postérieure à l'heure de début. Spécifiez l'heure au format yyyy-MM-ddTHH:mm:ssZ. L'heure doit être exprimée en UTC. Remarque L'heure de fin doit se situer dans les 24 heures suivant l'heure de début. Sinon, la requête échoue. |
| Database | String | Non | testdatabase | Nom de la base de données à interroger. Par défaut, toutes les bases de données sont interrogées. |
| User | String | Non | root | Utilisateur de la base de données. Si vous ne spécifiez pas ce paramètre, cette opération renvoie les enregistrements de tous les utilisateurs. |
| Form | String | Non | Stream | Format du journal d'audit renvoyé par l'opération. Valeurs possibles :
Valeur par défaut : Stream. |
| QueryKeywords | String | Non | slow | Mots-clés utilisés pour les requêtes. Séparez plusieurs mots-clés par des espaces. Le nombre maximal de mots-clés est de 10. |
| PageSize | Integer | Non | 30 | Nombre d'entrées à renvoyer par page. Valeurs possibles : 30, 50 et 100. Valeur par défaut : 30. |
| PageNumber | Integer | Non | 1 | Numéro de la page à renvoyer. La valeur doit être un entier supérieur à 0. Valeur par défaut : 1. |
| OrderType | String | Non | asc | Ordre de tri chronologique des entrées de journal à renvoyer. Valeurs possibles :
|
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| TotalRecordCount | Integer | 40 |
Nombre total d'entrées. |
| PageRecordCount | Integer | 30 |
Nombre maximal d'entrées sur la page actuelle. |
| RequestId | String | 3278BEB8-503B-4E46-8F7E-D26E040C9769 |
ID de la requête. |
| PageNumber | Integer | 1 |
Numéro de la page à renvoyer. |
| Items | Array of SQLRecord |
Tableau constitué des informations relatives aux entrées du journal d'audit. |
|
| SQLRecord | |||
| HostAddress | String | 11.xxx.xxx.xxx |
Adresse IP du client. |
| TableName | String | C1 |
Nom de la collection. |
| ReturnRowCounts | Long | 2 |
Nombre d'entrées de journal d'audit SQL renvoyées. |
| DBName | String | test123 |
Nom de la base de données. |
| ExecuteTime | String | 2019-03-11T03:30:27Z |
Heure d'exécution de l'instruction. L'heure est au format yyyy-MM-dd T HH:mm:ss Z. L'heure est affichée en UTC. |
| ThreadID | String | 140682188297984 |
ID du thread enregistré dans l'entrée de journal d'audit SQL. |
| TotalExecutionTimes | Long | 700 |
Durée d'exécution de l'instruction. Unité : microsecondes. |
| Syntax | String | { \"atype\" : \"createCollection\", \"param\" : { \"ns\" : \"123.test1\" }, \"result\": \"OK\" } |
Instruction exécutée. |
| AccountName | String | root |
Compte de la base de données. |
Exemples
Exemples de requêtes
http(s)://mongodb.aliyuncs.com/?Action=DescribeAuditRecords
&StartTime=2019-03-13T12:11:14Z
&EndTime=2019-03-13T13:11:14Z
&DBInstanceId=dds-bp12c5b040dc****
&<Common request parameters>
Exemples de réponses réussies
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<DescribeAuditRecordsResponse>
<Items>
<SQLRecord>
<TotalExecutionTimes>703</TotalExecutionTimes>
<Syntax>{ "atype" : "command", "param" : { "command" : "find", "ns" : "123.test1", "args" : { "find" : "test1", "filter" : { "x" : 1, "y" : 2 }, "shardVersion" : [ { "$timestamp" : { "t" : 0, "i" : 0 } }, { "$oid" : "000000000000000000000000" } ], "$clusterTime" : { "clusterTime" : { "$timestamp" : { "t" : 1552275017, "i" : 2 } }, "signature" : { "hash" : { "$binary" : "9qfygDs61fKCvdXJqjq+f0zML0E=", "$type" : "00" }, "keyId" : { "$numberLong" : "6666955498811555841" } } }, "$client" : { "application" : { "name" : "MongoDB Shell" }, "driver" : { "name" : "MongoDB Internal Client", "version" : "3.4.10" }, "os" : { "type" : "Linux", "name" : "Ubuntu", "architecture" : "x86_64", "version" : "16.04" }, "mongos" : { "host" : "rxxxxxx.cloud.cm10:3074", "client" : "47.xxx.xxx.xx:53854", "version" : "4.0.0" } }, "$configServerState" : { "opTime" : { "ts" : { "$timestamp" : { "t" : 1552275017, "i" : 2 } }, "t" : { "$numberLong" : "3" } } }, "$db" : "123" } }, "result": "OK" }</Syntax>
<HostAddress>11.xxx.xxx.xx</HostAddress>
<ExecuteTime>2019-03-11T03:30:27Z</ExecuteTime>
<ThreadID>139xxxxxxxx</ThreadID>
<AccountName>__system;</AccountName>
<DBName>local;</DBName>
</SQLRecord>
<SQLRecord>
<TotalExecutionTimes>0</TotalExecutionTimes>
<Syntax>{ "atype" : "createIndex", "param" : { "ns" : "123.test1", "indexName" : "y_1", "indexSpec" : { "v" : 2, "key" : { "y" : 1 }, "name" : "y_1", "ns" : "123.test1" } }, "result": "OK" }</Syntax>
<HostAddress></HostAddress>
<ExecuteTime>2019-03-11T03:30:06Z</ExecuteTime>
<ThreadID>140xxxxxxxx</ThreadID>
<AccountName>__system;</AccountName>
<DBName>local;</DBName>
</SQLRecord>
</Items>
<PageNumber>1</PageNumber>
<TotalRecordCount>2</TotalRecordCount>
<RequestId>3278BEB8-503B-4E46-8F7E-D26E040C9769</RequestId>
<PageRecordCount>30</PageRecordCount>
</DescribeAuditRecordsResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Items" : {
"SQLRecord" : [ {
"TotalExecutionTimes" : 703,
"Syntax" : "{ \"atype\" : \"command\", \"param\" : { \"command\" : \"find\", \"ns\" : \"123.test1\", \"args\" : { \"find\" : \"test1\", \"filter\" : { \"x\" : 1, \"y\" : 2 }, \"shardVersion\" : [ { \"$timestamp\" : { \"t\" : 0, \"i\" : 0 } }, { \"$oid\" : \"000000000000000000000000\" } ], \"$clusterTime\" : { \"clusterTime\" : { \"$timestamp\" : { \"t\" : 1552275017, \"i\" : 2 } }, \"signature\" : { \"hash\" : { \"$binary\" : \"9qfygDs61fKCvdXJqjq+f0zML0E=\", \"$type\" : \"00\" }, \"keyId\" : { \"$numberLong\" : \"6666955498811555841\" } } }, \"$client\" : { \"application\" : { \"name\" : \"MongoDB Shell\" }, \"driver\" : { \"name\" : \"MongoDB Internal Client\", \"version\" : \"3.4.10\" }, \"os\" : { \"type\" : \"Linux\", \"name\" : \"Ubuntu\", \"architecture\" : \"x86_64\", \"version\" : \"16.04\" }, \"mongos\" : { \"host\" : \"rxxxxxx.cloud.cm10:3074\", \"client\" : \"47.xxx.xxx.xx:53854\", \"version\" : \"4.0.0\" } }, \"$configServerState\" : { \"opTime\" : { \"ts\" : { \"$timestamp\" : { \"t\" : 1552275017, \"i\" : 2 } }, \"t\" : { \"$numberLong\" : \"3\" } } }, \"$db\" : \"123\" } }, \"result\": \"OK\" }",
"HostAddress" : "11.xxx.xxx.xxx",
"ExecuteTime" : "2019-03-11T03:30:27Z",
"ThreadID" : "139xxxxxxxx",
"AccountName" : "__system;",
"DBName" : "local;"
}, {
"TotalExecutionTimes" : 0,
"Syntax" : "{ \"atype\" : \"createIndex\", \"param\" : { \"ns\" : \"123.test1\", \"indexName\" : \"y_1\", \"indexSpec\" : { \"v\" : 2, \"key\" : { \"y\" : 1 }, \"name\" : \"y_1\", \"ns\" : \"123.test1\" } }, \"result\": \"OK\" }",
"HostAddress" : "",
"ExecuteTime" : "2019-03-11T03:30:06Z",
"ThreadID" : "140xxxxxxxx",
"AccountName" : "__system;",
"DBName" : "local;"
} ]
},
"PageNumber" : 1,
"TotalRecordCount" : 2,
"RequestId" : "3278BEB8-503B-4E46-8F7E-D26E040C9769",
"PageRecordCount" : 30
}
Codes d'erreur
| Code HTTP | Codes d'erreur | Message d'erreur | Description |
| 400 | InvalidEndTime.Format | Specified end time is not valid. | Message d'erreur indiquant que le paramètre EndTime spécifié n'est pas valide. Spécifiez l'heure au format yyyy-MM-ddTHH:mmZ. L'heure doit être exprimée en UTC. L'heure de fin doit être postérieure à l'heure de début. |
Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs de l'API.