本文へスキップ

インストール問題の解決

データベースエージェントのインストール時に発生する問題を確認してください。

ファイアウォール設定の確認​

ファイアウォールのブロックを解除してください。WhaTapサーバーのTCPアウトバウンドファイアウォールが設定されていると、モニタリング情報をサーバーに転送できません。

ファイアウォールを確認する方法​

telnetコマンドを実行し、接続関連情報をが正常に表示します。(telnet[サーバーIP][サーバーポート])

Example
$ telnet 52.193.60.176 6600
Trying 52.193.60.176...
Connected to 52.193.60.176.
Escape character is '^]'.
ノート

WhaTapの収集サーバー情報は、管理 > エージェントインストールメニューから確認できます。

エージェントログを確認する​

エージェントがデータベースに接続できない場合や一部のデータが収集されない場合は、まずエージェントログを確認してください。以下の項目では、ログに記録されるメッセージを基準に原因と解決方法を説明します。

  • logs/: エージェントのインストールパスに作成されるエージェントログフォルダーです。
  • nohup.out: エージェントの実行に失敗した場合に最初に確認する標準出力の記録です。./startd.shで実行すると、エージェントのインストールパスに作成されます。

設定ファイル(whatap.conf)やJDBCドライバーを変更した後は、エージェントを再起動してください。

BASH
./stop.sh
./startd.sh

データベースに接続できない場合​

JDBCドライバーが認証方式に対応していない場合​

エージェントログ
PSQLException: The authentication type 10 is not supported. Check that you have configured the pg_hba.conf file ...

