CloudWatchは時系列DBを直接操作させてくれるサービスと捉えれる.
InfluxDBは時系列DBである.
InfluxDBにはContinuous Queryというのがある.
メトリクスの保持
CloudWatch には、メトリクスデータが次のように保持されます。
- 期間が 60 秒未満のデータポイントは、3 時間使用できます。これらのデータポイントは高解像度カスタムメトリクスです。
- 期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。
- 期間が 300 秒 (5 分) のデータポイントは、63 日間使用できます。
- 期間が 3600 秒 (1 時間) のデータポイントは、455 日 (15 か月) 間使用できます。
InfluxDBではこれはこの様に表現できる.
それぞれの粒度毎にDB又はtableを分けて表現する.
期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます
CREATE CONTINUOUS QUERY "60" ON "log_group"
BEGIN
SELECT * INTO "log_group"."15days"."log_stream" FROM "original" GROUP BY time(60s)
END
期間が 300 秒 (5 分) のデータポイントは、63 日間使用できます。
CREATE CONTINUOUS QUERY "300" ON "log_group"
BEGIN
SELECT * INTO "log_group"."63days"."log_stream" FROM "original" GROUP BY time(300s)
END
期間が 3600 秒 (1 時間) のデータポイントは、455 日 (15 か月) 間使用できます。
CREATE CONTINUOUS QUERY "3600" ON "log_group"
BEGIN
SELECT * INTO "log_group"."63days"."log_stream" FROM "original" GROUP BY time(3600s)
END
CloudWatchのコンソール上ではこの様に作成されたtableを選択肢し、queryをしている様に見受けられる.