本文へスキップ

Dockerインストール

Dockerコンテナを利用したWhaTapデータベースモニタリングエージェントのインストール方法をご案内します。

Tips

インストール方法の選択

ノート

サポートされているデータベース

MySQL、PostgreSQL、SQL Server

WhaTapモニタリングサービスを利用するには、サインアップ後にプロジェクトを作成し、モニタリング対象のサーバーにエージェントをインストールする必要があります。サインアップの詳細については、次のドキュメントを参照してください。

プロジェクト作成

エージェントをインストールする前にプロジェクトを作成してください。

  1. WhaTapモニタリングサービスにログインしてください。

  2. 左側のサイドメニューで プロジェクト全体 > + Project ボタンをクリックします。

  3. 商品選択 画面でインストールする製品を選択します。

  4. 以下の項目を入力または選択します。

    • プロジェクト名:プロジェクト名を入力します。

    • データサーバーリージョン:データサーバーの設置されているリージョンを選択します。リージョンとは、クラウドサービスを提供するデータセンターの集合体です。選択したリージョンにユーザーデータが保存されます。

    • プロジェクトタイムゾーン:アラートおよびレポート生成時の基準となる時刻を設定します。

    • 通知言語の設定:アラート通知メッセージの言語を設定します。(韓国語、英語に対応)

    • プロジェクトグループ:複数のプロジェクトをグループとしてまとめて管理できます。所属するグループがある場合は選択してください。

    • プロジェクト説明:プロジェクトに関する補足説明や詳細情報を入力します。

  5. すべての設定が完了したら、プロジェクトを作成する ボタンをクリックします。

ノート

組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。

グループに関する詳細は、次のドキュメントを参照してください。

構成図の確認

DBXエージェントは、別のサーバーにインストールするか、DBサーバーにインストールできます。 インストールする方法を選択し、構成とファイアウォールを確認します。

別途サーバーにインストールDBサーバーに直接インストール

アカウントの作成

ノート
  • 必要な権限を持つアカウントがすでにある場合は、このステップをスキップして次のステップに進んでください。

  • サンプルコードのDB_Userは、データベースユーザーアカウント名です。使用するユーザーアカウント名に変更してください。

  • サンプルコードのDB_Passwordには、ユーザーパスワードを入力してください。

  • 適切な権限がないアカウントは、正常にモニタリングされない場合があります。

  • レプリケーション構造の場合、アカウント作成と権限付与はマスターDBでのみ実行する必要があります。(スレーブDBで実行すると、レプリケーションが破損する可能性があります。)

create user DB_User identified by 'DB_PASSWORD'; # パスワードを入力します。
grant process on *.* to DB_User;
grant select on performance_schema.* to DB_User;
grant show databases on *.* to DB_User;

機能と使用環境に応じて追加権限を付与してください。

  • すべてのテーブル情報を収集する場合

    grant select on *.* to DB_User;
  • 特定のDBのテーブルのみモニタリングする場合

    grant select on {DB_NAME}.* to DB_User;
  • Replicationを使用する場合

    grant replication client on *.* to DB_User;
    grant replication slave on *.* to DB_User;
  • Kill sessionを使用する場合

    grant super on *.* to DB_User;
  • AWS RDS環境でkill session機能を使用する場合

    grant execute on procedure mysql.rds_kill to DB_User;
権限による対応機能を確認する

基本権限外の権限は、ユーザーの環境によって付与する必要はありません。ただし、一部の機能が動作しないことがあります。

権限commandメニューと機能詳細履歴
基本権限grant process on *.* to whatap;アクティブセッションの収集 / ロックツリー / デッドロック他のアカウントに属するスレッド情報を表示する権限、show engine実行
grant select on performance_schema.* to whatap;アクティブセッションの収集 / ロックツリー / MYSQLのSQL統計個別権限の付与時、次の表の内容を参照
grant show databases on *.* to whatap;インスタンスリストなどデータベース名の表示
詳細権限grant select on *.* to whatap;
または
grant select on {DB_NAME}.{TABLE_NAME} to whatap;
DBサイズ / テーブルサイズ増減 / Object detail / プランの照会MySQLは、当該テーブルに対するSELECT権限がないと、DBサイズ、Object detail、プラン照会機能を対応しません。
replicationgrant replication client on *.* to whatap;インスタンスリストS表示 / replication情報の収集SHOW MASTER STATUS, SHOW SLAVE STATUS
grant replication slave on *.* to whatap;インスタンスリストM表示 / replication情報の収集SHOW SLAVE HOSTS
セッション中止grant super on *.* to whatap;アクティブセッションの一覧でのセッション中止機能別のアカウントに属するスレッドの終了
grant execute on procedure mysql.rds_kill to DB_User;AWS RDSの場合のセッション中止機能-

performance_schema.*の代わりに、次の権限を個別に付与しても構いません。

権限command備考
アクティブセッション / ロックツリーperformance_schema.data_lock_waitsMySQL 8バージョンから
performance_schema.data_locks
performance_schema.threads-
performance_schema.metadata_locksMariaDB 10.5バージョンから
Wait event情報performance_schema.events_waits_summary_global_by_event_name-
SQL統計情報performance_schema.events_statements_summary_by_digest-
Waitメトリクス名performance_schema.setup_instruments-

アクセスキーの確認

アクセスキーは、WhaTapサービスを有効にするための固有IDです。

インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。

ノート

プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択します。

エージェントの実行

次のコマンドを実行して、WhaTapデータベースモニタリングエージェントをDockerコンテナとして起動します。

docker run -d --name whatap-db-agent \
-e WHATAP_CONF="
license=x6051ro88nrc9-x4hmr76jvvlfnq-z52cnv1dfa8n5c
whatap.server.host=13.124.11.223/13.209.172.35
dbms=mysql
db_ip=10.0.0.1
db_port=3306
connect_option=?useSSL=true&verifyServerCertificate=false&serverTimezone=SERVER_TIMEZONE" \
-e DB_USERNAME=mydbuser \
-e DB_PASSWORD=mypassword \
whatap/db-agent:latest

設定項目

必須設定

  • license: プロジェクトアクセスキー
  • whatap.server.host: WhaTap収集サーバーIP (13.124.11.223/13.209.172.35)
  • dbms: データベースタイプ (mysql, postgresql, mssql)
  • db_ip: データベースサーバーIPアドレス
  • db_port: データベースサーバーポート番号
  • DB_USERNAME: データベースアカウントID
  • DB_PASSWORD: データベースアカウントパスワード

選択設定

  • connect_option: データベース接続オプション
    • useSSL=true&verifyServerCertificate=false: SSLを使用してデータベースに接続する場合
    • serverTimezone=SERVER_TIMEZONE: JDBCドライバー接続時にサーバータイムゾーン設定が必要な場合
ノート

上記コマンドの設定値を実際の環境に合わせて修正してください。

エージェント動作確認

次のコマンドでエージェントが正常に動作しているか確認します。

docker logs -f whatap-db-agent

エージェントの削除

次のコマンドを実行して、WhaTapデータベースモニタリングエージェントコンテナを停止し、削除します。

docker stop whatap-db-agent && docker rm whatap-db-agent