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
上のデータを集計