Linux에서 syslog
를 효과적으로 구성하는 방법을 한글로 정리해 보았습니다:
1.
서비스별 로그 파일 분리
특정 서비스나 애플리케이션 로그를 별도 로그 파일로 분리하여 관리합니다. 이렇게 하면/var/log/syslog
가 과도하게 복잡해지는 것을 방지할 수 있습니다.
예:if $programname == 'apache2' then /var/log/apache2.log & stop
로그 로테이션 설정
logrotate
를 이용해 오래된 로그 파일을 압축하거나 삭제하여 디스크 용량 부족 문제를 방지합니다./etc/logrotate.conf
또는/etc/logrotate.d/
파일에 정책을 추가합니다.
예:/var/log/syslog { daily rotate 7 compress missingok notifempty }
2.
- 로그 레벨 조정
INFO
,ERROR
,CRITICAL
등 시스템에 필요한 수준의 로그만 기록하도록 로그 레벨을 설정합니다./etc/rsyslog.conf
예제:*.info;mail.none;authpriv.none;cron.none /var/log/messages
3.
불필요한 로그 필터링
시스템에 필요 없는 로그 메시지는 필터링하여 리소스 낭비를 줄입니다.if $msg contains "불필요한_로그" then stop
구조화된 로그 포맷 사용
JSON과 같은 구조화된 로그 포맷을 사용하여 로그 분석 도구와의 호환성을 높입니다.template(name="jsonFormat" type="list") { constant(value="{") property(name="timestamp" ...) }
4.
원격 로깅 활성화
로그를 중앙 서버로 전송하여 통합 분석 및 관리가 가능하도록 설정합니다./etc/rsyslog.conf
예제:*.* @@logserver.example.com:514
- TCP 전송(
@@
)을 사용하여 신뢰성을 높입니다. - TLS 암호화를 적용하여 로그 데이터 보안을 강화합니다.
- TCP 전송(
로그 관리 도구 사용
Graylog, ELK Stack(Elasticsearch, Logstash, Kibana), 또는 Splunk와 같은 툴로 로그를 분석하고 시각화합니다.
5.
비동기 로깅 활성화
디스크 I/O를 줄이기 위해 비동기 로깅을 설정합니다.$ActionFileEnableSync off
버퍼 크기 조정
높은 트래픽 환경에서 로그 드롭을 방지하기 위해 버퍼 크기를 늘립니다.$MainMsgQueueSize 100000
6.
- 로그 모니터링 툴 사용
logwatch, ossec, fail2ban 등의 도구를 활용해 로그를 모니터링하고 중요 이벤트 발생 시 경고를 설정합니다.
7.
파일 권한 관리
로그 파일 접근 권한을 제한하여 보안을 강화합니다.chmod 640 /var/log/syslog
암호화 적용
민감한 정보가 포함된 로그 파일은 저장 또는 전송 전에 암호화합니다.
8.
- 구성 변경 테스트
변경된 설정을 적용하기 전에 테스트하여 오류를 방지합니다.rsyslogd -N1
위와 같은 설정을 적용하면 syslog
를 보다 효율적이고 안전하게 운영할 수 있습니다.
'InfraPlatform' 카테고리의 다른 글
리눅스 커널 파라미터 튜닝 할 때 많이 사용하는 설정 (1) | 2025.03.19 |
---|---|
Dockerise를 이용한 Nginx와 Tomcat Container를 구성하는 방법 (1) | 2025.02.18 |
안전한 웹서버 구축 보안 가이드 12가지 (2) | 2025.02.10 |
Docker 사용량 최적화: 불필요한 이미지 삭제와 /var/lib/docker 디렉토리 초기화 팁 (1) | 2025.01.13 |
리눅스 XFS 파일 시스템: 디스크 포맷과 fstab 설정 완벽 가이드 (0) | 2025.01.12 |
Install Docker on RHEL 9 (0) | 2025.01.08 |
keycloak 을 설치하고 신규 Realm 생성 (1) | 2025.01.05 |