本文へスキップ

エージェントのインストール

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

WhaTapデータベースエージェントのダウンロード​

  1. エージェントファイルをダウンロードしてください。次の2つの方法を利用してください。

    • WhaTapモニタリングサービス画面でDownloadボタンをクリックしてダウンロードすることができます。

    • Linux wget方式でダウンロードできます。次のコマンドを使用してください。

      wget -O whatap.agent.database.tar.gz "https://service.whatap.io/download/dbx_agent?type=mongodb&format=tar.gz"
    ノート

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

  2. ダウンロードしたファイルを分析するサーバーにコピーし、解凍してください。(Windows、Linux共通)

    エージェント構成ファイル
    ファイル名説明
    whatap.confデータベースサーバーのデータを収集する収集サーバーのアドレスとサーバーのプロジェクトアクセスキーを入力するファイルです。エージェント設定の詳細については、次の文書を参照してください。
    alert/alert.conf収集するモニタリング項目にしきい値を設定するファイルです。しきい値を超えると通知イベントが発生します。
    scripts/リモートでSQLスクリプトを実行できるスクリプトのディレクトリです。
    ps.shプロセスIDを読み込むスクリプトです。エージェントプロセスを終了する場合は、そのIDを参照します。
    stop.shエージェントプロセスを終了するときに使用するスクリプトです。
    uid.sh (uid.bat)データベースの接続情報を組み合わせて暗号化されたUIDを生成するためのシェルスクリプトファイルです。db.userファイルを作成します。最初に一度だけ設定すると、暗号化されたUIDを通じてモニタリング対象データベースサーバーからデータが収集されます。
    モニタリング用アカウント作成の詳細については、次の文書を参照ください。
    start.sh (start.bat)エージェント実行用のシェルスクリプトファイルです。エージェントを実行すると、データベースサーバーからのモニタリング情報の収集が開始されます。
    startd.sh (startd.bat)エージェント実行用のシェルスクリプトファイルでバックグラウンドで実行できます。
    whatap.agent.dbx-X.Y.Z.jarTracerプログラムは、データベースサーバーの情報を収集し、収集した情報をサーバーに送信するプログラムです。
    jdbcデータベースサーバー接続のために参照するライブラリを収集するディレクトリです。エージェントをデータベースサーバーに接続するためのライブラリを直接ダウンロードし、javaのclasspathオプションにパスを設定して使用します。
    xos/データベースサーバーのプロセス使用量をモニタリングできるオプションのエージェントを含むディレクトリです。
    ⎿ xos.confデータベースサーバーのプロセス使用状況のデータを収集およびデータ転送をするためのエージェントサーバーのアドレスと通信ポートを入力するファイルです。
    * xcub/CUBRIDデータベースのSQLテキスト収集と指標計算を実行する追加のエージェントファイルが含まれているディレクトリです。
    ⎿ * xcub.confCUBRIDデータベースおよび追加のエージェント接続情報を入力するファイルです。
    ノート

    *: xcubパスのファイルは、CUBRIDモニタリングの専用ファイルです。

  1. 解凍したフォルダの中からwhatap.confファイルを確認してください。whatap.confファイルにプロジェクトのアクセスキー情報、WhaTapサーバー情報、DB接続情報を入力します。

    whatap.conf
    license={Access_Key}
    whatap.server.host=13.124.11.223/13.209.172.35 # WhaTap server information

    dbms=mongodb
    db={Database_name} # sid
    db_ip={DB_server_IP_address}
    db_port={DB_server_port}
  2. 次のディレクトリにJDBCドライバーをダウンロードしてください。/圧縮を解凍したフォルダ/jdbc

    データベースサーバーのOSとバージョンに合わせてJDBCドライバをダウンロードします。

    MongoDB JDBC Drivers:https://github.com/mongodb/mongo-jdbc-driver

ノート
  • DB構成によっては、whatap.confファイルの追加設定が必要になる場合があります。詳細については、次の文書を参照してください。

  • DBサーバーのリソースを追加でモニタリングするには、XOSエージェントを使用する必要があります。詳細については、次の文書を参照してください。

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

