コンテンツにスキップ

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

概要

JAXA Earth Database for API では、COG/STACデータがクラウドストレージ(現在はWasabi)に保存されています。 ユーザーがデータベースにアクセスすると、テキスト形式のアクセスログが生成されます。

このツールは、COGデータへのユーザーアクセスを解析し、利用動向を調査するためのダッシュボード表示ツールです。

コンポーネント:

コンポーネント 役割
Docker 仮想環境
Python ログ解析
PostgreSQL データベース
Metabase BI(ビジネスインテリジェンス)ツール

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

環境設定とログのPostgreSQLデータベースへの変換

  1. 環境に Docker をインストール します。
  2. ツールを ダウンロードして解凍 します。

    Access_Analysis_Tool.zip

  3. ログ保存用フォルダを作成します。デフォルトでは C:/wasabi_logdocker-compose.yml でボリュームとして設定されています — 必要に応じて変更してください。

  4. Dockerfile があるディレクトリに移動します。
  5. 以下を実行します:
docker-compose up -d --build
  1. VS Code Remote Explorer などの開発環境を使って Python リモートコンテナを有効化 します。
  2. set_secret.py にIDとSecretを設定します。
  3. コンテナ内で main.py を実行してログを取得します。

完了すると、WasabiのログがPostgreSQLに登録されます。

Warning

Wasabiから取得したログはクラウドから削除され、ローカルに保存されます。生のログは慎重に取り扱ってください。

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

  1. ブラウザで以下のアドレスにアクセスして Metabase を起動します:

    localhost:443
    
  2. 国、メールアドレス、名前などを入力します。

  3. データベースとして PostgreSQL を選択し、以下を入力します:

    フィールド
    ホスト db
    ポート 5432
    データベース名 postgres
    ユーザー名 postgres
    パスワード metabase
  4. MetabaseからPostgreSQLにアクセスできるようになります。

データベースを更新するには、管理 → データベース → データベーススキーマと今すぐ同期フィールド値を今すぐ再スキャン を使用します。

メインデータは Je Pds 20XX テーブルに格納されています。

データベーステーブル一覧

ダッシュボード例

全コレクションダッシュボード

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

全コレクションダッシュボード

単一コレクションダッシュボード

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

単一コレクションダッシュボード

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