thulium_drake.journald

Centralne logowanie za pomocą Journald przez Ansible

Ta rola umożliwia zbieranie logów systemowych na centralnym systemie za pomocą systemd-journald.

Wszystkie logi są zapisywane na systemie oznaczonym jako journald_server w zmiennych. Po uruchomieniu roli na tym hoście, skonfiguruje ona kolektor dzienników.

Użycie

  • Zainstaluj rolę (z Galaxy lub bezpośrednio z GitHub)
  • Skopiuj plik domyślny do swojego inwentarza (lub tam, gdzie je przechowujesz) i wypełnij brakujące pola.
  • Dodaj rolę do swojego głównego pliku playbook.
  • Uruchom Ansible.
  • ???
  • Zyskaj korzyści!

Analizowanie logów

Wyszukiwanie lub odczytywanie zebranych logów można zrobić za pomocą tego samego narzędzia journalctl, którego używasz do odczytu lokalnych dzienników. Oto kilka przykładów:

  • Śledź wszystkie przychodzące dzienniki
journalctl -f -D /log
  • Śledź wszystkie dzienniki z konkretnego pliku jednostki (na dowolnej maszynie)
journalctl -f -D /log -u my-thing.service

SSL

Podczas uruchamiania tej roli z włączonym SSL, upewnij się, że masz zapewnione następujące elementy:

  • Certyfikat CA (nawet samopodpisany) dostępny dla użytkownika systemd-journal-upload
  • Certyfikat serwera dla systemu loghost podpisany przez tę CA, dostępny dla użytkownika systemd-journal-remote

Samopodpisany certyfikat 'solo' nie będzie działać!

Zauważ, że jeśli chcesz uruchomić tę rolę na systemach z wersją Systemd wyższą niż 234, musisz zorganizować certyfikat klienta, aby klienci mogli uwierzytelnić się wobec serwera journald. Ten certyfikat może być współdzielony przez wszystkich klientów.

Przykładowy skrypt do zainstalowania (przygotuj certyfikat samodzielnie) certyfikatu:

- name: 'Zapewnij grupę certyfikatów klienta journald'
  group:
    name: 'journald-cert'
    system: true
    state: 'present'

- name: 'Zapewnij katalog certyfikatów klienta journald'
  file:
    path: '/etc/ssl/journald'
    state: 'directory'
    owner: 'root'
    group: 'journald-cert'
    mode: 0770

- name: 'Zapewnij pliki certyfikatów'
  copy:
    src: "{{ cert.src }}"
    dest: "{{ cert.dest }}"
    owner: 'root'
    group: 'journald-cert'
    mode: 0440
  loop:
    - src: "{{ journald_certificate_source }}"
      dest: '/etc/ssl/journald/client.crt'
    - src: "{{ journald_key_source }}"
      dest: '/etc/ssl/journald/client.key'
  loop_control:
    loop_var: 'cert'

To podejście zostało przetestowane na CentOS7 i CentOS8 w tym samym środowisku.

BŁĄD: CentOS7 (lub inne systemy z systemd 219)

Wersja systemd-journal-remote w tej wersji systemd zawiera błąd, w którym dzienniki są zapisywane w pliku nazwanym po odbiorczym końcu transakcji. W przypadku pasywnych źródeł, które konfiguruje ta rola, oznacza to, że wszystkie dzienniki są zbierane w jednym pliku.

O projekcie

Systemd Journald log forwarding & collection by Ansible

Zainstaluj
ansible-galaxy install thulium_drake.journald
Licencja
gpl-3.0
Pobrania
226
Właściciel