12.3. ローカルの Logging システムロールの適用
Ansible Playbook を準備して適用し、別のマシンにロギングソリューションを設定します。各マシンはログをローカルに記録します。
前提条件
-
Logging システムロールを設定する
管理対象ノード1 つ以上へのアクセスおよびパーミッション。 コントロールノード (このシステムから Red Hat Ansible Core は他のシステムを設定) へのアクセスおよびパーミッション。
コントロールノードでは、
-
ansible-coreパッケージおよびrhel-system-rolesパッケージがインストールされている。
-
RHEL 8.0-8.5 では、別の Ansible リポジトリーへのアクセス権を指定されており、Ansible をベースにする自動化用の Ansible Engine 2.9 が含まれています。Ansible Engine には、ansible、ansible-playbook などのコマンドラインユーティリティー、docker や podman などのコネクター、プラグインとモジュールが多く含まれています。Ansible Engine を入手してインストールする方法の詳細は、ナレッジベースのアーティクル記事 How to download and install Red Hat Ansible Engine を参照してください。
RHEL 8.6 および 9.0 では、Ansible Core (ansible-core パッケージとして提供) が導入されました。これには、Ansible コマンドラインユーティリティー、コマンド、およびビルトイン Ansible プラグインのセットが含まれています。RHEL は、AppStream リポジトリーを介してこのパッケージを提供し、サポート範囲は限定的です。詳細については、ナレッジベースの Scope of support for the Ansible Core package included in the RHEL 9 and RHEL 8.6 and later AppStream repositories を参照してください。
- マネージドノードが記載されているインベントリーファイルがある。
デプロイメント時にシステムロールが rsyslog をインストールするため、rsyslog パッケージをインストールする必要はありません。
手順
必要なロールを定義する Playbook を作成します。
新しい YAML ファイルを作成し、これをテキストエディターで開きます。以下に例を示します。
vi logging-playbook.yml
# vi logging-playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容を挿入します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
特定のインベントリーで Playbook を実行します。
ansible-playbook -i inventory-file /path/to/file/logging-playbook.yml
# ansible-playbook -i inventory-file /path/to/file/logging-playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は以下のようになります。
-
inventory-fileはインベントリーファイルに置き換えます。 -
logging-playbook.ymlは、使用する Playbook に置き換えます。
-
検証
/etc/rsyslog.confファイルの構文をテストします。rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.
# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run... rsyslogd: End of config validation run. Bye.Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムがログにメッセージを送信していることを確認します。
テストメッセージを送信します。
logger test
# logger testCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/log/messages ログを表示します。以下に例を示します。cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: test
# cat /var/log/messages Aug 5 13:48:31 hostname root[6778]: testCopy to Clipboard Copied! Toggle word wrap Toggle overflow `hostname` はクライアントシステムのホスト名です。ログには、logger コマンドを入力したユーザーのユーザー名 (この場合は
root) が含まれていることに注意してください。