본문 바로가기
리눅스/Part3. Ch06. 로깅

02. syslog의 이해

by Engineer-Lee 2022. 12. 14.
반응형

Systemd journal이 아닌 syslog도 알아야 하나요? -> 같이 사용됨

 

syslog

- 로깅 시작은 로그 형식 정의
-> IETF 표준 로깅 프로토콜(RFC 5424)을 따르는 포괄적인 로깅 시스템
주요 기능
. 개발자에게 로그 파일을 작성하는 메커니즘을 제공
. 시스템 관리자에게 로깅 통제권을 제공
기존 -> 모든 프로그램이 자유롭게 로깅 정책을 만들어 사용
syslog -> 시스템 관리자는 소스(facility), 중요도(severity level)에 따라 메시지 정렬
다양한 목적지로 경로를 전환 및 내용을 변경
- syslog 데몬 변경 : syslogd -> rsyslogd (syslog의 호환을 유지하면서 기능 확장)
- 메시지 확인
-> cat, grep, less, awk (일반적인 텍스트 처리 도구 사용)
cat /var/log/syslog
- 로그 형식 : 타임스탬프, 호스트명, 프로세스 이름[PID], 메시지 페이로드

 

 

rsyslog 설정

- /etc/rsyslog.d/ 디렉토리 내 .conf 파일

 

 


[실습] sshd 관련 로그를 별도의 로그 파일(ssh.log)로 출력


0. ssh 로그 확인
journalctl -u ssh.service


1. ssh 관련 로그 저장을 위해 커스텀 룰 추가
    -> /etc/rsyslog.d/ 디렉토리 내 .conf 파일 생성
sudo vim /etc/rsyslog.d/22-ssh.conf

if $programname == 'sshd' then /var/log/ssh.log

2. rsyslog 재시작
sudo systemctl restart rsyslog.service


3. 새로운 ssh 클라이언트 접속


4. ssh.log 파일 정보 확인
cat /var/log/ssh.log


rsyslog 와 systemd journal의 관계

- 로그 수집은 journald 데몬이 메인으로 관리
- 로그 파일은 rsyslog 통해서, rsyslog.conf 내용에 따라 /var/log/에 만들어짐
이벤트/메시지 -> /dev/log -> systemd-journald -> journalctl & rsyslogd -> 로그 파일

 


정리하기

 

syslog

- 여전히 사용
- 정확히는 syslog -> rsyslog
- /var/log 밑에 로그 파일들 생성은 rsyslog.d에 룰을 추가해서 설정
(ssh 서비스 데몬 로그를 /var/log/ssh.log 파일에 저장하는 실습 진행)

 

systemd journal과 syslog의 관계

- 로그 수집은 systemd의 journald가 담당
   -> journald의 데이터베이스가 소스의 근원
- rsyslog가 unix socket을 사용하여, journald 가 수집한 정보를 가져와서 설정된 룰에 맞게 별도 파일들로 저장

반응형