12.4. ローカルの Logging システムロールでのログのフィルタリング
rsyslog プロパティーベースのフィルターをもとにログをフィルターするロギングソリューションをデプロイできます。
前提条件
-
Logging システムロールを設定する
管理対象ノード1 つ以上へのアクセスおよびパーミッション。 コントロールノード (このシステムから Red Hat Ansible Core は他のシステムを設定) へのアクセスおよびパーミッション。
コントロールノードでは、
- Red Hat Ansible Core がインストールされている。
-
rhel-system-rolesパッケージがインストールされている。 - マネージドノードが記載されているインベントリーファイルがある。
デプロイメント時にシステムロールが rsyslog をインストールするため、rsyslog パッケージをインストールする必要はありません。
手順
以下の内容を含む新しい
playbook.ymlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定を使用すると、
error文字列を含むメッセージはすべて/var/log/errors.logに記録され、その他のメッセージはすべて/var/log/others.logに記録されます。errorプロパティーの値はフィルタリングする文字列に置き換えることができます。設定に合わせて変数を変更できます。
オプション: 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 /path/to/file/playbook.yml
# ansible-playbook -i inventory_file /path/to/file/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
/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 システムが
error文字列を含むメッセージをログに送信していることを確認します。テストメッセージを送信します。
logger error
# logger errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように
/var/log/errors.logログを表示します。cat /var/log/errors.log Aug 5 13:48:31 hostname root[6778]: error
# cat /var/log/errors.log Aug 5 13:48:31 hostname root[6778]: errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow hostnameはクライアントシステムのホスト名に置き換えます。ログには、logger コマンドを入力したユーザーのユーザー名 (この場合はroot) が含まれていることに注意してください。