인프런 커뮤니티 질문&답변

권정현님의 프로필 이미지
권정현

작성한 질문수

실리콘밸리 엔지니어와 함께하는 Elasticsearch

Elasticsearch 설치해 보기

docker-compose로 실행 시 es01이 중지됩니다.

해결된 질문

작성

·

35

0

안녕하세요 강사님

https://www.elastic.co/blog/getting-started-with-the-elastic-stack-and-docker-compose

에 있는 깃허브 레포지토리를 클론하여

처음에는 es01이 실행되고 로그 스테시가 종료되었습니다.

 

그 이후 부터는 es01이 중지되는데

아래와 같은 로그와 함께 종료 되는 종료 되는데 logstash와 es01 사이에 충돌이 있어 종료되는 걸까요..?

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:22,058][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600, :ssl_enabled=>false}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:22,413][INFO ][org.reflections.Reflections] Reflections took 103 ms to scan 1 urls, producing 132 keys and 462 values

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:22,681][INFO ][logstash.javapipeline ] Pipeline main is configured with pipeline.ecs_compatibility: v8 setting. All plugins in this pipeline will default to ecs_compatibility => v8 unless explicitly configured otherwise.

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:22,691][INFO ][logstash.outputs.elasticsearch][main] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["https://es01:9200"]}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:22,795][INFO ][logstash.outputs.elasticsearch][main] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[https://elastic:xxxxxx@es01:9200/]}}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,021][WARN ][logstash.outputs.elasticsearch][main] Restored connection to ES instance {:url=>"https://elastic:xxxxxx@es01:9200/"}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,026][INFO ][logstash.outputs.elasticsearch][main] Elasticsearch version determined (8.7.1) {:es_version=>8}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,027][WARN ][logstash.outputs.elasticsearch][main] Detected a 6.x and above cluster: the type event field won't be used to determine the document _type {:es_version=>8}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,041][INFO ][logstash.outputs.elasticsearch][main] Not eligible for data streams because config contains one or more settings that are not compatible with data streams: {"index"=>"logstash-%{+YYYY.MM.dd}"}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,041][INFO ][logstash.outputs.elasticsearch][main] Data streams auto configuration (`data_stream => auto` or unset) resolved to false

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,042][WARN ][logstash.outputs.elasticsearch][main] Elasticsearch Output configured with ecs_compatibility => v8, which resolved to an UNRELEASED preview of version 8.0.0 of the Elastic Common Schema. Once ECS v8 and an updated release of this plugin are publicly available, you will need to update this plugin to resolve this warning.

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,051][INFO ][logstash.outputs.elasticsearch][main] Using a default mapping template {:es_version=>8, :ecs_compatibility=>:v8}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:23,056][INFO ][logstash.javapipeline ][main] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>5, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>625, "pipeline.sources"=>["/usr/share/logstash/pipeline/logstash.conf"], :thread=>"#<Thread:0x5c232bef@/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:134 run>"}

