PEMエージェントのトラブルシューティング

削除されたPEMエージェントの復元

エージェントが pem.agent テーブルから削除されている場合、復元することはできません。エージェントを再登録するには、pemworkerユーティリティを使用する必要があります。

エージェントがPEMWebクライアントから削除されたが、値が active = f の pem.agent テーブルにまだエントリがある場合は、次の手順を使用してエージェントを復元できます。

  1. 次のコマンドを使用して、 id フィールドと active フィールドの値を確認します。

    pem=# SELECT * FROM pem.agent;

  2. pem.agent テーブルのエージェントのステータスを true に更新します。

    pem=# UPDATE pem.agent SET active=true WHERE id=<x>;

    ここで、 x は、ステップ1で使用されたクエリの出力に表示された識別子です。

  3. 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.

  1. 次のクエリを使用して、*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> ));
  1. 次のクエリを使用して、ステータスが 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));