- AWSにて特定のAPI呼び出しで、エラーの発生が増えてきたので、その調査の覚書
指定したAPI呼び出しの件数
SELECT eventSource, COUNT(*) AS count
FROM "$DBNAME"."$TABLENAME"
WHERE eventName='$EVENTNAME'
AND eventTime > '2020-03-01T00:00:00Z'
GROUP BY DATE_FORMAT(from_iso8601_timestamp(eventTime), '%Y-%m-%d');
指定したAPIの日別の呼び出し件数
SELECT DATE_FORMAT(from_iso8601_timestamp(eventTime), '%Y-%m-%d') AS time, COUNT(*) AS count
FROM "$DBNAME"."$TABLENAME"
WHERE eventName='$EVENTNAME'
AND eventTime > '2020-03-01T00:00:00Z'
GROUP BY DATE_FORMAT(from_iso8601_timestamp(eventTime), '%Y-%m-%d');
指定したAPIと呼び出し元の日別の呼び出し件数
SELECT DATE_FORMAT(from_iso8601_timestamp(eventTime), '%Y-%m-%d') AS time, eventSource, userAgent, COUNT(*) as Count
FROM "$DBNAME"."$TABLENAME"
WHERE eventName='$EVENTNAME'
AND eventTime > '2020-03-01T00:00:00Z'
GROUP BY DATE_FORMAT(from_iso8601_timestamp(eventTime), '%Y-%m-%d'), eventSource, userAgent;
備考
- S3上のCloudTrailログが多いと、クエリ実行時にAtheanのコスト増加およびTimeoutでになってしまうので、Athenaのテーブル作成の際に、ディレクトリを掘り下げて作成する
- CloudTrailをAthenaで分析する際のテーブル作成は、CloudTrail上から(テーブル作成のための)クエリの生成および実行ができる