manala.rsyslog
#######################################################################################################
:exclamation: 非推奨 :exclamation:
このリポジトリと関連する役割は、Manala Ansible Collection に置き換えられました。
使用方法については、コレクションリポジトリを参照してください。
#######################################################################################################
Ansible Role: Rsyslog 
:exclamation: 問題を報告し、プルリクエストを送信してください。 メインのAnsible Roleリポジトリで行ってください :exclamation:
この役割は、Rsyslogのセットアップを扱います。
これはManala Ansible stackの一部ですが、単独のコンポーネントとしても使用できます。
要件
なし。
依存関係
なし。
インストール
Ansible 2+
ansible galaxy cliを使用:
ansible-galaxy install manala.rsyslog
ansible galaxy要件ファイルを使用:
- src: manala.rsyslog
役割ハンドラー
| 名前 | 型 | 説明 |
|---|---|---|
rsyslog restart |
サービス | rsyslogサービスを再起動 |
役割変数
| 名前 | デフォルト | 型 | 説明 |
|---|---|---|---|
manala_rsyslog_install_packages |
~ | 配列 | インストールする依存パッケージ |
manala_rsyslog_install_packages_default |
['rsyslog'] | 配列 | デフォルトの依存パッケージ |
manala_rsyslog_config_template |
'config/_default.j2' | 文字列 | 設定の基本テンプレートパス |
manala_rsyslog_config |
~ | 配列/文字列 | 設定指示 |
manala_rsyslog_configs_exclusive |
false | 配列 | 追加設定の排他性 |
manala_rsyslog_configs_dir |
'/etc/rsyslog.d' | 文字列 | 追加設定のディレクトリパス |
manala_rsyslog_configs_defaults |
{} | 配列 | 追加設定のデフォルト |
manala_rsyslog_configs |
[] | 配列 | 追加設定の指示 |
設定例
コンテンツベース
manala_rsyslog_config: |
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
テンプレートベース
manala_rsyslog_config_template: my/rsyslog.conf.j2
辞書の配列パラメータベース(非推奨):
manala_rsyslog_config_template: config/default.prod.j2
manala_rsyslog_config:
- $ModLoad imklog: false
- $ModLoad immark: true
- |
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
構成
manala_rsyslog_configs を使用すると、テンプレートと設定を使用してrsyslogの設定ファイルを定義できます。また、生のコンテンツも使用できます。
状態(present|absent|ignore)を指定できます。
manala_rsyslog_configs:
# 設定ベース
- file: config.conf
config:
foo.*: -/var/log/foo.log
bar.*: -/var/log/bar.log
# コンテンツベース
- file: content.conf
config: |
foo.* -/var/log/foo.log
bar.* -/var/log/bar.log
# テンプレートベース(ファイル名はテンプレートに基づく)
- template: rsyslog/bar.conf.j2
config:
foo: bar
# テンプレートベース(強制ファイル名)
- file: baz.conf
template: rsyslog/bar.conf.j2
config:
foo: bar
# 辞書の配列テンプレートベース(非推奨)
- file: foo.conf
template: configs/rules.prod.j2
config:
- auth,authpriv.* /var/log/auth.log
- '*.*;auth,authpriv.none -/var/log/syslog'
- daemon.* -/var/log/daemon.log
- kern.* -/var/log/kern.log
- mail.* -/var/log/mail.log
- user.* -/var/log/user.log
# 設定が存在しないことを確認
- file: absent.conf
state: absent # デフォルトは "present"
# 設定を無視
- file: ignore.conf
state: ignore
# 設定をフラット化
- "{{ my_custom_configs_array }}"
manala_rsyslog_configs_exclusive を使用すると、manala_rsyslog_configs_dir キーで定義されたディレクトリ内の既存のrsyslog設定ファイルをクリーンアップできます。これにより、古いファイルや手動で作成されたファイルが現在の設定に影響を与えないようにします。
manala_rsyslog_configs_exclusive: true
例のプレイブック
- hosts: all
roles:
- role: manala.rsyslog
ライセンス
MIT
作者情報
Manala (http://www.manala.io/)
ansible-galaxy install manala.rsyslog