本文へスキップ

手動インストール

WhaTapデータベースモニタリングサービスを使用するための基本的なインストール方法について説明します。

構成図の確認​

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

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

アカウントの作成​

データベースモニタリングに必要な権限を持つアカウントを作成してください。root(admin)アカウントでログインしてアカウントを作成してください。

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

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

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

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

  • PostgreSQL 10バージョン以降

    SQL
    create user DB_User with password 'DB Password'; 
    grant pg_monitor to DB_User;
  • PostgreSQL 10バージョン未満

    SQL
    create user DB_User with password 'DB Password';
    alter user DB_User with superuser;
  • Kill sessionを使用する場合 (バージョン10以上)

    データベースモニタリングでは、進行中のセッションを終了できるKill Session機能を提供します。この機能を使用するには、次のように権限を設定してください。

    SQL
    grant pg_signal_backend to DB_User;
  • テーブルサイズを収集する場合 (統計/レポート > DBサイズ > テーブルサイズ(トップ50))

    SQL
    grant usage on schema {schema_name} to DB_User;
    ノート

    個別のDBごとにコマンドを実行する必要があります。

  • オブジェクト情報を照会する場合(分析 > Topオブジェクト)

    SQL
    grant select on all tables in schema {schema_name} to DB_User;
権限による対応機能を確認する

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

権限commandメニューと機能詳細履歴
基本権限grant pg_monitor to whatap;インスタンスモニタリング / マルチインスタンス / SQL統計grant pg_read_all_stats,pg_read_all_settings to DB_User;と同一
詳細権限grant usage on schema {schema_name} to whatap;DBサイズ / テーブルサイズ(トップ50)当該DBのすべてのスキーマに対して権限が必要
grant select on all tables in schema {schema_name} to whatap;テーブルレイアウトを照会-
grant pg_read_all_settings to whatap;パラメータ照会特定のパラメータ値が見えないことがある
セッション中止grant pg_signal_backend to whatap;アクティブセッション > セッション中止PostgreSQL 9.6バージョン以下はsuperuser権限が必要

IAM認証で接続する​

IAM認証の設定方法を見る

AWS RDS・Aurora環境では、DBパスワードの代わりにAWS IAM認証トークンで接続できます。PostgreSQL、MySQL、MariaDBで使用でき、Oracle、SQL Server、DB2はサポートしません。

パスワード方式を使用する場合は、このステップを飛ばしてください。

ステップ1. 接続アカウントの準備​

IAM認証で接続するアカウントを作成し、rds_iamロールを付与します。

SQL
CREATE USER DB_User WITH LOGIN;
GRANT rds_iam TO DB_User;
GRANT pg_monitor TO DB_User;

ステップ2. whatap.confの設定​

whatap.confファイルに次のオプションを追加します。

whatap.conf
aws_iam_auth=true
aws_region=ap-northeast-2
db_ssl=true
db_user={db_user} # ステップ1で作成したアカウント
connect_option=?sslmode=require # PostgreSQLのみ必須

AssumeRole方式を使用する場合は、aws_arnオプションを追加します。EC2ロール方式ではオプションを追加しません。

whatap.conf
aws_arn=arn:aws:iam::{ACCOUNT}:role/{ROLE}

ステップ3. AWSの事前設定​

IAM認証の有効化

RDSコンソールで対象のDBを選択し、変更 > データベース認証メニューでパスワードとIAMデータベース認証オプションを選択し、すぐに適用を選択してから保存ボタンをクリックします。

IAMポリシーの作成

IAMコンソールでポリシー > ポリシーの作成 > JSONタブを選択し、次のポリシーを入力します。{ }の部分は使用する値に置き換えてください。

RDS
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["rds-db:connect"],
"Resource": [
"arn:aws:rds-db:{REGION}:{ACCOUNT}:dbuser:db-{RESOURCE_ID}/{DB_USER}"
]
}
]
}
Aurora
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["rds-db:connect"],
"Resource": [
"arn:aws:rds-db:{REGION}:{ACCOUNT}:dbuser:cluster-{RESOURCE_ID}/{DB_USER}"
]
}
]
}

複数のインスタンスを一度に許可するには、ワイルドカードを使用します。

Resource
"Resource": [
"arn:aws:rds-db:*:{ACCOUNT}:dbuser:db-*/{DB_USER}",
"arn:aws:rds-db:*:{ACCOUNT}:dbuser:cluster-*/{DB_USER}"
]

ステップ4. ロールの設定​

前で作成したポリシーをロールに付与し、エージェントに接続します。本番環境ではEC2ロール方式をおすすめします。アクセスキーを保存する必要がありません。

  1. 信頼されたサービスをEC2に指定してIAMロールを作成します。

  2. 前で作成したポリシーをロールに付与します。

  3. エージェントを実行するEC2インスタンスにロールを接続します。詳細な方法は、AWSドキュメントを参照してください。

DBXエージェントダウンロード​

DBXエージェントファイルをダウンロードします。 次の2つの方法を利用します。

  • wgetコマンドを使用してダウンロードできます。

    BASH
    wget -O whatap.agent.database.tar.gz "https://service.whatap.io/download/dbx_agent?type=postgresql&format=tar.gz"
  • コマンドでダウンロードできない場合は、WhaTapモニタリングサービス画面でダウンロードボタンを選択します。

DBXエージェントファイルをダウンロードして圧縮を解凍してください。

BASH
tar -zxvf whatap.agent.database.tar.gz
ノート

