PEMエージェントのトラブルシューティング¶
削除されたPEMエージェントの復元¶
エージェントが pem.agent テーブルから削除されている場合、復元することはできません。エージェントを再登録するには、pemworkerユーティリティを使用する必要があります。
エージェントがPEMWebクライアントから削除されたが、値が 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で使用されたクエリの出力に表示された識別子です。PEMWebクライアントを更新します。
削除されたエージェントは再び復元されます。ただし、その特定のエージェントにバインドされたサーバーはダウンしているように見える場合があります。この問題を解決するには、サーバーのPEMエージェントプロパティを変更して、バインドされたエージェントを再度追加する必要があります。変更が成功すると、サーバーは正常に実行されていると表示されます。
コマンドラインを使用して、ダウンまたは不明なステータスのPEMエージェントを削除する¶
Using the PEM web interface to delete PEM agents with Down or Unknown status may be difficult if the number of such agents is large. In such a situation, you might want to use the command line interface to delete Down or Unknown agents.
次のクエリを使用して、*N*時間以上
Downであるエージェントを削除します。
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> ));
次のクエリを使用して、ステータスが
Unknownのエージェントを削除します。
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));