thulium_drake.journald

중앙 집중식 로깅을 위한 Ansible을 통한 Journald 설정

이 역할은 시스템 로그를 systemd-journald를 통해 중앙 시스템에 수집하는 방법을 제공합니다.

모든 로그는 vars에서 journald_server로 지정된 시스템에 저장됩니다. 이 역할이 해당 호스트에서 실행될 때, 저널 수집기를 구성합니다.

사용법

  • 역할을 설치합니다 (Galaxy에서 또는 GitHub에서 직접).
  • 기본 파일을 인벤토리에 복사하고 (또는 저장하는 위치에) 빈칸을 채웁니다.
  • 마스터 플레이북에 역할을 추가합니다.
  • Ansible을 실행합니다.
  • ???
  • 이익을 봅니다!

로그 분석

수집된 로그를 검색하거나 읽으려면, 로컬 저널을 읽을 때 사용하는 같은 journalctl 도구를 사용합니다. 아래는 몇 가지 예시입니다:

  • 수집된 모든 저널 보기
journalctl -f -D /log
  • 특정 유닛 파일에서 저널 보기 (어떤 머신에서든)
journalctl -f -D /log -u my-thing.service

SSL

SSL이 활성화된 상태에서 이 역할을 실행할 때, 다음을 제공해야 합니다:

  • systemd-journal-upload 사용자에게 접근 가능한 CA 인증서 (자체 서명 또는 그 외의 인증서)
  • 해당 CA에 의해 서명된 로그호스트 시스템의 서버 인증서, systemd-journal-remote 사용자에게 접근 가능해야 합니다.

자체 서명된 '단독' 인증서는 작동하지 않습니다!

Systemd 버전이 234 이상인 시스템에서 이 역할을 실행하려는 경우, 클라이언트가 journald 서버에 인증하기 위한 클라이언트 인증서를 준비해야 합니다. 이 인증서는 모든 클라이언트가 공유할 수 있습니다.

인증서를 설치하는 샘플 스크립트 (인증서는 직접 제공):

- name: 'Ensure journald client certificate group'
  group:
    name: 'journald-cert'
    system: true
    state: 'present'

- name: 'Ensure journald client certificate directory'
  file:
    path: '/etc/ssl/journald'
    state: 'directory'
    owner: 'root'
    group: 'journald-cert'
    mode: 0770

- name: 'Ensure certificate files'
  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'

이 접근 방식은 같은 환경에서 CentOS7과 CentOS8에서 테스트되었습니다.

버그: CentOS7 (또는 systemd 219가 있는 다른 시스템)

이 systemd 버전의 systemd-journal-remote는 저널이 수신 쪽의 이름으로 저장되는 버그가 있습니다. 이 역할이 구성하는 수동 소스의 경우, 모든 저널이 단일 파일에 수집됩니다.

Informazioni sul progetto

Systemd Journald log forwarding & collection by Ansible

Installa
ansible-galaxy install thulium_drake.journald
Licenza
gpl-3.0
Download
226
Proprietario