こんにちは、屋根裏エンジニアこと 技術1課の折戸です。
前々回、前回に引き続きS3ログを集計する方法について、
今回は 、 その③ 集計し、可視化したい 場合の方法についてご紹介します。
集計対象や事前準備、その①/その②の方法については、前回までの記事をご覧ください。
集計条件
前回と同じ HTTPレスポンスのステータスコードの件数を200と404に分けて一度に集計 とします。
そして集計結果はQuickSightの分析機能でグラフデータとして可視化します。
少し複雑な条件ですが、 Athenaのクエリは不要 です。
その③ 集計し、可視化したい
QuickSight アカウントの作成設定
こちらの手順は割愛させていただきます。
以下のブログのアカウント作成手順などを参考に設定してください。
QuickSightアカウントの作成
QuickSight データセット作成
QuickSight S3のマニフェストファイルの作成
集計に必要なS3のデータセットを作成するためにJSON マニフェストファイルを準備します。
どのS3バケットのデータを参照するか、という情報をこのファイルに記述することによって設定します。
Amazon S3 のマニフェストファイルでサポートされている形式 - Amazon QuickSight
ローカルファイルなどへ任意のファイル名で書き込んでおきます。
{
"fileLocations": [
{
"URIs": [
"s3://【バケット名】/【オブジェクト名】"
]
}
],
"globalUploadSettings": {
"format": "CSV",
"delimiter": " ",
"containsHeader": "false"
}
}
これより先はQuickSightのコンソール画面で操作します。
データセットの作成
データセット > 新しいデータセット クリック

S3 クリック

新規 S3 データソース
- データソース名
任意 - マニフェストファイル のアップロード
アップロード選択 - JSON マニフェストファイルをアップロード
ローカルへ作成したJSON マニフェストファイルをアップロード

接続 クリック
データセット作成の完了
データの編集/プレビュー クリック

データのプレビュー
データを確認します。
Column-7 が今回の集計対象のHTTPレスポンスのステータスコードです。
可視化する
公開して視覚化 をクリック

culumn-7 の … をクリック

ディメンションに変換 をクリック

culumn-7 をクリック

可視化されたグラフの表示
右隣のフィールドへグラフが表示されます。
縦軸 が HTTPレスポンスのステータスコード
横軸 が ステータスコードごとのカウントです。
数値だけではなく、視覚的に集計結果を認識できます。
ちなみに
初期選択されるビジュアルタイプはAutoGraph としていい感じに 水平棒グラフ というグラフで表示されるようです。
AutoGraph

水平棒グラフ

ビジュアルタイプを選択するだけで他のビジュアルで可視化させることができます。
ドーナツグラフ

WordCloud

S3 Select/Athenaとは違い、QuickSightではPDFとして可視化したデータをダウンロードできます。
エクスポート > PDFとしてダウンロード クリック

ダウンロードされたPDF(円グラフ)

終わりに
以上、用途別にS3のログを集計する方法を3回に分けてご紹介しました。
まずはS3 SelectやAthenaで簡単なデータを集計することから初めて、ビジネスの成長や必要に応じてQuickSightによる可視化を検討するのが良いと思います。
それでは、良いお年を。