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 가 수집한 정보를 가져와서 설정된 룰에 맞게 별도 파일들로 저장
'리눅스 > Part3. Ch06. 로깅' 카테고리의 다른 글
05. (실습) systemd 등록 어플리케이션의 로그 저장 (0) | 2022.12.15 |
---|---|
04. 대규모 로그 관리 (0) | 2022.12.14 |
03. 로그파일 관리 (0) | 2022.12.14 |
01. 리눅스 로깅 이해 (0) | 2022.12.14 |