はじめに
Metabaseはオープンソースのデータ可視化ツールです。SQLの実行結果をきれいなグラフにしてくれます。私はデータベースのパフォーマンス評価に使っています。ただし、標準ではDb2をサポートしていないので工夫をする必要があります。
データベースのパフォーマンス情報を取得するSQLは以下の記事に記載しています。
Db2:性能評価にSQL平均応答時間を用いる
内容
話すこと
- MetabaseをDb2で使えるようにすること
話さないこと
- Metabaseの概要
- Metabaseのhello,world的な使い方
- Docker Desktopの使い方
環境
ローカルPCのDocker上でMetabaseをインストールし、リモートにあるDb2サーバーに接続します。
- Windows 10
- Docker Desktop 4.2
- IBM Db2 V11.5 Linux
インストール
Docker Desktop
WSL2環境でDocker Desktopを動かします。公式からダウンロードしてセットアップしてください。
Docker Compose
設定ファイル
dockerのデフォルトフォルダーにdocker-compose.ymlを配置、以下のように編集します。
docker-compose.yml
version: "3"
services:
metabase:
image: metabase/metabase:latest
container_name: metabase
restart: unless-stopped
environment:
- JAVA_TOOL_OPTIONS=-Xmx2g
- JAVA_TIMEZONE=Asia/Tokyo
ports:
- "3000:3000"
volumes:
- ./metabase/metabase.db:/metabase.db:cached
- ./metabase/plugins/db2.metabase-driver.jar:/plugins/db2.metabase-driver.jar
Db2ドライバー
- db2.metabase-driver.jarをダウンロード(https://github.com/alisonrafael/metabase-db2-driver)
- dockerデフォルトフォルダーにmetabase/pluginsという名前でフォルダーを作成
- jarファイルを作成したフォルダーに配置
コンテナ起動
デフォルトフォルダーから以下のコマンドで起動します。
起動コマンド
docker-compose up -d
起動が完了したかは、tailコマンドで確認します。
tailコマンド
docker-compose logs -f --tail=30 metabase
Metabaseの設定
データソースの追加
- http://localhost:3000/ にアクセスして、Metabaseにログオン
- 設定→管理者→データベースからデータベースを追加
- データベースのタイプをDb2にして、接続情報を登録
コレクションの作成
おわりに
コレクションを保管しておくと、選ぶだけでSQLを実行、グラフにしてくれます。無料でここまでできるのはうれしい限りです。