반응형
이번엔 ELK 설치를 해보겠습니다.
먼저 Elasticsearch를 설치해보겠습니다.
Elasticsearch 설치
먼저 elasticsearch 이미지를 받아주겠습니다.
# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.15.1
그리고 docker 볼륨을 생성해줍니다.
# docker volume create elasticsearch
생성해주면, /var/lib/docker/volume/elasticsearch 디렉터리에 생성이 됩니다.
볼륨을 생성해주는 이유는 elasticsearch의 설정 파일을 로컬에도 가지고 있기 위함 입니다.
이제 컨테이너 실행을 해줍니다.
# docker run -itd --name es -p 9200:9200 -m 1GB -v elasticsearch:/usr/share/elasticsearch docker.elastic.co/elasticsearch/elasticsearch:8.15.1
elasticsearch.yml 설정
저 같은 경우에는 테스트 환경에서 사용하는 것 이라서 클러스터 구성이 아닌 단일 노드로 사용하고, 보안 설정을 꺼두었습니다.
cluster.name: "docker-cluster"
# elasticsearch에 접근 가능한 IP 설정
# 현재는 모두 접근 가능하도록 설정
network.host: 0.0.0.0
# 단일 노드 사용
discovery.type: single-node
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 10-09-2024 07:53:30
#
# --------------------------------------------------------------------------------
# Enable security features
# 인증, 권한 부여, TLS 암호화 끄기
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
# SSL 인증 끄기
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
# 클러스터간 SSL 인증 끄기
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
# 단일 노드로 사용할 것 이기 때문에, 마스터 노드 지정 설정 주석
#cluster.initial_master_nodes: ["bd7e3d35b5e4"]
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
설정 변경 후 컨테이너 재시작
# docker restart es
Kibana 설치
마찬가지로 이미지를 받아주고 볼륨을 생성해줍니다.
# docker pull docker.elastic.co/kibana/kibana:8.15.1
# docker volume create kibana
이제 컨테이너를 실행 해줍니다.
# docker run -itd --name kibana01 -v kibana:/usr/share/kibana -p 5601:5601 docker.elastic.co/kibana/kibana:8.15.1
kibana.yml 설정
정상적으로 kibana 컨테이너가 실행이 되면 kibana.yml 파일의 설정을 변경 해줍니다.
# Default Kibana configuration for docker target
# 모든 IP 대역에서 kibana 서버에 접근 가능
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
# elasticsearch 서버와 연결하기 위한 설정
elasticsearch.hosts: [ "http://<elasticsearch-IP>:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
설정 변경 후 컨테이너 재시작
# docker restart kibana
이후 대시보드 접근 확인
URL에 http://kibana-IP:5601 입력하여 접근
Logstash 설치
위와 동일하게 이미지 받고, volume 생성을 해줍니다.
# docker pull docker.elastic.co/logstash/logstash:8.15.1
# docker volume create logstash
컨테이너 실행
# docker run -itd -v logstash:/usr/share/logstash docker.elastic.co/logstash/logstash:8.15.1
다음에는 elk 사용법에 대해 공부해보겠습니다.
감사합니다.
반응형
'Monitoring' 카테고리의 다른 글
telegraf <-> Prometheus <-> Grafana 연결하여 모니터링 해보기 (0) | 2024.11.21 |
---|---|
Prometheus - Grafana 설치 (Helm 차트) (0) | 2024.11.15 |
ELK 연결 구성 (filebeat 포함) (3) | 2024.09.24 |
filebeat 설치 해보기 (0) | 2024.09.13 |