Registering an Agent

各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-port

PEMバックエンドデータベースサーバーのポートを指定します。デフォルト値は5432です。

--pem-user

PEMバックエンドデータベースサーバーのデータベースユーザー(スーパーユーザー特権を持つ)の名前を指定します。このパラメーターは必須です。

--pem-agent-user

PEMサーバーバックエンドデータベースサーバーに接続するエージェントユーザーを指定します。

--cert-path

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

--config-dir

構成ファイルを見つけることができるディレクトリパスを指定します。デフォルトは<pemworkerpath>/../etcです。

--display-name

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

--force-registration

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

--group

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

--team

監視対象データベースサーバーにアクセスする必要がある、PEMバックエンドデータベースサーバー上のデータベースロールの名前。

--owner

エージェントを所有するPEMバックエンドデータベースサーバー上のデータベースユーザーの名前。

--allow_server_restart

allow-server_restartパラメーターを有効にして、PEMが監視対象サーバーを再起動できるようにします。デフォルト値はTrueです。

--allow-batch-probes

allow-batch-probesパラメーターを有効にして、PEMがこのエージェントでバッチプローブを実行できるようにします。デフォルト値はfalseです。

--batch-script-user

バッチ/シェルスクリプトの実行に使用するオペレーティングシステムユーザーを指定します。デフォルト値はnoneです。このパラメーターを空白のままにした場合、または指定したユーザーが存在しない場合、スクリプトは実行されません。

--enable-heartbeat-connection

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

--enable-smtp

enable-smtpパラメーターを有効にして、PEMエージェントがPEMサーバーに代わって電子メールを送信できるようにします。デフォルト値はfalseです。

--enable-snmp

enable-snmpパラメーターを有効にして、PEMエージェントがPEMサーバーに代わってSNMPトラップを送信できるようにします。デフォルト値はfalseです。

-o

構成ファイルのオプションをオーバーライドするかどうかを指定します。

データベースサーバーの再起動が必要なPEMエージェント(監査マネージャー、ログマネージャー、チューニングウィザードなど)を使用する前に、まず agent.cfg ファイルの allow_server_restart の値を true に設定する必要があります。

注釈

PEM7.11以降のバージョンがインストールされているPEMエージェントによって実行されるシェル/バッチスクリプトを構成する場合、 batch_script_user パラメーターのユーザーを指定する必要があります。スクリプトの実行には、非rootユーザーを使用することを強くお勧めします。rootユーザーを使用すると、データのセキュリティとオペレーティングシステムのセキュリティが低下する可能性があります。ただし、rootユーザーを使用してスクリプトを実行してpemagentを元の設定に復元する場合は、 batch_script_user パラメーター値を root に設定する必要があります。

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 です。

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

systemctl start pemagent

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

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

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

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

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

    mkdir /home/<edb>/.pem
    mkdir /home/<edb>/.pem/logs
    chmod 700 /home/<edb>/.pem
    chmod 700 /home/<edb>/.pem/logs
    
  2. エージェントを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>
    
    The above command creates agent certificates and an agent configuration file (``agent.cfg``) in the ``/home/edb/.pem`` directory. Use the following command to assign read and write permissions to these files:
    
    ``chmod -R 600 /home/edb/.pem/agent*``
    
  3. 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
    
  4. pemagent サービスファイルの構成ファイルパスとユーザーの値を更新します。

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

    User=edb
    ExecStart=/usr/edb/pem/agent/bin/pemagent -c /home/edb/.pem/agent.cfg
    
  5. エージェントプロセスを停止してから、非rootユーザーを使用してエージェントサービスを再起動します。

    • RHELまたはCentOS7または8を使用している場合、 sudo systemctl start/stop/restart pemagent

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