
Logstash, Elasticsearch 및 Kibana를 사용하여 중앙 집중식 로깅을 설정하려고 하는데 로그 서버에 로그를 가져오는 데 문제가 있습니다.
Logstash는 TCP 5000에서 수신 대기 중이며 내 서버 중 하나에서 성공적으로 로그를 수신하지만 나머지는 수신하지 않습니다. 5000의 로그 서버에 텔넷으로 연결할 수 있고 Logstash가 메시지를 선택하므로 로그를 보내는 rsyslog에 문제가 있다고 생각합니다.
저는 CentOS 6.5를 사용하고 있으며 /etc/rsyslog.conf에 다음을 추가했습니다.
$WorkDirectory /var/lib/rsyslog # where to place spool files
*.* @@logs.<domain_removed>.com:5000
변경 후 오류 없이 rsyslog가 다시 시작되었지만 Logstash에서 아무 것도 수신되지 않습니다. 스풀 디렉토리가 비어 있으므로 전송 실패라고 생각하지 않습니다.
May 16 20:46:10 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x- pid="5097" x-info="http://www.rsyslog.com"] exiting on signal 15.
May 16 20:46:10 kernel: imklog 5.8.10, log source = /proc/kmsg started.
May 16 20:46:10 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="3556" x-info="http://www.rsyslog.com"] start
오류를 추적하는 방법에 대한 아이디어가 있습니까?
편집: 이 문제는 SELinux로 인해 발생했습니다.
답변1
SELinux는 rsyslog가 포트 5000에서 전송하는 것을 차단했습니다. 기본적으로 SELinux는 rsyslog가 UDP 514에서 트래픽을 전송하도록 허용합니다.
다음을 사용하여 SELinux에 예외를 추가했습니다.
$sudo semanage port -a -t syslogd_port_t -p tcp 5000