0

logstash -> elasticsearch를 고 가용성으로 실행하고 쉽게 달성 할 수있는 방법을 찾을 수 없습니다. 나는 그것을보고하는 방법을 검토하고 제발 올바른 :클러스터 출력을 멀티 캐스트없이 Elasticseach 클러스터에 전달

목표 :

  • 5 기계 단일 클러스터로 결합 실행중인 각 elasticsearch.
  • 5 대의 컴퓨터가 각각 logstash 서버를 실행하고 데이터를 elasticsearch 클러스터로 스트리밍합니다.
  • N 개의 기계가 각각의 등재 작업을 모니터링하고 스트리밍 데이터를 logstash 서버로 모니터링합니다.

제약 : 그래서 멀티 캐스팅 작동하지 않습니다 발견을 PaaS를 (CoreOS/도커)에서 실행하도록되어

  • .

솔루션 :

  • 나무꾼은 데이터를 전달하는 logstash 서버의 목록을 지정할 수 있습니다. Lumberjack은 임의로 대상 서버를 선택하고이 서버가 다운되면 다른 서버로 전환합니다. 그것은 작동합니다.
  • 나는 zookeeper discovery 플러그인을 사용하여 elasticsearch 클러스터를 구성 할 수 있습니다. 그것은 작동합니다.
  • 다중 캐스팅을 사용하면 각 logstash 서버가 elasticsearch 클러스터를 검색하고 결합합니다. 멀티 캐스팅을하지 않으면 단일 elasticsearch 호스트를 지정할 수 있습니다. 하지만 고 가용성은 아닙니다. 클러스터에 출력하려면 하나의 호스트가 다운 될 수는 없습니다.

질문 :

  • 는 사육사 검색 플러그인의 임베디드 elasticsearch를 logstash에 추가 현실인가? 방법?
  • 이 문제에 대한 더 쉬운 (자연스러운) 해결책이 있습니까?

감사합니다.

답변

1

Logstash 컨테이너에서 별도의 (포함되지 않은) Elasticsearch 인스턴스를 실행할 수 있지만 데이터를 저장하지 않도록 Elasticsearch를 구성하십시오. 마스터 노드로 설정할 수도 있습니다.

그러면 모든 Zookeeper 플러그인을 모든 Elasticsearch 인스턴스에 추가하여 클러스터를 구성 할 수 있습니다.

Logstash는 실제로 데이터를 색인하기 위해 5 개의 데이터 저장 노드에서 작동하는 로컬 Elasticsearch에 http를 통해 로그온합니다.

다른 방법으로이 질문은 내가 생각이있어 Elasticsearch Logstash output to Elasticsearch on AWS EC2

+0

의 임베디드 버전으로 작업 플러그인을 얻을하는 방법을 설명합니다. 분명한 답변을 주셔서 감사합니다! –

관련 문제