AWSを使って、定期的に収集・保存したデータを可視化する
2019/07/11 に考えたこと。
2020/08/06 今なら CloudWatch Logs Insightでやれるので、CloudWatch LogsにJSONを格納するのがよさそう。
やりたいこと
プログラムを定期実行して、ステータスや値を保存する
保存したデータを集計して結果を可視化する
アーキテクチャ案1
プログラムのキック: Amazon CloudWatch Eventsで定期呼び出し
データ収集プログラム: Amazon Lambda で実行、言語はPython3
データ送信: Amazon Lambdaの実行結果をJSON形式で出力し、Amazon CloudWatch Logs で受け取り、S3に保存
これは出来なかった
CloudWatch LogsからS3にエクスポートもできるけど、面倒
それよりもLambdaから直接S3に保存すればよさそう
データ集計: Amazon Athena でS3上のデータを集計
アーキテクチャ案2
プログラムのキック: Amazon CloudWatch Eventsで定期呼び出し
データ収集プログラム: Amazon Lambda で実行、言語はPython3
データ送信: Amazon Lambdaの実行結果をJSON形式でS3に保存
データ集計: Amazon Athena でS3上のデータを集計
Twitterで教えてもらった
@moomindani 8:25 - 2019年7月12日
Kinesis Data Firehoseを設定できますよー! https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs//SubscriptionFilters.html#FirehoseExample …
アーキテクチャ案3
プログラムのキック: Amazon CloudWatch Eventsで定期呼び出し
データ収集プログラム: Amazon Lambda で実行、言語はPython3
データ送信: Amazon Lambdaの実行結果をloggerでTaggedTSV形式で出力し、Amazon CloudWatch Logs で受け取る
CloudWatch Logs -> Kinesis FirehoseでS3に保存
データ集計: Amazon Athena でS3上のデータを集計