SharedIT | 묻고 답하기(AMP)

ELK filebeat 관련 문의

안녕하세요 !

현재 filebeat - logstash - Elasticsearch - kibana 구조로 테스트 서버는 구성했고,

내부 대역에서 filebeat -> logstash  까지는 정상적으로 전송이 됩니다.

문제는 타 지점의 서버 로그인데, 아래와 같은 상황 입니다.

  • 1.100.100.100.0/24 대역에 같이 있는 서버의 filebeat는 정상적으로 logstash로 전송 하는 상황(계속 쌓임)

  • 2.타 지점의 외부로 연결된 서버(200.200.200.200)의 filebeat는 전송이 안되고 있음

  • 3.200.200.200.200 서버에서 tcping 테스트를 하면 방화벽 로그 상에는 정상적으로 트래픽 발생

  • 4.200.200.200.200 <->100.100.100.0/24 서버간 모든 포트 허용되어 있는 상태

  • 5.서버 자체 방화벽 기능은 활성화 하지 않아서 이슈 없음


tcpping 테스트로 logstash 포트 테스트해보면 정상적으로 방화벽 로그에 표시 되고 있어서 정책 이슈는 없는데,

내부 대역의 filebeat와 똑같은 설정으로 구성을 했는데 외부의 서버에서 logstash 로 전송을 못할만한

설정이나 사유가 있을까요?

5개의 답변이 있습니다.

명동쓰레빠
  0 추천 | 약 2달 전

솔루션상담실에 문의해 보시길 바랍니다.


inside07 | 약 2달 전

오픈소스로 구축한거라 솔루션 상담실에 문의 할 내용은 아닌 것 같습니다.. ㅜ

앵그리파파
  0 추천 | 약 2달 전

네트워크 이슈로 보이는데, 이런 경우는 원인을 찾으려면 구간 구간 하나 하나 체크해보는게 시간은 걸리지만 조금 더 정확한 원인을 알 수 있는 것 같습니다. 

우선 200<->100 대역 서버 간 네트워크 연결 상태 부터 라우팅 테이블, 방화벽 규칙, VPN 등 의심이 갈 만한 부분을 체크해보세요.

그리고, 

1. filebeat 설정을 확인해 보세요.

- filebeat.yml 에서 output.logstrash 섹션을 검토하고 logstash 호스트 및 포트가 올바른지도 체크

2. logstash 설정도 확인해 보세요.

- logstash 의 설정 파일 logstash.conf 확인

- 입력과 출력 설정이 올바르게 구성되어 있는지 확인

logstash가 200 서버의 filebeat 데이터를 수신할 수 있도록 설정되어 있는지 재 확인

3. 방화벽 및 보안 그룹 설정 확인해 보세요.

- 200 서버와 logstash 서버간 방화벽 및 보안 그룹 설정 검토

logstash 포트(일반적으로 5044)가 허용되어 있는지 확인

- 방화벽 로그를 확인하여 트래픽이 차단되지 않는지 확인

4. logstash 로그도 확인해 보세요.

- var 아래 log 아래 logstash 아래 logstash-plain.log 

5. filebeat 로그 확인해 보세요.

 var 아래 log 아래 filebeat 아래 filebeat 


inside07 | 약 2달 전

문제는, 혹시 몰라서 동일한 대역 내부 ip 다른 vm 올려서 filebeat 설정했는데

처음엔 해당 vm 포트 5044 테스트 하는데 netstat | grep 5044로 활성화 확인 했는데

조금 지나면 포트를 못찾네요...

설정 상 문제될 건 없는 것 같은데,..말이죠..


두번째 테스트에서 같은 내부 대역에 새로 vm 올려 테스트 하기 때문에

내부 통신이라 통신 이슈는 없고, 서버들 방화벽도 별도로 올리지 않았습니다.

내부 A -> 내부 B Logstash 5044는 정상적으로 로그를 보내고 있는데,

