PEM Agent Troubleshooting¶
削除された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エージェントを削除する¶
Down または Unknown ステータスのPEMエージェントを削除するためにPEMWebインターフェイスを使用するのは、そのようなエージェントの数が多い場合は困難です。このような状況では、コマンドラインインターフェイスを使用して Down または Unknown エージェントを削除することができます。
次のクエリを使用して、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));