0x0i.journald
Ansible ロール :signal_strength: :page_with_curl: Journald
目次
Ansible ロールは、ログデータを収集し保存するシステムサービスである Journald をインストールおよび設定します。
対応プラットフォーム:
* Debian
* Redhat (CentOS/Fedora)
* Ubuntu
要件
journald
は、Linux ディストリビューションのデフォルトのログシステムと見なされ、syslog
の後継として考えられています。一般に systemd
と一緒にインストールされ、対応プラットフォームのリストでは手動またはユーザーインストールなしで利用可能です。
詳細については、systemd の README と journald の ドキュメント を参照してください。
ロール変数
変数は利用可能で、以下のソフトウェアおよびマシンプロビジョニングの各段階に従って整理されています。
- インストール
- 設定
- アンインストール
インストール
次の変数は、journald のインストールプロセスに関与する特定の側面を制御するためにカスタマイズできます。ホストには動作中の systemd パッケージがインストールされていることが前提です。OS ディストリビューションに基づく利用可能なバージョンについては こちら を参照してください。
journal_group_adds: <アカウントのリスト>
(デフォルト: []
)
- 特権ログ監視機能のために systemd-journal グループに自動的に追加するユーザーアカウントを示します。
ジャーナルファイルは、デフォルトで systemd-journal システムグループによって所有され、読み取り可能ですが、書き込みはできません。このグループにユーザーを追加することで、そのユーザーは権限昇格なしでジャーナルファイルを読み取ることができます。詳細については、systemd-journald サービスのドキュメントを参照してください。
例
journal_group_adds:
- user-account-1
- user-account-2
設定
journald
の設定は、デフォルトで journald.conf という ini-style の設定ファイルに宣言されます。この INI 設定は、ログサービスの望ましい動作を宣言するためのさまざまなオプションを含む単一のセクション [Journal]
で構成されます。
これらの設定は、ロールの journald_config
ハッシュ変数内で、キーとバリューのペアを持つ辞書のリストとして表現できます。利用可能なオプションの完全なリストについては こちら を参照してください。
[journald_configs: <リストエントリ>:] name: <文字列>
(デフォルト: journald.conf)
- journald 設定ファイルの名前
[journald_configs: <リストエントリ>:] path: <文字列>
(デフォルト: /etc/systemd/)
- journald 設定ファイルのロードパス
パッケージやローカル管理者が基本またはデフォルトの設定をカスタマイズする必要がある場合、次のオーバーライドディレクトリのいずれかに設定スニペットをインストールできます。
設定ロードパス | 説明 |
---|---|
/etc/systemd/journald.conf | ローカルシステム管理者によって定義されたデフォルト/ベース設定 |
/etc/systemd/journald.conf.d/*.conf | ローカル管理者オーバーライドルートディレクトリ(ファイル名は任意の値) |
/run/systemd/journald.conf.d/*.conf | 実行時オーバーライドルートディレクトリ(ファイル名は任意の値) |
/usr/lib/systemd/journald.conf.d/*.conf | ベンダーパッケージオーバーライドルートディレクトリ |
メイン設定ファイルは、すべての設定ディレクトリよりも先に読み込まれ、最も低い優先順位を持ちます。どの設定ディレクトリのファイルも、単一の設定ファイル内のエントリを上書きします。.conf.d/ 設定サブディレクトリ内のファイルは、サブディレクトリがどれであっても辞書順に整列され読み込まれます。*
[journald_config: <リストエントリ>:] config: <辞書>
(デフォルト: {})
- ジャーナル設定のセクション定義
journald
でサポートされているすべての設定/値キーのペアは、各 journald_configs
リストエントリ内で表現されるべきで、指定された INI 設定内で適切にレンダリングされる必要があります。
例
journald_configs:
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
MaxLevelStore: debug
Storage: volatile
RateLimitIntervalSec: 0
RateLimitBurst: 0
アンインストール
管理されている journald.conf 設定を削除し、ターゲットホストをこのロールの適用前の設定状態に戻します(例えば、システムアップグレード中に設定を再利用する際に有用です)。
このアンインストールプロセスを管理するためにカスタマイズ可能な変数は以下です:
perform_uninstall: <true | false>
(デフォルト: false
)
- ターゲットホスト上のシステムの journald.conf 設定の管理された構成をアンインストールするかどうか (詳細は:
handlers/main.yml
を参照)
依存関係
なし
サンプルプレイブック
デフォルトの例:
- hosts: all
roles:
- role: 0x0I.journald
永続的なログストレージを設定し、永続性同期間隔を更新/減少させる:
- hosts: staging
roles:
- role: 0x0I.journald
vars:
journald_configs:
- config:
Storage: persistence
SyncIntervalSec: 10
デバッグオーバーライド設定を持つ基本的なカスタム設定を作成:
- hosts: all
roles:
- role: 0x0I.journald
vars:
journald_configs:
# 基本設定は /etc/systemd/journald.conf にインストールされます
- config:
Storage: auto
MaxLevelStore: warning
# オーバーライド設定は /run/systemd/journald.conf.d/debug-overrides.conf にインストールされます
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
Storage: volatile
MaxLevelStore: debug
RateLimitIntervalSec: 0
RateLimitBurst: 0
特権ジャーナルアクセスのために systemd-journal
グループにユーザーを追加:
- hosts: prod
roles:
- role: 0x0I.journald
vars:
journal_group_adds: ['sysadmin-user', 'sre-user']
ライセンス
MIT
著者情報
このロールは2019年に O1.IO によって作成されました。