Elasticsearch 이 글에서는 배포 및 Kibana 사용 방법을 살펴보겠습니다 Docker Compose. 이는 ELK Stack( Elasticsearch, Logstash, Kibana)의 두 가지 핵심 구성 요소로, 데이터를 효과적으로 검색, 분석 및 시각화하는 데 도움이 됩니다. 자세한 구성과 각 구성 요소의 작동 방식은 다음과 같습니다.
1. Elasticsearch
a. 기본 구성
Elasticsearch 다음 매개변수를 사용하여 Docker 컨테이너에서 실행되도록 구성됨:
이미지: 공식 Elasticsearch 이미지 버전 을
8.17.2
사용합니다.단일 노드 모드: 환경 변수를 통해 활성화됩니다
discovery.type=single-node
.보안: X-Pack 보안이 활성화되어 있으며(
xpack.security.enabled=true
)elastic
사용자의 비밀번호가 .으로 설정되어 있습니다YVG6PKplG6ugGOw
.네트워크: Elasticsearch는 모든 네트워크 인터페이스(
network.host=0.0.0.0
)에서 수신합니다.JVM 메모리:
-Xms1g
(초기 메모리)와-Xmx1g
(최대 메모리) 로 구성됩니다 .
b. Ports 그리고 Volumes
Ports: 포트
9200
(HTTP)와9300
(내부 통신)은 컨테이너에서 호스트로 매핑됩니다.Volumes: Elasticsearch 데이터는 볼륨에 저장됩니다
elasticsearch-data
.
c. 건강 검진
API를 사용자와 함께 Elasticsearch 호출하여 상태를 모니터링하도록 상태 확인이 설정됩니다. API가 응답하지 않으면 컨테이너가 다시 시작됩니다. /_cluster/health
elastic
2. Kibana
a. 기본 구성
Kibana Elasticsearch 다음 매개변수를 사용하여 Docker 컨테이너에 연결하고 실행하도록 구성됨:
이미지: 공식 Kibana 이미지 버전 을
8.17.2
사용합니다.Elasticsearch 연결: 주소 Elasticsearch 가(으)로 설정되었습니다
http://elasticsearch:9200
.인증: Kibana는
kibana_user
비밀번호를 사용하여.YVG6PKplG6ugGOw
에 연결합니다 Elasticsearch.
b. Ports 및 네트워크
Ports: 포트
5601
는 컨테이너에서 호스트로 매핑되어 Kibana 인터페이스에 접근합니다.네트워크: Kibana는 .에 연결되어 있습니다
elk-network
.
c. 의존성 Elasticsearch
Kibana 준비가 된 후에만 시작 Elasticsearch 되므로 두 서비스 간의 연결이 성공적으로 이루어집니다.
3. 볼륨 및 네트워크
a. 볼륨
elasticsearch-data: 이 볼륨은 데이터를 저장하는 데 사용되며 Elasticsearch, 컨테이너가 삭제되어도 데이터 지속성을 보장합니다.
b. 네트워크
elk-network: 서비스 를 연결하기 위한 네트워크
bridge
가 생성됩니다. Elasticsearch Kibana
4. 사용 방법
a. 서비스 시작
시작하려면 Elasticsearch 다음 Kibana 명령을 실행하세요.
b. Kibana 사용자 생성(필요한 경우)
전용 사용자를 사용하려면 Kibana 다음 명령을 사용하여 사용자를 만들 수 있습니다.
비밀번호 대신 을 사용하려면 token 다음 명령을 사용하여 비밀번호를 생성하세요.
5. 문제 해결
오류가 발생하면 다음을 사용하여 컨테이너 로그를 확인할 수 있습니다.
다시 시작하려면 Kibana:
Docker Compose 파일 의 전체 내용
파일 의 전체 내용은 다음과 같습니다 docker-compose-els.yml
.
결론
이 Docker Compose 구성을 사용하면 쉽게 배포 Elasticsearch 하고 Kibana 데이터 검색, 분석 및 시각화 요구 사항을 충족할 수 있습니다. 프로젝트의 특정 요구 사항에 맞게 이 구성을 사용자 지정하고 확장하세요!