내부  C -> 내부 B Logstash 5044는 포트 활성화가 안되네요..

설정이라고는 filebeat 설정에서 내부 B Logstash ip랑 5044 포트 지정해주고

logstash conf input에서는 5044 설정 밖에 없거든요

filebeat 설치과정에서 문제가 있을까요?

#output.elasticsearch: # Array of hosts to connect to. #hosts: ["localhost:9200"]

output.logstash: # The Logstash hosts hosts: ["localhost:5044"]


elasticsearch 비활성화 하고 logstash 활성화 하고 해당 서버 ip 포트만 지정해줘서

filebeat는 특별할 게 없는데 filebeat 설치한 테스트 서버가 5044 포트 활성화를 제대로 

못하는 것 같아요


에이스퐝
  0 추천 | 약 2달 전

라우팅이 문제 인거 같은데요...

방화벽에 찍히는 로그는 그냥 syn만 보내서 통과되도 찍힙니다.

정확하게 보려면 console로 봐서 syn 에 대한 ack 값도 정상적으로 오는지 봐야됩니다.

라우팅 처리만 되면 될것으로 보입니다.

근데 제가 봤을때 100대역이랑 200대역이 둘다 사설ip같은데.

그럼 둘다 다른 내부 IP가 밖으로 나갈때, NAT가 되어 공인IP가 있을 것 같은데

그 둘간 NAT되는 장비의 방화벽에서 포트가 오픈되어 있는지? 둘다 1:1NAT(Reverse NAT) 처리가 되어 있는지?

1:1NAT가 아니라 normal NAT 로 되어 있으면 당연히 안될것이고...

그거 확인해보시면 될 것 같습니다.


sshnau
  0 추천 | 약 2달 전

filebeat 에서 telnet 이나 nc 명령으로 telnet logstash 5022 했을 때 연결 안 되면 라우팅 등 네트워크 확인, 연결됐으면 logstash.yml 설정 확인(input 라인에 host 설정)

wansoo
  0 추천 | 약 2달 전

질문 내용의 이해가 어렵네요.

쉽게 말해서 200.200.200.200에서 100.100.100.0/24 네트워크와 통신이 되지 않는다는 질문이 아닐까요??

다른 설명 내용들은 질문 내용을 이해하는데 오히려 방해되는 내용이지 않을까 싶은데...


그리고...

200.200.200.200과 100100.100.0/24  양쪽 모두 사설 IP가 할당된 IP들이 아닐까 싶은데...

사설 IP라면 양쪽 간에는 VPN으로 가상 사설망이 구축되어 있거나 전용선으로 연결해서 서로간에 연결가능하도록 라우팅 설정이 되어 있어야 통신이 가능한 네트워크 IP이기 때문에 라우팅 설정이 되어 있지 않을 경우라면 통신이 되지 않는게 당연하지 않을까 생각되고요.


공인 IP라면... 방화벽 등에 의해 차단 되지 않은 상황이고, 양쪽 모두 정상적으로 인터넷 사용이 가능한 상태라면 서로간에 통신이 되어야 하는게 당연할 것 같아 보이고요.

공인 IP 일경우에 서로간에 연결이 안된다면... 방화벽에 의해 차단되어 있거나, 양쪽 중 적어도 한쪽이 인터넷이 되지 않는 상황이거나... 아니면, 어느 한쪽의 네트워크 관련된 어떤 오류가 있기 때문일 걸로 보이네요.

inside07 | 약 2달 전

단순히 외부에 있는 서버의 logstash 정보를 가져오고 싶은 겁니다.!

사설 ip를 기재하여 너무 장황하게 썼나보네요 ^^;

문제는, 혹시 몰라서 동일한 대역 내부 ip 다른 vm 올려서 filebeat 설정했는데

처음엔 해당 vm 포트 5044 테스트 하는데 netstat | grep 5044로 활성화 확인 했는데

조금 지나면 포트를 못찾네요...