11.7. RELP での logging システムロールの使用
Reliable Event Logging Protocol (RELP) とは、TCP ネットワークを使用する、データとメッセージロギング用のネットワーキングプロトコルのことです。イベントメッセージを確実に配信するので、メッセージの損失が許されない環境で使用できます。
RELP の送信側はコマンド形式でログエントリーを転送し、受信側は処理後に確認応答します。RELP は、一貫性を保つために、転送されたコマンドごとにトランザクション番号を保存し、各種メッセージの復旧します。
RELP Client と RELP Server の間に、リモートロギングシステムを検討することができます。RELP Client はリモートロギングシステムにログを転送し、RELP Server はリモートロギングシステムから送信されたすべてのログを受け取ります。
管理者は logging システムロールを使用して、ログエントリーが確実に送受信されるようにロギングシステムを設定することができます。
11.7.1. RELP を使用したクライアントロギングの設定 リンクのコピーリンクがクリップボードにコピーされました!
logging システムロールを使用して、ローカルマシンにログインしている RHEL システムでロギングを設定し、Ansible Playbook を実行して、ログを RELP でリモートロギングシステムに転送できます。
この手順では、Ansible インベントリーの client グループ内の全ホストに RELP を設定します。RELP 設定は Transport Layer Security (TLS) を使用して、メッセージ送信を暗号化し、ネットワーク経由でログを安全に転送します。
前提条件
- RELP を設定する管理ノードで Playbook の実行権限がある。
- 管理対象ノードがコントロールノードのインベントリーファイルに記載されている。
-
ansibleパッケージおよびrhel-system-rolesパッケージがコントロールノードにインストールされている。
手順
以下の内容を含む
playbook.ymlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook は、以下の設定を使用します。
-
target:リモートロギングシステムが稼働しているホスト名を指定する必須パラメーターです。 -
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_servers:ロギングクライアントが、TLS 経由での接続およびログ送信を許可するサーバーの一覧。 -
inputs:ロギング入力ディクショナリーの一覧。 -
outputs:ロギング出力ディクショナリーの一覧。
-
オプション:Playbook の構文を確認します。
ansible-playbook --syntax-check playbook.yml
# ansible-playbook --syntax-check playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook を実行します。
ansible-playbook -i inventory_file playbook.yml
# ansible-playbook -i inventory_file playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.7.2. RELP を使用したサーバーログの設定 リンクのコピーリンクがクリップボードにコピーされました!
logging システムロールを使用して、RHEL システムのログインをサーバーとして設定し、Ansible Playbook を実行して RELP でリモートロギングシステムからログを受信できます。
以下の手順では、Ansible インベントリーの server グループ内の全ホストに RELP を設定します。RELP 設定は TLS を使用して、メッセージ送信を暗号化し、ネットワーク経由でログを安全に転送します。
前提条件
- RELP を設定する管理ノードで Playbook の実行権限がある。
- 管理対象ノードがコントロールノードのインベントリーファイルに記載されている。
-
ansibleパッケージおよびrhel-system-rolesパッケージがコントロールノードにインストールされている。
手順
以下の内容を含む
playbook.ymlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 の構文を確認します。
ansible-playbook --syntax-check playbook.yml
# ansible-playbook --syntax-check playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook を実行します。
ansible-playbook -i inventory_file playbook.yml
# ansible-playbook -i inventory_file playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow