Troubleshooting agent issues#

PEMエージェントで発生する可能性のあるこれらの問題をトラブルシューティングできます。

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

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

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

  1. id およびactive フィールドの値を確認します。

pem=# SELECT * FROM pem.agent;

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

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

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

  1. PEM Webクライアントを更新します。

削除されたエージェントが復元されます。ただし、そのエージェントにバインドされたサーバーはダウンしているように見える場合があります。この問題を解決するには、サーバーのPEMエージェントプロパティを変更して、バインドされたエージェントを再度追加します。変更が成功すると、サーバーは正常に実行されているように表示されます。

構成ファイルパスの更新エージェントのステータスが不明と表示されます#

エージェント構成ファイル agent.cfg をデフォルトの場所/usr/edb/pem/agent/etc から別の場所に移動すると、PEMダッシュボードにエージェントステータスが「不明」と表示される場合があります。その場合、pemagent サービスファイルのエージェント構成ファイルパスの値を更新する必要があります。

  1. 次のコマンドを使用して、スーパーユーザーとしてpemagent サービスファイルを変更します。

# Running as superuser
sudo vi  /usr/lib/systemd/system/pemagent.service
  1. agent.cfg ファイルパスを更新します。たとえば、Redhatホストでは、ファイルパスを更新します。

ExecStart=/usr/edb/pem/agent/bin/pemagent -c /usr/edb/pem/agent/etc/agent.cfg
  1. systemd をリロードして、変更したサービススクリプトを更新します。

sudo systemctl daemon-reload
  1. 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));