elastic-stack-docker-part-one-kibana-1 | [2024-11-21T08:02:23.823+00:00][INFO ][plugins.fleet] Fleet Usage: {"agents_enabled":true,"agents":{"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"inactive":0,"unenrolled":0,"total_all_statuses":0,"updating":0},"fleet_server":{"total_all_statuses":0,"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"updating":0,"num_host_urls":0}}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:25,308][INFO ][logstash.javapipeline ][main] Pipeline Java execution initialization time {"seconds"=>2.24}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:25,995][INFO ][logstash.inputs.file ][main] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/usr/share/logstash/data/plugins/inputs/file/.sincedb_c6353e36a29b3d92bc7ba2e7e43ff9d8", :path=>["/usr/share/logstash/ingest_data/*.csv"]}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:26,067][INFO ][logstash.javapipeline ][main] Pipeline started {"pipeline.id"=>"main"}

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:26,113][INFO ][filewatch.observingread ][main][aa52bdf6ce8b0a9dfd85c6762c35822ea405c6a5f2bb1ac09cf453850a9715f3] START, creating Discoverer, Watch with file and sincedb collections

elastic-stack-docker-part-one-logstash01-1 | [2024-11-21T08:02:26,619][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}

elastic-stack-docker-part-one-es01-1 |

elastic-stack-docker-part-one-es01-1 | ERROR: Elasticsearch exited unexpectedly

혹시 따로 설정해야 되는 부분이 있을까요..?

이미지 삭제 후 재실행해도 똑같은거 같네요...

답변 2

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 권정현님,

제가 현재 휴가 중이라 랩탑이 없는 상태인데, 혹시 직접 클론을 하시지 마시고, 제가 제공해드린 코드의 docker-compose로 사용해 보시겠어요? 제가 필요없는 부분과 필요한 부분을 좀 바꾼 코드로 실행하시는데 최대한 문제 없이 만들어 놓았기 때문에 실행이 잘 되실 겁니다.

권정현님의 프로필 이미지
권정현
질문자

안녕하세요!

제 컴퓨터에 파일들끼리 충돌나서 안되었던거 같습니다

포맷 후 강사님께서 주신 코드로 실행하니 설치영상 처럼 잘 나오네여 :)

왠만하면 그냥 해볼려고 여러가지 시도 중 도커 재설치하다가 작동이 멈추어 버려서ㅠㅠ

암튼 감사합니다 다음 강의도 잘 보겠습니다!

 

0

안녕하세요, 인프런 AI 인턴입니다. 권정현님.

Elasticsearch와 Docker Compose를 사용하면서 발생하는 문제를 해결하시기 위해 로그 분석을 통한 기본적인 문제를 설명드리겠습니다. 현재 상황에서 es01 컨테이너가 중지되는 현상은 여러 가지 이유로 발생할 수 있습니다.

1. Logstash와 Elasticsearch 간의 설정 문제

로그에 따르면 Logstash가 Elasticsearch에 연결을 시도하고 있는 것을 알 수 있습니다. 이 과정에서 다음과 같은 문제를 확인해야 합니다:

  • Elasticsearch의 URL 및 인증 정보: Logstash 설정 파일에서 사용한 Elasticsearch의 URL이 올바르게 설정되어 있는지 확인합니다. 인증 정보(elastic:xxxxxx)도 유효한지 다시 확인해 보십시오.
  • Elasticsearch 상태 확인: es01이 정상적으로 작동하는지 확인하려면 Docker에서 해당 컨테이너의 로그를 검토해야 합니다. docker logs <es01-container-id>를 사용하여 Elasticsearch의 오류 메시지를 확인해 보십시오.

2. 사용자 권한 및 보안 문제

Elasticsearch와 Logstash 사이의 연결 문제는 사용자 권한 문제에 기인할 수 있습니다. 다음 사항을 확인하세요:
- Elasticsearch의 사용자와 역할이 올바르게 설정되어 있는지 확인하세요.
- 필요한 경우, xpack.security.enabled 설정을 살펴보고 올바른 인증 방법을 사용하고 있는지 검토하세요.

3. 리소스 할당 및 호환성

  • 메모리 및 용량: Docker의 메모리 할당이 충분한지 확인하세요. 부족한 메모리는 서비스 중지를 유발할 수 있습니다.
  • 버전 호환성: Elasticsearch, Logstash, 그리고 Kibana의 버전이 서로 호환되는지 확인해야 합니다.

관련 기존 질문 및 솔루션 확인

위의 정보를 토대로 문제를 해결해 보시기 바랍니다. 오류 메시지를 분석하고 필요한 설정을 조정하시면 문제 해결에 도움이 될 것입니다. 추가적인 질문이나 문제가 발생하면 언제든지 추가로 말씀해 주시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

권정현님의 프로필 이미지
권정현

작성한 질문수

질문하기