0x0i.journald
Rola Ansible :signal_strength: :page_with_curl: Journald
![Wydanie GitHub (najnowsze)][https://img.shields.io/github/v/release/0x0I/ansible-role-journald?color=yellow)
Spis treści
- Obsługiwane platformy
- Wymagania
- Zmienne roli
- Zależności
- Przykładowy playbook
- Licencja
- Informacje o autorze
Rola Ansible, która instaluje i konfiguruje Journald: usługę systemową, która zbiera i przechowuje dane logowania.
Obsługiwane platformy:
* Debian
* Redhat(CentOS/Fedora)
* Ubuntu
Wymagania
Journald jest domyślnym systemem logowania dla dystrybucji Linuksa, uznawanym za następcę syslog
w kontekście usług logowania systemowego. Zazwyczaj jest instalowany wraz z systemd
i jest dostępny bez ręcznej instalacji na wspieranych platformach Linuksa.
Zobacz systemd README oraz dokumentację journald tutaj w celu uzyskania dalszych szczegółów.
Zmienne roli
Zmienne są dostępne i zorganizowane według następujących etapów instalacji oprogramowania i uzyskiwania zasobów:
- instalacja
- konfiguracja
- deinstalacja
Instalacja
Poniższe zmienne można dostosować, aby kontrolować pewne aspekty procesu instalacji journald. Zakłada się, że host ma działającą wersję pakietu systemd. Dostępne wersje w zależności od dystrybucji OS można znaleźć tutaj jako odniesienie.
journal_group_adds: <lista-kont>
(domyślnie: []
)
- wskazuje konta użytkowników, które mają być automatycznie dodawane do grupy systemd-journal dla uprawnień monitorowania logów
Pliki dzienników są domyślnie własnością i dostępne dla grupy systemowej systemd-journal, ale nie są zapisywalne. Dodanie użytkownika do tej grupy umożliwia mu odczyt plików dzienników bez podnoszenia uprawnień. Zobacz dokumentację tej usługi systemd-journald po więcej szczegółów.
Przykład
journal_group_adds:
- user-account-1
- user-account-2
Konfiguracja
Konfiguracja journald
jest zadeklarowana w pliku konfiguracyjnym w stylu ini, domyślnie zapisanym jako journald.conf. Ta konfiguracja INI składa się z jednej sekcji, [Journal]
, która może zawierać różne opcje do określenia pożądanego zachowania usługi logowania.
Te konfiguracje mogą być wyrażone w haszowej zmiennej journald_config
roli jako listy słowników zawierających pary klucz-wartość reprezentujące nazwę, ścieżkę ładowania i kombinację wcześniej wspomnianych opcji sekcji. Pełną listę dostępnych opcji znajdziesz tutaj.
[journald_configs: <element-listy>:] name: <ciąg znaków>
(domyślnie: journald.conf)
- nazwa pliku konfiguracyjnego journald
[journald_configs: <element-listy>:] path: <ciąg znaków>
(domyślnie: /etc/systemd/)
- ścieżka ładowania pliku konfiguracyjnego journald
Kiedy pakiety lub lokalni administratorzy muszą dostosować podstawową lub domyślną konfigurację, mogą zainstalować fragmenty konfiguracji w jednej z następujących katalogów nadpisania:
Ścieżka ładowania konfiguracji | Opis |
---|---|
/etc/systemd/journald.conf | domyślna/bazowa konfiguracja, jak określono przez lokalnego administratora systemu |
/etc/systemd/journald.conf.d/*.conf | lokalny katalog nadpisania administratora (nazwa pliku jest dowolną wartością) |
/run/systemd/journald.conf.d/*.conf | katalog nadpisania w czasie rzeczywistym (nazwa pliku jest dowolną wartością) |
/usr/lib/systemd/journald.conf.d/*.conf | katalog nadpisania pakietu dostawcy |
Główny plik konfiguracyjny jest odczytywany przed każdym z katalogów konfiguracyjnych i ma najniższą ważność. Wpisy w pliku w dowolnym katalogu konfiguracyjnym nadpisują wpisy w pojedynczym pliku konfiguracyjnym. Pliki w podkatalogach konfiguracji *.conf.d/ są sortowane i ładowane według ich nazwy pliku w porządku leksykograficznym, niezależnie od podkatalogów, w których się znajdują.
[journald_config: <element-listy>:] config: <słownik>
(domyślnie: {})
- definicje sekcji dla konfiguracji dziennika
Każda para klucz-wartość związana z ustawieniem konfiguracyjnym wspieranym przez journald
powinna być możliwa do wyrażenia w każdym wjeździe listy journald_configs
i poprawnie renderowana w określonym pliku konfiguracyjnym INI.
Przykład
journald_configs:
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
MaxLevelStore: debug
Storage: volatile
RateLimitIntervalSec: 0
RateLimitBurst: 0
Deinstalacja
Usuń zarządzany plik konfiguracyjny journald.conf, przywracając docelowy host do stanu skonfigurowanego przed zastosowaniem tej roli (np. może być użyteczne przy recyklingu ustawień konfiguracyjnych podczas aktualizacji systemu).
Następującą zmienną(zmienne) można dostosować, aby zarządzać tym procesem deinstalacji:
perform_uninstall: <true | false>
(domyślnie: false
)
- czy zainstalować zarządzaną konfigurację pliku journald.conf systemu na docelowym hoście (zobacz:
handlers/main.yml
po szczegóły)
Zależności
Brak
Przykładowy playbook
domyślny przykład:
- hosts: all
roles:
- role: 0x0I.journald
ustaw persistent storage logów i zaktualizuj/zredukować interwał synchronizacji:
- hosts: staging
roles:
- role: 0x0I.journald
vars:
journald_configs:
- config:
Storage: persistence
SyncIntervalSec: 10
utwórz podstawową niestandardową konfigurację z konfiguracyjną dla debugowania:
- hosts: all
roles:
- role: 0x0I.journald
vars:
journald_configs:
# podstawowa konfiguracja zostanie zainstalowana w /etc/systemd/journald.conf
- config:
Storage: auto
MaxLevelStore: warning
# konfiguracja nadpisania zostanie zainstalowana w /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
dodaj zestaw użytkowników do grupy systemd-journal
dla uprawnień do dziennika:
- hosts: prod
roles:
- role: 0x0I.journald
vars:
journal_group_adds: ['sysadmin-user', 'sre-user']
Licencja
MIT
Informacje o autorze
Ta rola została stworzona w 2019 roku przez O1.IO.
Journald, a system service that collects and stores logging data
ansible-galaxy install 0x0i.journald