エージェントの登録

各PEMエージェントは、PEMサーバーに*登録*する必要があります。登録プロセスは、エージェントと通信するために必要な情報をPEMサーバーに提供します。 Windows用のPEMエージェントグラフィカルインストーラーは、エージェントの自己登録をサポートしています。エージェントがLinuxホスト上にある場合、エージェントを登録するには pemworker ユーティリティを使用する必要があります。

RPMインストーラーはPEMエージェントを /usr/edb/pem/agent/bin ディレクトリに配置します。エージェントを登録するには、pemworkerユーティリティを呼び出すときに、登録の詳細とともに --register-agent キーワードを含めます。

pemworker -–register-agent

pemworkerユーティリティを呼び出すときに、コマンド文字列にコマンドラインオプションを追加します。各オプションの後には、対応する値が続く必要があります。

オプション

説明

--pem-server

PEMサーバーのIPアドレスを指定します。このパラメーターは必須です。

--pem-user

PEMユーザーの名前を指定します。このパラメーターは必須です。

-ペンポート

PEMが接続を監視するポートを指定します。デフォルト値は5432です。

--cert-path

証明書が作成されるディレクトリへの完全なパスを指定します。パスを指定しない場合、証明書は次の場所に作成されます。Linuxでは〜/ .pem Windowsでは%APPDATA%/ pem

-表示名

PEMブラウザツリーコントロールに表示されるわかりやすい名前を指定します。デフォルトはシステムのホスト名です。

-グループ

エージェントが表示されるグループの名前。

-チーム

PEMエージェントにアクセスできるグループロールの名前。

-所有者

PEMエージェントの所有者の名前。

-強制登録

force_registration句を含めて、指定された引数でエージェントを登録するようにPEMサーバーに指示します。この句は、既存のエージェント構成をオーバーライドする場合に役立ちます。デフォルト値は``はい``です。

--enable-heartbeat-connection

enable-heartbeat-connectionパラメーターを有効にして、PEMエージェントとサーバー間に専用のハートビート接続を作成し、アクティブステータスを更新します。デフォルト値は``いいえ``です。

PEM_SERVER_PASSWORD環境変数を使用して、PEM管理ユーザーのパスワードを設定できます。 PEM_SERVER_PASSWORDが設定されていない場合、サーバーはPEMデータベースサーバーへの接続時にPGPASSWORDまたはpgpassファイルを使用します。

パスワードの入力に失敗すると、パスワード認証エラーが発生します。他の必須だが省略された情報の入力を求められます。登録が完了すると、サーバーはエージェントが正常に登録されたことを確認します。

PEMエージェント構成パラメーターの設定

PEMエージェントRPMインストーラーは、 /usr/edb/pem/agent/etc ディレクトリに agent.cfg.sample という名前のサンプル構成ファイルを作成します。 PEMエージェントを登録すると、pemworkerプログラムは実際のエージェント構成ファイル( agent.cfg という名前)を作成します。次の構成パラメーターを追加して、agent.cfgファイルを変更する必要があります。

heartbeat_connection = true

ca-bundle.crt ファイル(認証局)の場所も追加する必要があります。デフォルトでは、インストーラーは agent.cfg.sample ファイルで指定された場所に ca-bundle.crt ファイルを作成します。サンプルファイルからデフォルトのパラメーター値をコピーするか、別の場所に保存されている ca-bundle.crt ファイルを使用する場合は、その値を ca_file パラメーターに指定します。

ca_file=/usr/libexec/libcurl-pem7/share/certs/ca-bundle.crt

次に、プラットフォーム固有のコマンドを使用して、PEMエージェントサービスを開始します。サービスの名前は pemagent です。たとえば、CentOSまたはRHEL 6.xシステムでは、次のコマンドを使用します。

/etc/init.d/pemagent

CentOSまたはRHEL 7.xホストで、systemctlを使用してサービスを開始します。

systemctl start pemagent

サービスは、エージェントを開始していることを確認します。エージェントが登録および起動されると、 Global Overview ダッシュボードおよびPEM Webインターフェイスのオブジェクトブラウザツリーコントロールに表示されます。

pemworkerユーティリティを使用してサーバーを登録する方法については、次のWebサイトで入手可能な* PEM入門ガイド*を参照してください。

非ルートユーザーアカウントを使用してPEMエージェントを登録する

非rootユーザーを使用してPEMエージェントを登録するには、最初にPEMエージェントをrootユーザーとしてインストールする必要があります。インストール後、非rootユーザー(edbなど)のIDを想定して、以下の手順を実行します。

  1. 次のように .pem ディレクトリと logs ディレクトリを作成し、ファイルに読み取り、書き込み、実行のアクセス許可を割り当てます。

mkdir /home/<edb>/.pem
mkdir /home/<edb>/.pem/logs
chmod 700 /home/<edb>/.pem
chmod 700 /home/<edb>/.pem/logs
  1. 次のように pemworker ユーティリティを使用して、エージェントをPEMサーバーに登録します。

./pemworker --register-agent --pem-server <172.19.11.230> --pem-user <postgres> --pem-port <5432> --display-name <non_root> --cert-path /home/<edb> --config-dir /home/<edb>

上記のコマンドは、 /home/edb/.pem ディレクトリにエージェント証明書とエージェント設定ファイル( agent.cfg )を作成します。次のコマンドを使用して、これらのファイルに読み取りおよび書き込み権限を割り当てます。

chmod -R 600 /home/edb/.pem/agent*

  1. agent.cfg ファイルのパラメーターを次のように変更します。

agent_ssl_key=/home/edb/.pem/agent<id>.key
agent_ssl_crt=/home/edb/.pem/agent<id>.crt
log_location=/home/edb/.pem/worker.log
agent_log_location=/home/edb/.pem/agent.log
  1. pemagent サービスファイルのパスとユーザーの値を更新します。

  • CentOS 6を使用している場合、 agent.cfg ファイルの正しいパスを反映するようにpemagentサービスファイルを更新し、ユーザー su を su edb に変更します。

  • CentOS 7を使用している場合は、次のようにパラメーターを更新します。

User=edb
ExecStart=/usr/edb/pem/agent/bin/pemagent -c /home/edb/.pem/agent.cfg
  1. 前に開始されたエージェントプロセスを強制終了し、次のように非ルートユーザーを使用してエージェントサービスを再起動します。

    sudo /etc/init.d/pemagent start/stop/restart

  2. PEMダッシュボードでエージェントのステータスを確認します。