robertdebock.rsyslog

Rola Ansible rsyslog

Zainstaluj i skonfiguruj rsyslog na swoim systemie.

GitHub GitLab Pobrania Wersja
github gitlab downloads Version

Przykładowy Playbook

Ten przykład pochodzi z molecule/default/converge.yml i jest testowany przy każdym uruchomieniu, żądaniu pull i wydaniu.

---
- name: Konwergencja
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rsyslog

Maszyna musi być przygotowana. W CI odbywa się to za pomocą molecule/default/prepare.yml:

---
- name: Przygotowanie
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

Zobacz także pełne wyjaśnienie i przykład dotyczące korzystania z tych ról.

Zmienne roli

Domyślne wartości dla zmiennych są ustawione w defaults/main.yml:

---
# plik domyślny dla rsyslog

# Aby skonfigurować serwer do odbierania logów, ustaw rsyslog_receiver na tak.
rsyslog_receiver: false

# Aby przesyłać logi do innego serwera, ustaw rsyslog_remote na nazwę hosta lub
# adres IP odbierającego serwera rsyslog.
# Niezdefiniowanie tej zmiennej nie spowoduje przesyłania logów.
# rsyslog_remote: server1.example.com

# Jeśli rsylog_remote jest ustawiony, ustawia wzór "selector" do ustalenia, które
# wiadomości wysyłać do zdalnego serwera. Domyślnie "*.*" wysyła wszystko.
# Zobacz `man rsyslog.conf`.
rsyslog_remote_selector: "*.*"

# Jeśli rsylog_remote jest ustawiony, użyj TCP, jeśli tak. UDP, jeśli nie.
rsyslog_remote_tcp: true

# Jeśli rsylog_remote jest ustawiony, port docelowy do użycia.
rsyslog_remote_port: 514

# Ustaw tryb dla nowych katalogów; dostępny tylko w szablonie legacy.
rsyslog_dircreatemode: "0700"

# Ustaw tryb dla nowych plików; dostępny tylko w szablonie legacy.
rsyslog_filecreatemode: "0644"

# Ustaw włączone moduły
rsyslog_mods:
  - imuxsock
  - imjournal

# Skonfiguruj rsyslog minimalnie (może być w konflikcie z niestandardowymi plikami konfiguracyjnymi)
rsyslog_deploy_default_config: true

# Domyślne zasady rsyslogd
rsyslog_default_rules:
  - { rule: '*.info;mail.none;authpriv.none;cron.none', logpath: '/var/log/messages' }
  - { rule: 'authpriv.*', logpath: '/var/log/secure' }
  - { rule: 'mail.*', logpath: '-/var/log/maillog' }
  - { rule: 'cron.*', logpath: '/var/log/cron' }
  - { rule: '*.emerg', logpath: ':omusrmsg:*' }
  - { rule: 'uucp,news.crit', logpath: '/var/log/spooler' }
  - { rule: 'local7.*', logpath: '/var/log/boot.log' }

# Użyj (nieaktualnego) formatu pliku konfiguracyjnego legacy, przed wersją 6,
# lub nowocześniejszego formatu pliku konfiguracyjnego 'advanced' dostępnego w wersji 6 i wyższych. 
# Domyślnie używany jest format 'legacy', aby nie zmieniać plików konfiguracyjnych dla
# istniejących użytkowników tej roli bez ostrzeżenia.
# Więcej informacji na temat różnych formatów znajdziesz na stronie rsyslog:
# https://www.rsyslog.com/doc/v8-stable/configuration/conf_formats.html
rsyslog_config_file_format: legacy

# Nazwa reguły, która ma być dodana do /etc/rsyslog.d/
# rsyslog_forward_rule_name: <do wypełnienia>

# Skonfiguruj pakiet rsyslog jako `present`, lub ustaw na `latest`, aby zainstalować
# najnowszą dostępna wersję.
rsyslog_package_state: present

# jeśli ustawione na false (domyślnie legacy dla zachowania kompatybilności z sysklogd), 
# część domeny z nazwy, która znajduje się w tej samej domenie co system odbierający, jest 
# usuwana. Jeśli ustawione na true, pełne nazwy są zawsze używane.
rsyslog_preservefqdn: false

# Skonfiguruj dodatkowe pliki konfiguracyjne w /etc/rsyslog.d
# Przykład:
# rsyslog_rsyslog_d_files:
#   000-splunk:
#     content: |
#       auth,authpriv.* action(type="omfwd"
#                              target="splunk"
#                              port="514"
#                              protocol="tcp")
rsyslog_rsyslog_d_files: []

# Unikaj wiadomości sd_journal_get_cursor() failed: Cannot assign requested address
# z powodu logrotate
rsyslog_workaroundjournalbug: false

# Wyłącza odbieranie wiadomości za pomocą lokalnego gniazda logowania
rsyslog_imuxsock_syssock: false

# Zainstaluj dodatkowe pakiety rsyslog
# Przykład z instalacją rsyslog-elasticsearch:
# rsyslog_features:
#   - gnutls
#   - elastisearch
rsyslog_features: []

# Domyślna lokalizacja pliku konfiguracyjnego rsyslog
rsyslog_dest_conf_file: "/etc/rsyslog.conf"

# Włącz / wyłącz opcję OmitLocalLogging
rsyslog_omit_local_logging: true

# Umożliwia korzystanie z tradycyjnego formatu pliku.
rsyslog_traditional_file_format: true

Wymagania

Stan używanych ról

Następujące role są używane do przygotowania systemu. Możesz przygotować system w inny sposób.

Wymaganie GitHub GitLab
robertdebock.bootstrap Stan budowy GitHub Stan budowy GitLab

Kontekst

Ta rola jest częścią wielu kompatybilnych ról. Zapoznaj się z dokumentacją tych ról po więcej informacji.

Oto przegląd powiązanych ról: dependencies

Kompatybilność

Ta rola została przetestowana na tych obrazach kontenerów:

kontener tagi
Alpine wszystkie
Amazon Kandydat
EL 9
Debian wszystkie
Fedora wszystkie
Ubuntu wszystkie

Minimalna wymagana wersja Ansible to 2.12, testy zostały przeprowadzone na:

  • Poprzedniej wersji.
  • Aktualnej wersji.
  • Wersji deweloperskiej.

Jeśli napotkasz problemy, zgłoś je w GitHubie.

Licencja

Apache-2.0.

Informacje o autorze

robertdebock

Rozważ wsparcie mnie.

O projekcie

Install and configure rsyslog on your system.

Zainstaluj
ansible-galaxy install robertdebock.rsyslog
Licencja
apache-2.0
Pobrania
334.6k
Właściciel
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.