본문 바로가기

Project/ElasticStack

beat-rsyslog 연동 이슈

0. 들어가며

auditbeat가 구동중인 linux 서버에서 rsyslog를 연동 할 경우 messages 로그에

설정한 auditbeat log가 남는것을 확인 할 수 있다. 이는 로그를 관리해야하는 입장에서 시스템 로그와 섞이기에 로그확인에 불편항 사항을 초래 할 수있다. 하지만 추가 설정 없이 기본 설정으로 운영 할 경우 rsyslog를 통하여 messages 로그에 남는 auditbeat 로그의 컨트롤 (ex.예외처리,파일분리 등)이 불가한데 아래는 이와같은 문제를 해결해나가는 과정이다.

1. auditbeat facility 확인

auditbeat 의 공식 docs를 찾아봐도 syslog의 facility에 대한 내용이 남겨져있는건 확인을 못했다.

(필자가 못찾은거일수도..)

서치중에 아래와 같이 libbeat내에 하드코딩된 내역을 확인 할 수 있었다. 확인된 내용으로 설정을 진행해보자.

 

2. 설정

위 내용을 토대로 syslog상에서 local0 퍼실리티에 대해 beat.log로 출력 및 messages에 예외처리 설정을 진행했다

[root@test ~]# vi /etc/rsyslog.conf

*.info;mail.none;authpriv.none;cron.none;local0.none                /var/log/messages
local0.*		/var/log/beat.log

그러나 여전히 messages log에 쌓이며 beat.log는 쌓이지않는 현상이 발생하였다.

관련하여 공식 문서를 좀더 확인해보던중 아래와 같은 옵션을 확인할수있었다.

 

messages에 자동으로 남는걸보고 syslog에 대한 설정이 기본적으로 되어있는거라 생각했는데,

해당 옵션이 있는걸 보고 auditbeat.yml에 아래와 같이 추가 설정을 진행해주었다.

[root@test ~]# vi /etc/auditbeat/auditbeat.yml

logging.to_syslog: true

위와 같이 진행 후 rsyslog에 설정된 내역대로 로그가 정상적 쌓이는걸 확인 할 수있었다. 

 

3. 결론

공식DOCS에 나와있는 여러 옵션 중 쓸모없는 옵션은 없다라는걸 느끼게 됐다.

messages에 남는걸보고 당연히 syslog 설정이 되어있다고 생각한점도 반성해야 될 부분중 하나인것 같다.