アカウント生成​

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

ノート
  • 既に存在するアカウントを使用する場合は、DBユーザーファイルの作成に進みます。権限がない場合は、モニタリングを開始できません。

  • コード例でwhatapは、DBユーザーアカウント名です。ユーザーが利用するユーザーアカウント名に変更してください。

  • コード例のDB_Passwordには、ユーザーパスワードを入力します。
db.createUser(
{
user: "whatap",
pwd: "DB_Password",
roles: [
{ "role" : "clusterMonitor", "db" : "admin" },
]
}
)
ノート
  • userとpwd値に特殊文字を含めると、パーセントエンコード(percent encoding)を適用して変換する必要があります。例えば、パスワードがwhatap@#だったらwhatap%40%23に変換して入力する必要があります。詳細は、次のリンクを参照してください。

  • MongoDB環境のアカウント作成の詳細については、次のリンクを参照してください。

IAM認証で接続する​

IAM認証の設定方法を見る

Amazon DocumentDB 5.0以上の環境では、DBパスワードの代わりにAWS IAM認証トークンで接続できます。MongoDBドライバ4.1以上が必要です。エージェントのjdbcフォルダでドライバのバージョンを確認してください。

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

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

mongoshでadmin(マスター)アカウントに接続してから、接続に使用するロールARNを$externalデータベースのユーザーとして登録します。

mongosh
db.getSiblingDB("$external").createUser({
user: "arn:aws:iam::{ACCOUNT}:role/{ROLE}",
roles: [
{ role: "readAnyDatabase", db: "admin" },
{ role: "clusterMonitor", db: "admin" }
]
})

ここで登録するロールは、ステップ4. ロールの設定で作成するロールです。

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

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

whatap.conf
aws_iam_auth=true
aws_region=ap-northeast-2
db_ssl=true

db_userは設定しません。ロールARNで認証します。

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

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

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

IAMポリシーは必要ありません。ステップ4. ロールの設定に進んでください。

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

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

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

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

    DocumentDBはポリシーが必要ないため、このステップは飛ばします。

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

  1. このロールのARNをステップ1の$externalユーザーとして登録します。

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

Tips

userとpasswordを使用しない場合(認証なしでMongoDBに接続可能な場合) DBユーザーファイル生成する手順をスキップできます。

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

Tips

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

./uid.sh {DB_USER} {DB_PASSWORD}
情報
  • 最初に一度設定すると、その後は暗号化されたUIDを通じて監視対象データベースサーバーからデータ収集を行います。
  • DBユーザーファイルを作成するには、プロジェクトアクセスキーがwhatap.confファイルに入力されている必要があります。 アクセスキーの確認

特殊文字を含む場合の処理方法​

MongoDB環境でDB_USERまたはDB_PASSWORDに特殊文字が含まれる場合、次の手順で処理する必要があります。

ステップ1:パーセントエンコーディングの適用(必須)​

MongoDBは特殊文字が含まれる場合、パーセントエンコーディング(Percent Encoding)を先に適用する必要があります。

例

  • 元のパスワード:whatap@#
  • パーセントエンコーディング適用後:whatap%40%23
Tips

パーセントエンコーディング規則の詳細については、MongoDB Connection String URI Format公式ドキュメントを参照してください。

ステップ2:エスケープ文字の適用(必要な場合)​

パーセントエンコーディング適用後もシェルで解釈される特殊文字(!、\、$など)が含まれる場合、エスケープ文字(\)を追加で適用する必要があります。

例

# 基本的な使用
./uid.sh whatap whatap%40%23

# シェル解釈の問題が発生した場合
./uid.sh whatap whatap\%40\%23
重要
  • MongoDBは特殊文字を含む場合、パーセントエンコーディングが優先です。
  • 適用順序:パーセントエンコーディング → 必要に応じてエスケープ文字
  • パーセントエンコーディングを適用しないと、UID生成は成功してもDB接続が失敗する可能性があります。

モニタリングの開始​

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

./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)に追加オプションを設定します。 詳細については、次の文書を参照してください。

  • モニタリングの開始

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