SYSTEMD 로그 비활성화로 리눅스 성능 향상하기

CentOS 7에서 SYSTEMD 로그 비활성화로 성능 향상하기. Rsyslog 설정과 SYSTEMD 로그 레벨 설정 두 가지 방법으로 불필요한 로그를 제거하는 방법을 알려드립니다.
인프라코디
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 설정 파일을 추가해서 해당 로그 구문 필터링을 통해 제외하는 방법은 다음과 같습니다.

  1. /etc/rsyslog.d/ignore-systemd-session-slice.conf 설정 파일을 아래 명령을 실행하여 생성합니다.
  2. 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 
  3. rsyslog 서비스를 재시작합니다.
  4. systemctl restart rsyslog
  5. /var/log/messages 파일을 확인하여 불필요한 로그가 제외되었는지 확인합니다.
  6. 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 파일에 필터링 규칙을 추가해야 합니다.

인프라코디
서버, 네트워크, 보안 등 IT 인프라 관리를 하는 시스템 엔지니어로 일하고 있으며, IT 기술 정보 및 일상 정보를 기록하는 블로그를 운영하고 있습니다. 글을 복사하거나 공유 시 게시하신 글에 출처를 남겨주세요.

- 블로그 : www.infracody.com

이 글이 유익했나요? 댓글로 소중한 의견을 남겨주시거나 커피 한 잔의 선물은 큰 힘이 됩니다.
댓글