SYSTEMD 로그 비활성화로 리눅스 성능 향상하기
CentOS 7 리눅스에서 /var/log/messages
로그 파일에 Created slice, Starting Session의 로그가 반복적으로 기록되고 있습니다. 이 로그는 사용자가 로그인할 때마다 발생하는 정상적인 로그지만, 모니터링에 불필요하고 성능에 영향을 줄 수 있습니다. 이 글에서는 이러한 로그를 비활성화하는 두 가지 방법을 소개합니다.
첫 번째 방법은 Rsyslog 설정 파일을 추가해서 해당 로그 구문 필터링을 통해 제외하는 방법입니다. 두 번째 방법은 SYSTEMD의 로그 레벨을 높여서 정보성 로그를 제외하는 방법입니다. 각각의 방법에 대해 자세히 알아보겠습니다.
환경 정보
- 운영 체제 : CentOS 7.9
- 실행 계정 : root
Rsyslog 설정으로 SYSTEMD 로그 필터링하기
/var/log/messages
파일에 아래와 같이 반복적인 로그가 기록되는 것으로 확인됩니다.
May 17 16:30:01 infracody.com systemd: Created slice User Slice of root. May 17 16:30:01 infracody.com systemd: Started Session 4221 of user root. May 17 16:40:01 infracody.com systemd: Created slice User Slice of root. May 17 16:40:01 infracody.com systemd: Started Session 4222 of user root. May 17 16:50:01 infracody.com systemd: Created slice User Slice of root. May 17 16:50:01 infracody.com systemd: Started Session 4223 of user root.
Rsyslog 설정 파일을 추가해서 해당 로그 구문 필터링을 통해 제외하는 방법은 다음과 같습니다.
/etc/rsyslog.d/ignore-systemd-session-slice.conf
설정 파일을 아래 명령을 실행하여 생성합니다.rsyslog
서비스를 재시작합니다./var/log/messages
파일을 확인하여 불필요한 로그가 제외되었는지 확인합니다.
echo ‘if $programname == “systemd” and ($msg contains “Starting Session” or $msg contains “Started Session” or $msg contains “Created slice” or $msg contains “Starting user-” or $msg contains “Starting User Slice of” or $msg contains “Removed session” or $msg contains “Removed slice User Slice of” or $msg contains “Stopping User Slice of”) then stop’ > /etc/rsyslog.d/ignore-systemd-session-slice.conf
systemctl restart rsyslog
tail -f /var/log/messages
SYSTEMD 로그 레벨 설정으로 SYSTEMD 로그 제외하기
/etc/systemd/system.conf
파일에 설정된 #LogLevel=info
부분을 주석 해제하고 notice
로 변경합니다.
sed -i ‘s/#LogLevel=info/LogLevel=notice/g’ /etc/systemd/system.conf
SYSTEMD의 데몬을 재실행하여 바로 적용하거나 리부팅하면 자동으로 적용됩니다.
systemctl daemon-reexec
마무리
이 글에서는 CentOS 7 리눅스에서 SYSTEMD의 불필요한 로그를 비활성화하는 두 가지 방법을 소개했습니다. 이 방법들은 성능 향상과 디스크 공간 절약에 도움이 될 수 있습니다. 하지만, 이 로그를 원격 rsyslog 서버로 전송된 후 원격 로그 서버의 rsyslog 규칙이 적용되어 원격 rsyslog 서버에서 작동하지 않습니다. 그러므로 원격 rsyslog 서버에서도 이 로그를 제외하려면 rsyslog.conf 파일에 필터링 규칙을 추가해야 합니다.
- 블로그 : www.infracody.com
이 글이 유익했나요? 댓글로 소중한 의견을 남겨주시거나 커피 한 잔의 선물은 큰 힘이 됩니다.