Metabaseを使用したアクセス解析ツール

概要

JAXA Earth Database for API では、COG/STACデータはクラウドストレージに保存されており、現在は、Wasabiがメインのクラウドストレージとして利用されています。ユーザがデータベースにアクセスすると、テキストベースのアクセスログが生成されます。私たちは、COGのユーザーアクセスを分析し、利用傾向を調査するためのダッシュボード表示ツールを開発しています。このツールは、仮想環境のためのDocker、ログ解析のためのPython、データベースのためのPostgreSQL、BI(Bussiness Intelligence)ツールのためのMetabaseで構成されています。このページのツールを使用することで、ユーザーは自分のデータベースのアクセス分析を行うことができます。

アクセス解析ツールの使い方

環境を構成し、ログをPostgreSQLデータベースに変換する

Dockerをインストールします。次に、以下のツールをダウンロードして解凍してください。

Access_Analysis_Tool.zip

ログを保存するフォルダを作成します。デフォルトでは、「C:/wasabi_log」がdocker-compose.yml内のボリュームとして記述されています。VS Codeのリモートエクスプローラーなどの開発環境を使用して、Pythonのリモートコンテナをアクティブにします。set_secret.pyにあなたのIDとシークレットを設定します。コンテナ内でPythonスクリプト(main.py)を実行してログを取得します。ここまで準備することで、WASABIのログはPostgreSQLに登録されます。

注釈

Wasabiから取得したログはクラウドから削除され、ローカルに保存されるため、生のログの取り扱いには注意してください。

Metabaseの構成とダッシュボードの作成

ブラウザで以下のアドレスにアクセスし、Metabaseを起動してください。

localhost:443

国、Eメール、名前などを入力します。次に、データベースとしてPostgreSQLを選択し、以下の情報を入力します。

  • Host: db

  • Port: 5432

  • Database name: postgres

  • Username: postgres

  • Password: metabase

これでMetabaseからPostgreSQLにアクセスできるようになります。データベースは、「Administration」 -> 「Database」の"Synchronize with database schema now"と"Rescan field values now"で必要に応じて更新されます。データベースには以下のテーブルが格納されています。

_images/table_list.png

データは主に"Je Pds 20XX"に格納されています。Metabaseの詳しい使い方は公式マニュアルを参照し、お好みのダッシュボードを作成してください。下図はCOGコレクションのダウンロード数ランキングと時系列データを整理したダッシュボードの例です。

_images/dashboard_all.png

下図は、1つのCOGコレクションに焦点を当て、COG levelに応じてどの分野のデータの需要が高いかを可視化したダッシュボードです。

_images/dashboard_aw3d.png