2013-10-26 4 views
0

syslog-ng를 사용하여 후위의 여러 줄을 지원하려고합니다. syslog-ng는 "플래그 (다중 멀티 라인)"구성 옵션을 사용할 수 있지만 작동하지 않거나 잘못 적용하고 있습니다.tls를 사용할 때 syslog-ng가 다중 회선을 지원합니다.

내 구성 :

클라이언트 :

source s_src { 
     system(); 
     internal(); 
}; 
filter f_mail { facility(mail) and not filter(f_debug); }; 
log { source(s_src); filter(f_mail); destination(d_mail); }; 
destination d_tls { 
    tcp("logs.myserver.com" port(999) 
    tls(ca_dir("/etc/syslog-ng/ssl/"))); 
}; 

log { 
source(s_src); 
destination(d_tls); 
}; 

서버 :

source s_tls { 
     tcp(port(999) 
     tls(key_file("/etc/syslog-ng/ssl/logs.key") 
       cert_file("/etc/syslog-ng/ssl/logs.crt") 
     peer_verify(optional-untrusted)) 
     flags(no-multi-line) # no worky 
     ); 
}; 

답변

1

syslog documentations에서 :

없는 멀티 라인 : 노 멀티 라인 플래그 비활성화 메시지를 줄 바꿈; 전체 메시지가 한 행으로 변환됩니다. 기본 전송 메소드가 실제로 여러 행의 메시지를 지원하는 경우에만 발생합니다. 현재 syslog, udp, unix-dgram 드라이버는 다중 행 메시지를 지원합니다. 다른 드라이버 (예 : )는이 아닙니다.

따라서 여러 줄 메시지가 처음에는 서버에 도착하는 방법이 명확하지 않습니다. 이 문제를 해결하기 위해 플래그를 파일 매개 변수에 넣을 수 있습니다.

destination d_farm_cmtslog_debug { 
    file("/var/log/cm/cmts.debug" flags(no-multi-line)); 
};