대부분의 OS, 프로그램은 로그를 남겨 장애시 원인 분석에 이용하게 된다.
리눅스, 특히 CentOS7 에서는 rsyslog라는 로그 시스템이 다양한 로그를 남긴다.
또한 로그가 계속 쌓이면 파일 사이즈가 비대해져 디스크 공간 부족이 생길 수 있고, 파일을 열어 분석하는 작업도 쉽지 않기에, logrotate라는 프로그램이 쌓인 로그를 파일로 분할하고, 오래된 로그 파일을 삭제하는 등의 작업을 한다.
rsyslog
시스템의 다양한 로그를 남긴다
1. 로그 파일 저장 위치 : /var/log/ 디렉토리 하위에 저장
2. 주요 로그파일
로그파일 | 설명 |
messages | 인증, 메일, cron을 제외한 대부분의 로그가 기록되는 파일 |
secure | 인증, 즉 보안 관련 로그가 저장되는 파일 |
maillog | 메일 관련 모든 로그가 저장되는 파일 |
cron | cron 관련 모든 로그가 저장되는 파일 |
spooler | uucp, news의 심각한 로그가 저장되는 파일 |
boot.log | 부팅 메시지가 저장된 로그 파일 |
3. rsyslog 운영
rsyslog 시작
# systemctl start rsyslog
rsyslog 재시작
# systemctl restart rsyslog
rsyslog 종료
# systemctl stop rsyslog
rsyslog 상태확인
# systemctl status rsyslog
logrotate (로그로테이트)
쌓인 로그를 파일로 분할하고, 오래된 로그 파일을 삭제하는 등의 작업을 하여 로그를 관리한다.
파일을 어떻게 분할할지, 어떤 주기로 로테이트 시킬지 등은 logrotate 설정에서 가능하다.
1. logrotate 설정 : /etc/logrotate.conf
2. logrotate 설정파일 보기/수정하기
아래 명령어로 설정파일을 열어보고, 수정 후 저장하면 된다.
# vi /etc/logrotate.conf
logrotate.conf 내용 예
: 매주 로테이트, 최대 4개의 과거 로그 보관, 로그 파일 사이즈가 10M 이상이 되면 로테이트, 로그파일 압축 보관하는 예이다.
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
size 10M
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
3. logrotate 실행
기본 실행
logrotate는 crond 데몬에 의해 매일 실행된다.
실행되는 파일 위치 : /etc/cron.daily/logrotate
직접 실행
설정 변경 후 바로 적용시키는 방법이다.
# logrotate -f /etc/logrotate.conf
'서버,데스크탑 > 리눅스(Linux)' 카테고리의 다른 글
[Linux] 시스템 사용자 계정 정리 (3) | 2024.09.27 |
---|---|
[리눅스] 명령어 모음 (0) | 2023.07.09 |
[리눅스] 메모리 사용량 보기 (0) | 2022.04.15 |