Metabaseを使用したアクセス解析ツール
概要
JAXA Earth Database for API では、COG/STACデータはクラウドストレージに保存されており、現在は、Wasabiがメインのクラウドストレージとして利用されています。ユーザがデータベースにアクセスすると、テキストベースのアクセスログが生成されます。私たちは、COGのユーザーアクセスを分析し、利用傾向を調査するためのダッシュボード表示ツールを開発しています。このツールは、仮想環境のためのDocker、ログ解析のためのPython、データベースのためのPostgreSQL、BI(Bussiness Intelligence)ツールのためのMetabaseで構成されています。このページのツールを使用することで、ユーザーは自分のデータベースのアクセス分析を行うことができます。
アクセス解析ツールの使い方
環境を構成し、ログをPostgreSQLデータベースに変換する
Dockerをインストールします。次に、以下のツールをダウンロードして解凍してください。
ログを保存するフォルダを作成します。デフォルトでは、「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"で必要に応じて更新されます。データベースには以下のテーブルが格納されています。

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

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