エージェントの登録¶
各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パラメーターを有効にして、PEMエージェントとサーバー間に専用のハートビート接続を作成し、アクティブステータスを更新します。デフォルト値は「いいえ」です。 |
PEMデータベースで変更が行われる前に、接続エージェントはPEMデータベースサーバーで認証されます。 pemworkerユーティリティを呼び出すときは、PEMサーバー管理ユーザーロール(postgres)に関連付けられたパスワードを提供する必要があります。管理パスワードを指定するには、3つの方法があります。あなたはできる:
-
PEM\_MONITORED\_SERVER\_PASSWORD環境変数を設定します。 - コマンドラインで
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ユーティリティを使用してサーバーを登録する方法については、次の場所にあるPEMスタートガイドを参照してください。
非rootユーザーアカウントを使用してPEMエージェントを登録する¶
非rootユーザーを使用してPEMエージェントを登録するには、最初にPEMエージェントをrootユーザーとしてインストールする必要があります。インストール後、非rootユーザー(edbなど)のIDを想定して、次の手順を実行します。
-
.pemディレクトリとlogsディレクトリを次のように作成し、ファイルに読み取り、書き込み、実行のアクセス許可を割り当てます。
mkdir /home/<edb>/.pem
mkdir /home/<edb>/.pem/logs
chmod 700 /home/<edb>/.pem
chmod 700 /home/<edb>/.pem/logs
- 次のように、
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*
-
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
-
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
以前に開始されたエージェントプロセスを強制終了し、次のように非ルートユーザーを使用してエージェントサービスを再起動します。
sudo /etc/init.d/pemagent start/stop/restartPEMダッシュボードでエージェントのステータスを確認します。