-
원래 docker elk로 유명한 것은 위의 레포였다. star 수만 봐도 알 수 있다. 그런데 묘하게 불편했다(
내가 초보라 그런다)그러다가 아래의 레포를 찾았다. 무언가 더욱 더 확장된 기능이 많고 커스터마이징이 직관적으로 가능한 것 같았다.
리드미 보면 아래와 같이 더 확장된 기능을 지원한다.. 라던가 비교해놓은 글이 있는데 난 이중에서 Make it ready to be extended into a multinode cluster. 를 찾다가 이 리포를 찾았다.
많은 글들에서 compose를 직접 수정해서 사용하는 듯 했는데,, 이 정도면 이미지나 깃헙이 있지않을까? 라는 생각에 찾아보니 역시~
One of the most popular ELK on Docker repositories is the awesome deviantony/docker-elk. Elastdocker differs from deviantony/docker-elk in the following points.
- Security enabled by default using Basic license, not Trial.
- Persisting data by default in a volume.
- Run in Production Mode (by enabling SSL on Transport Layer, and add initial master node settings).
- Persisting Generated Keystore, and create an extendable script that makes it easier to recreate it every-time the container is created.
- Parameterize credentials in .env instead of hardcoding elastich:changeme in every component config.
- Parameterize all other Config like Heap Size.
- Add recommended environment configurations as Ulimits and Swap disable to the docker-compose.
- Make it ready to be extended into a multinode cluster.
- Configuring the Self-Monitoring and the Filebeat agent that ship ELK logs to ELK itself. (as a step to shipping it to a monitoring cluster in the future).
- Configured tools and Prometheus Exporters.
- The Makefile that simplifies everything into some simple commands.
위 깃헙에 있는 코드를 하나씩 뜯어봤다.
정말 배울게 많았다. 굉장히 이해하기 쉽고, 접근하기 쉽고 직관적으로 코드가 나누어져있어서 보는 내내 너무 행복했다.
(사실 예전에 비해서 조금 실력이 올라서 이해가 쉬워진걸 수도 있다. 이러나 저러나 행복한건 마찬가지다 :) )
기본적으로 비밀번호와 같은 세팅은 .env에서 변경할 수 있다. (숨긴파일이라 처음에 안보여서 당황..ㅎ)
컴포즈 파일은 아래와같이 6개가 있다.
기본적으로는 $ make elk 나 $ docker-compose up -d를 하면 가장 마지막에 있는 docker-compose.yml을 기준으로 컨테이너를 띄우게 된다.
docker-compose.logs.yml docker-compose.setup.yml docker-compose.monitor.yml docker-compose.tools.yml docker-compose.nodes.yml docker-compose.yml
그 외에 다른 것들은 필요하면 -f 명령어와 함께 입력하면된다.
$ docker-compose -f ~~.yml -f ~~.yml up -d
실행하기전 기본적으론 VM memory가 부족하므로 아래 명령어를 쳐야한다.
$ sysctl -w vm.max_map_count=262144
노드 추가도 손쉽게 가능하다.
하다보니 굉장히 귀여운것을 봤는데 9200 다음에 cat을 치면 아래처럼 고양이를 보여준다... 커여워
아래처럼 _cat/nodes?v&pretty를 입력하면 어떤 노드가 마스터 노드로 선택되었는지 확인할 수 있다.
'2022년 > Developement' 카테고리의 다른 글
오라클 계층형 쿼리 (0) 2022.07.11 Object Detction model (2) 2022.05.31 yolov5 하이퍼파라미터 (3) 2022.04.12 소프트웨어 장인 (0) 2022.04.12 로그 데이터의 중요성 (0) 2022.04.11