16.4.2. RELP を使用したサーバーログの設定
logging RHEL システムロールを使用すると、ログメッセージを RELP を使用してリモートロギングシステムから受信するようにサーバーを設定できます。
RELP 設定は TLS を使用して、メッセージ送信を暗号化し、ネットワーク経由でログを安全に転送します。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。--- - name: Configure server-side of the remote logging solution using RELP hosts: managed-node-01.example.com tasks: - name: Deploying remote input and remote_files output ansible.builtin.include_role: name: redhat.rhel_system_roles.logging vars: logging_inputs: - name: relp_server type: relp port: 20514 tls: true ca_cert: /etc/pki/tls/certs/ca.pem cert: /etc/pki/tls/certs/server-cert.pem private_key: /etc/pki/tls/private/server-key.pem pki_authmode: name permitted_clients: - '*client.example.com' logging_outputs: - name: remote_files_output type: remote_files logging_flows: - name: example_flow inputs: [relp_server] outputs: [remote_files_output]サンプル Playbook で指定されている設定は次のとおりです。
port- リモートロギングシステムがリッスンしているポート番号です。
tlsネットワーク上でログをセキュアに転送します。セキュアなラッパーが必要ない場合は、
tls変数をfalseに設定します。デフォルトではtlsパラメーターは true に設定されますが、RELP を使用する場合には鍵/証明書およびトリプレット {ca_cert、cert、private_key} や {ca_cert_src、cert_src、private_key_src} が必要です。-
{
ca_cert_src、cert_src、private_key_src} のトリプレットを設定すると、デフォルトの場所 (/etc/pki/tls/certsと/etc/pki/tls/private) が、コントロールノードからファイルを転送するため、管理対象ノードの宛先として使用されます。この場合、ファイル名はトリプレットの元の名前と同じです。 -
{
ca_cert、cert、private_key} トリプレットが設定されている場合は、ファイルはロギング設定の前にデフォルトのパスに配置されている必要があります。 - 両方のトリプレットが設定されている場合、ファイルがコントロールノード上のローカルパスから管理対象ノードの特定のパスに転送されます。
-
{
ca_cert-
CA 証明書へのパスを表します。デフォルトのパスは
/etc/pki/tls/certs/ca.pemです。ファイル名はユーザーが設定します。 cert-
証明書へのパスを表します。デフォルトのパスは
/etc/pki/tls/certs/server-cert.pemです。ファイル名はユーザーが設定します。 private_key-
秘密鍵へのパスを表します。デフォルトのパスは
/etc/pki/tls/private/server-key.pemです。ファイル名はユーザーが設定します。 ca_cert_src-
ローカルの CA 証明書ファイルパスを表します。これは管理対象ノードにコピーされます。
ca_certを指定している場合は、その場所にコピーされます。 cert_src-
ローカルの証明書ファイルパスを表します。これは管理対象ノードにコピーされます。
certを指定している場合には、その証明書が場所にコピーされます。 private_key_src-
ローカルキーファイルのパスを表します。これは管理対象ノードにコピーされます。
private_keyを指定している場合は、その場所にコピーされます。 pki_authmode-
nameまたはfingerprintの認証モードを使用できます。 permitted_clients- ロギングサーバーが TLS 経由での接続およびログ送信を許可するクライアントのリスト。
inputs- ロギング入力ディクショナリーのリスト。
outputs- ロギング出力ディクショナリーのリスト。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.logging/README.mdファイルを参照してください。Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.ymlこのコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml