3.5. コレクションを使用したローカルロギングシステムロールの適用
以下の例では、コレクションを使用して Ansible Playbook を準備および適用し、別個のマシンにロギングソリューションを設定します。
前提条件
- rhel-system-roles のコレクション形式は、rpm パッケージまたは Automation Hub のいずれかからインストールされます。
手順
必要なロールを定義する Playbook を作成します。
新しい YAML ファイルを作成し、これをテキストエディターで開きます。以下に例を示します。
# vi logging-playbook.yml
以下の内容を YAML ファイルに挿入します。
--- - name: Deploying basics input and implicit files output hosts: all roles: - redhat.rhel_system_roles.logging vars: logging_inputs: - name: system_input type: basics logging_outputs: - name: files_output type: files logging_flows: - name: flow1 inputs: [system_input] outputs: [files_output]
特定のインベントリーで Playbook を実行します。
# ansible-playbook -i inventory-file logging-playbook.yml
ここで、
- inventory-file は、インベントリーファイルの名前に置き換えます。
- logging-playbook.yml は、使用する Playbook に置き換えます。
検証手順
設定ファイル
/etc/rsyslog.conf
および/etc/rsyslog.d
の構文をテストします。# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
システムがログにメッセージを送信していることを確認します。
テストメッセージを送信します。
# logger test
/var/log/messages ログ
を表示します。以下に例を示します。# cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: test
hostname
はクライアントシステムのホスト名です。ログには、logger コマンドを入力したユーザーの名前 (この場合はroot
) が表示されます。