Troubleshooting agent issues#
PEMエージェントで発生する可能性のあるこれらの問題をトラブルシューティングできます。
削除されたPEMエージェントの復元#
エージェントがpem.agent
テーブルから削除されている場合、復元することはできません。
pemworkerユーティリティを使用してエージェントを再登録する必要があります。
エージェントがPEM Webクライアントから削除されたが、値がactive = f
のpem.agent
テーブルにエントリがまだある場合、エージェントを復元できます。
idおよびactiveフィールドの値を確認します。
pem=# SELECT * FROM pem.agent;
エージェントのステータスを
pem.agentテーブルのtrueに更新します。
pem=# UPDATE pem.agent SET active=true WHERE id=<x>;
x は、ステップ1で使用したクエリーの出力に表示された識別子です。
PEM Webクライアントを更新します。
削除されたエージェントが復元されます。ただし、そのエージェントにバインドされたサーバーはダウンしているように見える場合があります。この問題を解決するには、サーバーのPEMエージェントプロパティを変更して、バインドされたエージェントを再度追加します。変更が成功すると、サーバーは正常に実行されているように表示されます。
構成ファイルパスの更新エージェントのステータスが不明と表示されます#
エージェント構成ファイル agent.cfg
をデフォルトの場所/usr/edb/pem/agent/etc
から別の場所に移動すると、PEMダッシュボードにエージェントステータスが「不明」と表示される場合があります。その場合、pemagent
サービスファイルのエージェント構成ファイルパスの値を更新する必要があります。
次のコマンドを使用して、スーパーユーザーとして
pemagentサービスファイルを変更します。
# Running as superuser
sudo vi /usr/lib/systemd/system/pemagent.service
agent.cfgファイルパスを更新します。たとえば、Redhatホストでは、ファイルパスを更新します。
ExecStart=/usr/edb/pem/agent/bin/pemagent -c /usr/edb/pem/agent/etc/agent.cfg
systemdをリロードして、変更したサービススクリプトを更新します。
sudo systemctl daemon-reload
PEMエージェントを再起動します。
sudo systemctl restart pemagent
コマンドラインを使用してダウンまたは不明なステータスのPEMエージェントを削除する#
PEM Webインターフェイスを使用して、ダウンまたは不明なステータスのPEMエージェントを削除することは、このようなエージェントの数が多い場合、困難になる場合があります。この状況では、コマンドラインインターフェイスを使用して、ダウンまたは不明なエージェントを削除できます。
次のクエリーを使用して、 N 時間以上ダウンしているエージェントを削除します。
UPDATE pem.agent SET active=false WHERE id IN
(SELECT a.id FROM pem.agent
a JOIN pem.agent_heartbeat b ON (b.agent_id=a.id)
WHERE a.id IN
(SELECT agent_id FROM pem.agent_heartbeat WHERE (EXTRACT (HOUR FROM now())-
EXTRACT (HOUR FROM last_heartbeat)) > <N> ));
次のクエリーを使用して、不明なステータスのエージェントを削除します。
UPDATE pem.agent SET active=false WHERE id IN
(SELECT id FROM pem.agent WHERE id NOT IN
(SELECT agent_id FROM pem.agent_heartbeat));