로그 관리(Log)
로그(Log) - 시스템에서 발생한 이벤트에 대한 기록
감사(Audit) - 관리자가 설정한 특정 대상에 대한 기록
로그의 필요성
- 보안적 측면: 침입 등에 대한 감시, 대응
- 운영적 측면: 시스템 장애 대응
systemd 이전의 로그
- syslog(rsyslog)
systemd 이후의 로그
- syslog(rsyslog)
- journal
systemd-journald
- journal을 담당하는 데몬
- 메모리에 저장
- 바이너리 데이터 형태로 저장 : /run/log/journal
syslog(rsyslog)
- 로그 데이터를 파일로 저장, 사용자에게 전달
- 네트워크의 다른 시스템으로 로그 전달
- systemd-journald에서 발생한 로그 중 선택적으로 분류하여 처리
- 선택/분류 조건: 기능(Facility), 우선순위(Priority)
로그의 우선순위
숫자 |
우선순위 |
심각도 |
0 |
emerg |
시스템 구동 여부에 영향을 줄 수 있는 레벨 |
1 |
alert |
즉시 조치가 필요함 |
2 |
crit |
심각한 오류 |
3 |
err |
중요도가 낮은 오류 |
4 |
warning |
경고 |
5 |
notice |
정상상태에서 발생하는 메시지 중 중요도 높음 |
6 |
info |
일상적인 내용 |
7 |
debug |
디버깅 메시지(일상적인 내용보다 자세한 내용) |
rsyslog 관련 파일
- /var/log
- messages : 일반적인 시스템 로그의 데이터 저장 (아래 항목 제외)
- secure : 인증 관련 로그
- maillog : 메일 관련 로그
- cron : 예약 작업 관련 로그
- boot.log : 부팅 관련 로그
- /etc/rsyslog.conf : rsyslog 설정 파일
rsyslog.conf 내 RULE 설정
ex) cron.* /var/log/cron
cron : 기능(Facility, 출처), 어디에서 나온 로그인가?
- 주요 Facility: https://en.wikipedia.org/wiki/Syslog#Facility
- * : 모든 facility
* : 우선순위. 지정된 우선순위에 해당하는 로그를 저장
- *: 모든 우선순위의 로그를 모두 지정
- 0~7, emerg~debug : 지정된 우선순위 해당 로그 및 그보다 높은 우선순위의 로그를 모두 지정
- none: 해당 기능은 로그 저장하지 않음
/var/log/cron: 기록 대상
- -<파일명> : 비동기화 저장 설정
- /dev/… : 특정 장치로 로그 전송
- :omusrmsg:* : 특정 사용자에게 로그 전송
journal
- 명령어 : journalctl
- 옵션
- -n [숫자]: 최근 [숫자] 개의 저널 출력
- -p [우선순위] : priority. 저널 메시지의 우선순위 지정
- -f : 발생하는 저널 메시지 실시간 확인
- -r : 역순 출력 (최근 저널부터)
- --since [시작 시점] : 특정 시점부터 출력
- --until [종료지점] : 특정 시점까지 출력
- _COMM : 명령 이름
- _EXE : 실행파일 경로
- _PID : 특정 PID 관련 로그 확인
- 메모리에 저장 : 재부팅, 종료 후 시작 등 초기화됨
- 저널 영구 저장 설정
- 기존 저널 저장 위치 정보를 확인
- 기존 저널 저장 위치인 /run/log/journal 경로와 같은 정보를 가지는 디렉터리를 생성
- # ls -ld /run/log/journal
- 소유자 root
- 소유 그룹 systemd-journal
- 권한 2755
- /var/log/journal 디렉터리 생성
- 소유자/소유 그룹/권한 설정 통일
- # mkdir /var/log/journal
- # chown root:systemd-journal /var/log/journal/
- # chmod 2755 /var/log/journal/
- # ls -ld /var/log/journal
logrotate
- 로그를 순환시키는 명령어
- 로그파일이 과도하게 커지거나, 과도하게 장기간의 데이터를 저장하거나 하는 상태를 방지
- 백업 생성. 규칙에 따라 일정 개수만큼의 백업만 보관
- cron(anacron)에 의해 주기적으로 실행
*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.
'IT > Linux' 카테고리의 다른 글
SELinux (0) | 2021.04.05 |
---|---|
방화벽관리(firewalld) (0) | 2021.04.03 |
작업 스케줄러 (0) | 2021.03.30 |
systemd (0) | 2021.03.29 |
저장소 관리(LVM,RAID) (0) | 2021.03.27 |
댓글