Metabase を使ったアクセス解析ツール
概要
JAXA Earth Database for API では、COG/STACデータがクラウドストレージ(現在はWasabi)に保存されています。 ユーザーがデータベースにアクセスすると、テキスト形式のアクセスログが生成されます。
このツールは、COGデータへのユーザーアクセスを解析し、利用動向を調査するためのダッシュボード表示ツールです。
コンポーネント:
| コンポーネント | 役割 |
|---|---|
| Docker | 仮想環境 |
| Python | ログ解析 |
| PostgreSQL | データベース |
| Metabase | BI(ビジネスインテリジェンス)ツール |
アクセス解析ツールの使い方
環境設定とログのPostgreSQLデータベースへの変換
- 環境に Docker をインストール します。
-
ツールを ダウンロードして解凍 します。
-
ログ保存用フォルダを作成します。デフォルトでは
C:/wasabi_logがdocker-compose.ymlでボリュームとして設定されています — 必要に応じて変更してください。 Dockerfileがあるディレクトリに移動します。- 以下を実行します:
- VS Code Remote Explorer などの開発環境を使って Python リモートコンテナを有効化 します。
set_secret.pyにIDとSecretを設定します。- コンテナ内で
main.pyを実行してログを取得します。
完了すると、WasabiのログがPostgreSQLに登録されます。
Warning
Wasabiから取得したログはクラウドから削除され、ローカルに保存されます。生のログは慎重に取り扱ってください。
Metabase の設定とダッシュボードの作成
-
ブラウザで以下のアドレスにアクセスして Metabase を起動します:
-
国、メールアドレス、名前などを入力します。
-
データベースとして PostgreSQL を選択し、以下を入力します:
フィールド 値 ホスト dbポート 5432データベース名 postgresユーザー名 postgresパスワード metabase -
MetabaseからPostgreSQLにアクセスできるようになります。
データベースを更新するには、管理 → データベース → データベーススキーマと今すぐ同期 と フィールド値を今すぐ再スキャン を使用します。
メインデータは Je Pds 20XX テーブルに格納されています。

ダッシュボード例
全コレクションダッシュボード
各COGコレクションのダウンロード量ランキングと時系列データを表示するダッシュボードの例です。

単一コレクションダッシュボード
COGレベル別にデータのどの領域が需要が高いかを可視化したダッシュボードです。

Metabase の一般的な使い方については、Metabase公式ドキュメント を参照してください。