セキュリティ設定によりTAR形式のファイルをダウンロードできないユーザーのためにZIP形式のファイルも一緒に提供します。 インストール画面で.zip ダウンロードボタンを選択します。

DBXエージェントの設定​

エージェントのインストール画面のガイドに従って、エージェントの設定を進めます。 画面に各項目ごとに必要な情報を入力すると、設定内容とコマンドが自動的に完成されます。

Tips

DBXエージェントの構成ファイルでsetup.shファイルを実行すると、エージェントの設定が簡単に行われます。 詳細については、次の文書を参照してください。

whatap.conf設定​

圧縮を解除したフォルダに移動し、whatap.confファイルを確認します。 whatap.conf ファイルに、プロジェクトのアクセスキー情報、WhaTapサーバー情報、DB接続情報を入力します。

whatap.conf
license={AccessKey}
whatap.server.host=13.124.11.223/13.209.172.35 # WhaTap server information
dbms=postgresql
db=postgres
db_ip={DB_Server_IP}
db_port={DB_Server_Port}

JDBCダウンロード​

圧縮ファイルを解凍したパスのjdbcフォルダーにデータベースサーバーのオペレーションシステムとバージョンに合うJDBCドライバーをダウンロードします。 /圧縮を解凍したフォルダ/jdbc

情報

PostgreSQL 9.2バージョン以降:https://jdbc.postgresql.org/download

ノート

/解凍されたフォルダ/jdbc/README.mdファイルで各データベースのJDBCドライバのインストールパスを確認することができます。

DBユーザーの作成とパスワードの変更​

データベース接続用に暗号化されたUIDを作成します。usernameとpasswordを入力し、シェルスクリプト(またはバッチファイル)を実行してください。

Tips

パスワードを変更する場合も、変更するパスワードを入力して同じ方法で進めてください。

BASH
./uid.sh {DB_USER} {DB_PASSWORD}
ノート
  • 一度の設定で暗号化された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

デフォルトプランを照会する​

デフォルトプランユーザーファイル作成時、エージェントが事前定義されたDB情報を使用してプランを自動的に照会するように設定できます。

  1. エージェント設定(whatap.conf)ファイルにplan_dbオプションを追加し、DB名を入力します。

    whatap.conf
    plan_db=(dbname)
  2. DB設定後planuid.shスクリプトを使用してユーザーとパスワードを設定します。

    ./planuid.sh user pwd
    ノート

    ユーザー(user)とパスワード(pwd)に特殊文字が含まれている場合、各特殊文字の前にバックスラッシュ(\)を追加します。

    例、 user$example → user\$example

モニタリングの開始​

エージェントをインストールしたパスからシェルスクリプト(またはバッチファイル)を実行してください。

./start.sh

デーモンのように使用する場合、次のコマンドを実行してください。ただし、nohupをインストールした環境のみで動作します。

./startd.sh

データベースモニタリングのエージェントのインストールが完了しました。次の文書でインストール後、チェックリストを確認してください。

XOSエージェントのインストール及びその他のオプションを適用する​

データベースサーバーのリソースをさらにモニタリングする場合は、データベースサーバーに別のXOSエージェントを実行してデータを収集できます。

ノート
  • x86アーキテクチャで動作するOS環境にのみ適用されます。

  • 追加エージェントのインストールは、必須ではなく選択事項です。

  • XOSエージェント設定オプションの詳細については、次の文書を参照してください。
  • クラウドサービスが提供するモニタリングメトリクスを、データベースプロジェクトのダッシュボードで追加で収集してモニタリングするには、次の文書を参照してください。

whatap.confファイルを設定する​

DBXエージェントがインストールされたパスのwhatap.confファイルに次のオプションを設定します。

whatap.conf
xos=1
xos_port=3002

xosフォルダー(/解凍されたフォルダ/xos/)をデータベースサーバーに移動してください。

xos.confファイルを設定する​

データベースサーバーに移動し、xosパスのxos.confファイルに次のオプションを設定します。

xos.conf
dbx_ip={DB_Agent_IP}
dbx_port=3002 # default 3002
cpu_limit=0
mem_limit=10240
Tips

エージェントインストールメニューのDB Agent IP、DB Agent Port項目にDB情報を入力すると、エージェントオプションを自動生成できます。

XOSエージェントを実行する​

XOSエージェントを実行します。

./start.sh
ノート
  • DBXエージェントでモニタリングしたデータを転送するためにdbx_portに設定したポート(default 3002)が開いている必要があります。 (UDP Outbound)

  • XOSエージェントをバックグラウンドで実行するには*./startd.sh*ファイルを実行します。

次のステップ​

  • インストールの点検

    プロジェクトの作成やエージェントのインストール、基本エージェントのオプションまですべて適用した場合は、次の文書で点検事項を確認します。

  • インストール問題の解決

    エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 詳細については、次の文書を参照してください。

  • エージェント設定

    エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 詳細については、次の文書を参照してください。

    データベースのサーバーリソースを追加で監視するには、追加のエージェント(XOS)に追加オプションを設定します。 詳細については、次の文書を参照してください。

  • クラウド設定

    クラウドサービスが提供するモニタリングメトリクスを、データベースプロジェクトのダッシュボードで追加で収集してモニタリングするには、次の文書を参照してください。

  • モニタリングの開始

    すべての設定を完了したら、エージェントがデータベースサーバーのメトリクスに対する情報収集を開始します。 まず、インスタンスリストメニューでモニタリングデータが収集されていることを確認します。 インスタンスリストの詳細については、次の文書を参照してください。