PostgreSQL 14以降は、デフォルトの認証方式としてscram-sha-256を使用します。*jdbc/*フォルダーにドライバーがなく、エージェントに含まれるデフォルトドライバーで接続すると、この認証方式に対応していないため接続に失敗します。jdbc/フォルダーにPostgreSQL JDBC 42.2.0以降のドライバー(.jar)を配置し、エージェントを再起動してください。JDBCダウンロード

接続許可リスト(pg_hba.conf)にエージェントのIPがない場合​

エージェントログ
FATAL: no pg_hba.conf entry for host "<エージェントIP>", user "whatap", database "postgres", no encryption

データベースサーバーのpg_hba.confに、DBXエージェントをインストールしたサーバーのIPを許可する行を追加し、設定を再読み込みしてください。エージェントは一部の情報を収集するためにデフォルトの接続先以外のデータベースにも接続するため、データベース項目はallに設定することをお勧めします。

pg_hba.conf
host  all  whatap  {AGENT_IP}/32  scram-sha-256
SQL
SELECT pg_reload_conf();

データベースの接続権限がない場合​

エージェントログ
FATAL: permission denied for database "postgres"
Detail: User does not have CONNECT privilege.

モニタリングアカウントに、ログに表示されたデータベースのCONNECT権限を付与してください。whatap.confにdbを設定しない場合は、postgresデータベースに接続します。

SQL
grant connect on database postgres to whatap;

パスワードが一致しない場合​

エージェントログ
FATAL: password authentication failed for user "whatap"

エージェントは終了せずに再接続を試み続けます。uid.shでアカウント情報を再登録した後、エージェントを再起動してください。

BASH
./uid.sh {DB_USER} {DB_PASSWORD}

一部のデータが収集されない場合​

データベースには接続できているものの、権限や拡張モジュールがない場合は該当するデータのみ収集されません。

症状対処収集されないデータ
エージェントログ: permission denied for function pg_ls_waldirgrant pg_monitor to whatap;を実行した後、エージェントを再起動WALファイル数
エージェントログ: pg_stat_statements must be loaded via shared_preload_librariesshared_preload_librariesにpg_stat_statementsを追加した後、データベースを再起動PG SQL統計
エージェントログにエラーはなく、PG SQL統計画面に設定案内が表示される接続先のデータベースでcreate extension pg_stat_statements;を実行した後、エージェントを再起動PG SQL統計

pg_monitor権限がない場合、エラーログは出力されず、他のユーザーのセッションの状態とSQLが<insufficient privilege>と表示されます。

pg_stat_statementsの設定方法は、PG SQL統計を参照してください。

DB権限及びエージェント設定​

DB権限及びエージェントの設定によってデータが照会されないメニューがあります。次の内容を参考にして、必要な権限を付与し、エージェントのオプションを設定してください。

ノート

モニタリングのアカウントをwhatapで生成した場合の例です。create user whatap with password 'DBPassword’;

メニューDBオプション及び権限エージェント設定備考
基本メニューgrant pg_monitor to whatap;-DBXエージェントv1.6.15以降
ダッシュボード > スロークエリDBパラメータ:
log_min_duration_statement=500
(ex. 500ms以上かかるSQL記録)

DB権限
grant PG_READ_ALL_SETTINGS to whatap;
xos.conf
slow_query_interval=30 (既定値30秒)

whatap.conf
slow_query_log=ON
-
インスタンス > セッション中止grant pg_signal_backend to whatap--
分析 > Top オブジェクトgrant select on all tables in schema {schema_name} to whatap;whatap.conf
pg_object=true
DBXエージェントv1.6.15以降
Bloating、Ageタブの一覧は、権限及びエージェントオプションが設定されていてもしきい値(size、ratio)を超えない場合、データが照会されない可能性があります。
統計/レポート > データベースサイズgrant usage on schema {schema_name} to whatap;whatap.conf
tables=true
データベースサイズメニュー画面の下のテーブルサイズを照会するために必要な権限です。
オブジェクト情報(Object detail) モーダルウィンドウgrant select on all tables in schema {schema_name} to whatap;-Top オブジェクト, データベースサイズ, SQL詳細(Plan) メニューでテーブル名をクリックすると表示されるポップアップウィンドウです。権限がない場合、Column listが照会されません。

スロークエリが収集されない場合​

PostgreSQLのスロークエリは、DBサーバーにインストールしたXOSエージェントがPostgreSQLのログファイルを読み取って収集します。設定方法はスロークエリを参照してください。設定後も収集されない場合は、DBXエージェントログとXOSエージェントログで次の内容を確認してください。

ログ原因対処
DBX: whatap.conf: slow_query_log = ONの行がないDBXエージェントのスロークエリ収集が無効になっています。PostgreSQLのデフォルト値はoffです。DBX whatap.confにslow_query_log=onを設定した後、DBXエージェントを再起動
DBX: log_min_duration_statement: -1 slowLog OFFデータベースにスロークエリの基準値(log_min_duration_statement)が設定されていません。データベース設定でlog_min_duration_statementを0より大きい値に設定した後、DBXエージェントを再起動
DBX: slowLog ONの後にlog_filename:の行がないモニタリングアカウントにログパスを照会する権限がありません。grant pg_monitor to whatap;またはgrant pg_read_all_settings to whatap;を実行した後、DBXエージェントを再起動
XOS: [slow_query_pg] stat (<ログファイルパス>) failed. errno: 2ログに表示されたパスにファイルがありません。PostgreSQLをコンテナで実行している場合、コンテナ内のパスが渡されるため、DBサーバー(ホスト)の実際のパスと異なる場合があります。ホストで同じパスにアクセスできるようにシンボリックリンクを作成してください。例: ln -s /data/postgres/data /var/lib/postgresql/data
DBX: xos.conf slow_query_log ON
XOS: ignored (set in xos.conf)
xos.confにslow_query=のパスが設定されている場合、DBXエージェントから渡されたパスの代わりにこの値を使用します。パスが実際のログファイルと異なる場合は、パスを修正するかslow_query=の行をコメントアウトした後、XOSエージェントを再起動

制約事項​

複数リージョンを1つのプロジェクトとして選択することはできません。​

  • WhaTapモニタリングサービスサイトでプロジェクトを作成する時にリージョンは重複選択できず、複数のリージョンを活用する場合は別途のプロジェクトを作成する必要があります。

  • クラウド環境に複数のリージョン(Region)にサーバが存在する場合、ネットワークのlatencyなどパフォーマンス情報収集の制約を回避するために、リージョン(Region) 単位で収集サーバをインストールする必要があります。

  • WhaTapは、顧客のニーズを満たすためにリージョン(Region)ごとに収集サーバーを構築します

エージェント名(ONAME) は重複使用できません​

WhaTap DBXモニタリングは、エージェントを認識するために、エージェントのIPアドレスとポート(Port)情報を使用します。ユーザー環境でモニタリングするデータベースサーバーが同一IP、同一ポート(Port)を使用している場合、WhaTapサーバーのサーバーインスタンスを区分できません。

  • サーバーインスタンスが動的に容量を可変に拡張される環境でない場合は、次の文書を参照してデータベース識別用の名前を直接変更することで、サーバーインスタンスを迂回できます。

  • モニタリングするデータベースのinternal addressまたはネットワーク仮想化により重複したIPを使用している場合は、次の文書を参照して、別のデータベース名のパターンを使用してください。