エージェントのインストール
WhaTapデータベースモニタリングサービスを使用するための基本的なインストール方法について説明します。
WhaTapモニタリングサービスを使用するには、会員登録後にプロジェクトを作成し、対象サーバーにエージェントをインストールする必要があります。会員登録に関する詳細については、次の文書を参照してください。
次の動画ガイドを参照してください。
プロジェクト作成
エージェントをインストールする前にプロジェクトを作成してください。
-
WhaTapモニタリングサービスに移動し、ログインします。
-
プロジェクトを作成するには、左のサイドメニューからプロジェクト全体 > + Projectボタンを選択します。
-
商品選択 画面でプロジェクトにインストールする製品を選択してください。
-
プロジェクト名、データサーバーリージョン、プロジェクトタイムゾーン項目を順番に設定します。
-
通知言語の設定で、警告通知メッセージの言語を選択します。
-
すべての設定を完了した後は プロジェクトを作成する ボタンを選択します。
-
データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。
-
プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。
-
複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。
-
組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。
構成図の確認
DBXエージェントは、別のサーバーにインストールするか、DBサーバーにインストールできます。 インストールする方法を選択し、構成とファイアウォールを確認します。
別途サーバーにインストール | DBサーバーに一緒にインストール |
---|---|
アカウント生成
データベースモニタリングをするために必要な権限を持つアカウントを作成します。root(admin) アカウントでログインしてアカウントを作成してください。
-
権限を持つアカウントがある場合は、このステップを省略して次の段階に移ります。
-
サンプルコードの
DB_User
は、DBのユーザーアカウント名です。ユーザーが利用するユーザーアカウント名に変更してください。
- コード例の
DB_Password
には、ユーザーパスワードを入力します。
- MySQL
- MariaDB
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;
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を使用する場合
below MariaDB 10.5.1grant replication client, replication slave on *.* to DB_User;
MariaDB 10.5.2 ~ 10.5.8grant replication master admin, replication slave admin, binlog monitor on *.* to DB_User;
MariaDB 10.5.9 or latergrant replication master admin, replica monitor, binlog monitor on *.* to DB_User;
ノートAWS RDS MariaDBの場合、Replication情報照会は10.5バージョン未満までサポートします。
-
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、プラン照会機能を対応しません。 |
replication | grant 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_waits | MySQL 8バージョンから |
performance_schema.data_locks | ||
performance_schema.threads | - | |
performance_schema.metadata_locks | MariaDB 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です。
インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。
プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。
DBXエージェントダウンロード
DBXエージェントファイルをダウンロードします。 次の2つの方法を利用します。
-
wget
コマンドを使用してダウンロードできます。BASHwget -O whatap.agent.database.tar.gz "https://service.whatap.io/download/dbx_agent?type=mysql&format=tar.gz"
-
コマンドでダウンロードできない場合は、WhaTapモニタリングサービス画面でダウンロードボタンを選択します。
DBXエージェントファイルをダウンロードして圧縮を解凍してください。
tar -zxvf whatap.agent.database.tar.gz
セキュリティ設定によりtar形式のファイルをダウンロードできないユーザーのためにZIP形式のファイルも一緒に提供します。 インストール画面で.zip ダウンロードボタンを選択します。
DBXエージェントの設定
エージェントのインストール画面のガイドに従って、エージェントの設定を進めます。 画面に各項目ごとに必要な情報を入力すると、設定内容とコマンドが自動的に完成されます。
DBXエージェントの構成ファイルでsetup.shファイルを実行すると、エージェントの設定が簡単に行われます。 詳細については、次の文書を参照してください。
whatap.conf設定
圧縮を解除したフォルダに移動し、whatap.confファイルを確認します。 whatap.conf ファイルに、プロジェクトのアクセスキー情報、WhaTapサーバー情報、DB接続情報を入力します。
基本設定
license={AccessKey}
whatap.server.host=13.124.11.223/13.209.172.35 # WhaTap server information
dbms=mysql
db=mysql
db_ip={DB_Server_IP}
db_port={DB_Server_Port}
SSLを使用する場合
connect_option=?useSSL=true&verifyServerCertificate=false
JDBCドライバ接続時、serverTimeZone設定が必要な場合
JDBCドライバ8.xバージョン以降などを利用する場合は、アクセスURLにserverTimezone
設定が必要になる場合があります。whatap.confファイルに次のオプションを設定します。
connect_option=?serverTimezone=SERVER_TIMEZONE
# connect_option=?serverTimezone=UTC
JDBCダウンロード
圧縮ファイルを解除したDBXエージェント経路にデータベースサーバーのオペレーションシステムとバージョンに合うJDBCドライバーをダウンロードします。 /圧縮を解凍したフォルダ/jdbc
Mysql & MariaDB 5.5バージョン以降
/解凍されたフォルダ/jdbc/README.mdファイルで各データベースのJDBCドライバのインストールパスを確認することができます。
データベースユーザーファイルの生成
データベース接続用に暗号化されたUIDを作成します。usernameとpasswordを入力し、シェルスクリプト(またはバッチファイル)を実行してください。
- Linux
- Windows
./uid.sh {DB_USER} {DB_PASSWORD}
-
最初1回の設定で暗号化されたUIDを使用してモニタリング対象データベースサーバーからデータを収集します。
-
DBユーザーファイルを生成するには、プロジェクトアクセスキーをwhatap.confファイルに入力する必要があります。アクセスキーの確認
-
Azure Database環境の場合、
DB_USER
をDB_USER@DB_nameの形式で入力してください。 -
DB_USER
またはDB_PASSWORD
に特殊文字が含まれている場合、特殊文字の前にEscape Character(\)を入力してください。Example./uid.sh whatap whatap\!pwd
# 特殊文字が2つ以上の場合、それぞれエスケープ文字を追加
./uid.sh whatap whatap\!\@pwd
uid.bat "DB_USER" "DB_PASSWORD"
-
最初1回の設定で暗号化されたUIDを使用してモニタリング対象データベースサーバーからデータを収集します。
-
DBユーザーファイルを生成するには、プロジェクトアクセスキーをwhatap.confファイルに入力する必要があります。アクセスキーの確認
-
Azure Database環境の場合、
DB_USER
をDB_USER@DB_nameの形式で入力してください。 -
DB_USER
またはDB_PASSWORD
に特殊文字が含まれている場合、特殊文字の前にEscape Character(\)を入力してください。Exampleuid.bat whatap whatap\!pwd
# 特殊文字が2つ以上の場合、それぞれエスケープ文字を追加
uid.bat whatap whatap\!\@pwd
モニタリングの開始
エージェントをインストールしたパスからシェルスクリプト(またはバッチファイル)を実行してください。
- Linux
- Windows
./start.sh
デーモンのように使用する場合、次のコマンドを実行してください。ただし、nohupを設置した環境のみで動作します。
./startd.sh
start.bat
Windowsシステムの起動時、自動的にエージェントを起動するようにサービスに登録できます。次のコマンドを参考にしてください。
# サービス登録時
install_WindowsService.bat create WhatapDBXAgent
# サービス削除時
install_WindowsService.bat delete WhatapDBXAgent
コントロールパネル > Windowsツール > サービス(services.msc)でWhatapDBXAgent サービスを開始または停止できます。使用するWindowsバージョンによってサービス経路は異なる場合があります。
データベースモニタリングのエージェントのインストールが完了しました。次の文書でインストール後、チェックリストを確認してください。
XOSエージェントのインストール及びその他のオプションを適用する
データベースサーバーのリソースをさらにモニタリングする場合は、データベースサーバーに別のXOSエージェントを実行してデータを収集できます。
-
x86アーキテクチャで動作するOS環境にのみ適用されます。
-
追加エージェントのインストールは、必須ではなく選択事項です。
- XOSエージェント設定オプションの詳細については、次の文書を参照してください。
- XOS
- RDS : AWS CloudWatch
-
DBXエージェントがインストールされたパスのwhatap.confファイルに次のオプションを設定します。
whatap.confxos=1
xos_port=3002 -
xosフォルダー(
/解凍されたフォルダ/xos/
)をデータベースサーバーに移動してください。 -
データベースサーバーに移動し、xosパスのxos.confファイルに次のオプションを設定します。
xos.confdbx_ip={DB_Agent_IP}
dbx_port=3002 # default 3002
cpu_limit=0
mem_limit=10240TipsエージェントインストールメニューのDB Agent IP、DB Agent Port項目にDB情報を入力すると、エージェントオプションを自動生成できます。
-
XOSエージェントの実行権限を付与します。
chmod +x ./whatap.agent.xos*
-
XOSエージェントを実行します。
./start.sh
-
DBXエージェントでモニタリングしたデータを転送するために
dbx_port
に設定したポート(default 3002)が開放されている必要があります。 (UDP Outbound) -
XOSエージェントをバックグラウンドで実行するには、_./startd.sh_ファイルを実行します。
エージェントサーバーにあるwhatap.confファイルに次のオプションを設定してください。 CloudWatch特性上、60秒(cloud_watch_interval
)ごとの呼び出しをお勧めします。
aws_region={AWS_RDS_Region_Name}
aws_arn=arn:aws:iam::999999999999:role/UpdateApp
cloud_watch=on
cloud_watch_instance=RDS_DB_Instance_Name
cloud_watch_interval=60
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
AWS CloudWatch指標照会のために次のコマンドを実行します。 DB_Instance_Name
項目を変更してコマンドを実行します。
aws cloudwatch list-metrics --namespace AWS/RDS --dimensions Name=DBInstanceIdentifier,Value={DB_Instance_Name}
次の段階
-
インストールの点検
プロジェクトの作成やエージェントのインストール、基本エージェントのオプションまですべて適用した場合は、次の文書で点検事項を確認します。
-
インストール問題の解決
エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 詳細については、次の文書を参照してください。
-
エージェント設定
エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 詳細については、次の文書を参照してください。
データベースのサーバーリソースを追加で監視するには、追加のエージェント(XOS)に追加オプションを設定します。 詳細については、次の文書を参照してください。
-
モニタリングの開始
すべての設定を完了したら、エージェントがデータベースサーバーのメトリクスに対する情報収集を開始します。 まず、インスタンスリストメニューでモニタリングデータが収集されていることを確認します。 インスタンスリストの詳細については、次の文書を参照してください。