ActionTrail mencatat event selama 90 hari terakhir. Untuk mengkueri dan menganalisis event yang lebih lama, buat trail untuk mengirimkan event ke Simple Log Service (SLS), lalu gunakan pernyataan SQL di SLS.
Sintaksis pernyataan SQL
Pernyataan SQL menggunakan format berikut: <Query statement> | <Analytic statement>.
Tabel berikut mencantumkan pernyataan kueri dan analitik untuk setiap metode kueri yang didukung.
|
Metode kueri |
Pernyataan kueri |
Pernyataan analitik |
|
Event query |
|
|
|
Event summary query |
|
|
|
Insight event query |
|
|
Contoh pernyataan SQL
-
Contoh 1: Kueri semua event management bertipe write
* AND "event.eventCategory": Management AND "event.eventRW": Write | select "event.acsRegion" as acsRegion, "event.apiVersion" as apiVersion, "event.eventId" as eventId, "event.eventName" as eventName, "event.eventRW" as eventRW, "event.eventSource" as eventSource, from_unixtime(__time__) as eventTime, "event.eventType" as eventType, "event.eventVersion" as eventVersion, "event.errorCode" as errorCode, "event.errorMessage" as errorMessage, "event.requestId" as requestId, "event.requestParameterJson" as requestParameterJson, "event.resourceName" as resourceName, "event.resourceType" as resourceType, "event.serviceName" as serviceName, "event.sourceIpAddress" as sourceIpAddress, "event.userAgent" as userAgent, "event.userIdentity.accessKeyId" as accessKeyId, "event.userIdentity.accountId" as accountId, "event.userIdentity.principalId" as principalId, "event.userIdentity.type" as type, "event.userIdentity.userName" as userName -
Contoh 2: Kueri ringkasan semua event management bertipe write
CatatanJika Anda menentukan rentang waktu yang panjang untuk kueri Anda, kami menyarankan agar Anda menambahkan
LIMIT Nke dalam pernyataan agar hanya mengembalikanNevent. Misalnya, dengan menetapkanLIMIT 20, sistem akan mengembalikan 20 event.* AND "event.eventCategory": Management AND "event.eventRW": Write | SELECT "event.serviceName" AS serviceName, "event.eventName" AS eventName, "event.eventRW" AS eventRW, "event.sourceIpAddress" AS sourceIpAddress, "event.resourceName" AS resourceName, "event.resourceType" AS resourceType, "event.userIdentity.userName" AS userName, "event.userIdentity.type" AS userType, "event.userIdentity.accessKeyId" AS accessKeyId, "event.acsRegion" AS eventRegion, COUNT("event.eventId") AS n, date_trunc('hour', __time__) AS time GROUP BY time, serviceName, eventName, eventRW, sourceIpAddress, resourceType, resourceName, accessKeyId, userType, userName, eventRegion ORDER BY time DESC LIMIT 20 -
Contoh 3: Kueri semua anomali IP dalam event insight
* AND "event.eventCategory": Insight AND event.insightDetails.insightType: IpInsight | select from_unixtime(__time__) as eventTime, "event.acsRegion" as eventRegion, "event.insightDetails.sourceIpAddress" as sourceIpAddress, "event.insightDetails.insightContext.statistics.insightCount" as count -
Contoh 4: Kueri event management yang dipicu dari alamat IP sumber tertentu
* AND "event.eventCategory": Management AND "event.sourceIpAddress": "10.12.XX.XX" | select from_unixtime(__time__) as eventTime, "event.eventName" as eventName, "event.serviceName" as serviceName, "event.sourceIpAddress" as sourceIpAddress, "event.userIdentity.userName" as userName, "event.acsRegion" as acsRegion