エージェントのトラブルシューティングは、エージェントが実行しているかどうかを確認することから始めます。確認するには、以下を参照してください。
Windows – 項2.3.5.1. 「エージェントの起動/停止: Windows」
Mac OS X – 項2.3.5.2. 「Agent の起動/停止: Mac OS X」
監視する MySQL
サーバのログインするための証明書がエージェントで正しく指定されていない場合、エージェントは起動時に実行しません。監視対象の
MySQL
サーバにログインして、エージェントの証明書を確認します。mysql.user
テーブルの Host
フィールド、User
フィールド、Password
フィールドの値と
etc/instances/mysql/agent-instance.ini
の
[mysqld]
セクションに示されている値を比較します。ini
ファイルで指定されている証明書が正しくない場合、これを修正して、エージェントを再起動します。ini
ファイルの変更は、エージェントを再起動するまで有効にならないので注意してください。
Service Manager ログインに正しい証明書が指定されていない場合、エージェントは起動しません。Service Manager へのログインに使用する証明書が正しくない場合、エージェントログファイルにエントリが作成されます。このログファイルの位置については、項A.3. 「エージェントのログファイルと PID ファイル」を参照してください。
エージェントは起動したが、ダッシュボードにサーバが表示されていない場合、mysql-monitor-agent.ini
ファイルの [mysql-proxy]
セクションで指定されている
hostname
を確認します。証明書、IP
アドレスまたはポートが正しくない場合、これらはすべて
MySQL
サーバがダッシュボードに表示されない原因となります。また、このファイルに指定されているポートが、MySQL Enterprise Service Manager
をホストするマシンでブロックされていないことを確認してください。
エージェントが Service Manager
にログインできるかを確認する簡単な方法は、http://
を Web
ブラウザのアドレスバーに入力することです。この場合、ホスト名およびポート名は適切な値を使用してください。HTTP
認証ダイアログボックスが表示されたら、エージェントのユーザ名およびパスワードを入力します。正常にログインしたら、次のメッセージが表示されます。
Dashboard_Host:18080
/heartbeat
<exceptions> <error>E1031: Agent payload parameter NULL.</error> </exceptions>
上記のメッセージにはエラーが示されていますが、ログインには成功しています。このエラーは、ログインには成功したが 「payload」 がないために表示されています。
上記のように正常にログインでき、エージェントが実行している場合、mysql-monitor-agent.ini
ファイルにエラーがあります。ini
ファイルのホスト名、ポート、エージェント名、パスワードと、Web
ブラウザのアドレスバーに入力した値を比較してください。
HTTP 認証が失敗した場合、使用しているエージェントの証明書が間違っています。正しくない証明書を使用して Service Manager にログインしようとすると、エージェントログファイルにエントリが作成されます。このログファイルの位置については、項A.3. 「エージェントのログファイルと PID ファイル」を参照してください。
HTTP
認証ダイアログボックスが表示されず、接続ができない場合、指定したホスト名またはポートが間違っている可能性があります。入力した値と、configuration_report.txt
ファイルの Application hostname and port:
で示されている値を確認します。接続が失敗した場合、MySQL Enterprise Service Manager
をホストするマシンでポートがブロックされている可能性もあります。
ブロックされているポートが問題かどうか確認するには、一時的にファイアウォールから外します。これで、エージェントが接続できた場合、インストール中に指定したポートを開いて、エージェントを再起動します。必要な場合、SSH トンネルを使用してファイアウォール外を監視します。詳細については、項2.3.6.5. 「SSH トンネルでのファイルウォール外の監視」を参照してください。
エージェントエラーログファイルは、問題の解決に役立ちます。次のようなエラーで、ブロックされているポートを示していることがあります。
(critical) connection to merlin-server
'http://agent:test@172.11.1.1:18080
/heartbeat' failed:
"connect() timed out!" error.
エージェントエラーログファイルの位置については、項A.3. 「エージェントのログファイルと PID ファイル」を参照してください。
log-level
エントリを
ini
ファイルに設定することも、デバッグに役立ちます。詳細については、項2.3.6.1. 「MySQL Enterprise Service Agent (mysql-monitor-agent.ini
) の設定」を参照してください。
コマンドラインからエージェントを実行すると、エージェントをメニューオプションから起動したときにはログファイルや画面には表示されないエラーが表示されることがあります。エージェントをコマンドラインから起動するには、このセクション冒頭の説明を参照してください。
同じマシンで複数のエージェントを実行する場合、UUID
が一意でなければならず、log-file
および pid-file
も異なる値でなければなりません。詳細については、項2.3.6.2. 「MySQL Server(agent-instance.ini
)の設定」を参照してください。
監視する MySQL
サーバをホストするマシンとは異なるマシンでエージェントが実行している場合、エージェントアカウントに正しい
host
が指定されていることを確認してください。正しいポートは、通常
3306
で、リモートログインに開かれている必要があります。リモート監視の詳細については、項2.3.6.4. 「リモート MySQL Server
を監視するようにエージェントを設定する」を参照してください。