반응형
안녕하세요! 한동안 바빠서 연재를 쭉 하지 못했습니다.
이번 글에서는 마이크로 서비스 아키텍쳐에서 필수적인 ELK 스택을 도커로 구축하는 법에 대해서 설명하려 합니다.
(LogStash는 수집할 로그가 아직 없어 이번 글에서는 제외하였습니다.)
간단하게 docker-compose를 사용하여 ElasticSearch와 Kibana를 띄우겠습니다.
다음과 같이 docker-compose.yml 을 작성해 줍니다.
version: '3'
services:
elasticsearch:
container_name: elasticsearch
image: elasticsearch:7.9.0
ports:
- 9200:9200
- 9300:9300
networks:
- default
volumes:
- /usr/share/data/elasticsearch:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TZ=Asia/Seoul
user: root
restart: always
privileged: true
kibana:
container_name: kibana
image: kibana:7.9.0
ports:
- 5601:5601
networks:
- default
environment:
ELASTICSERCH_UTL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
environment:
- TZ=Asia/Seoul
restart: always
privileged: true
networks:
default:
external:
name: elastic
ElasticSearch와 Kibana는 7.9.0버전을 사용하였으며, 네트워크는 미리 생성해둔 elastic 네트워크를 사용합니다.
docker network create elastic
이렇게 구동해 준 다음, centos인 경우 외부 접속을 위해 firewalld에서 해당 포트에 대한 방화벽 설정을 해제해 줍니다.
firewall-cmd --permanent --add-port=5601/tcp
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
그리고 curl 명령어를 사용하여 elasticsearch가 잘 구동되는지 확인해 봅니다 :
curl -X GET "localhost:9200"
{
"name" : "efdea64f74cb",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "EGhiKj6eT7-SqeICnahgMQ",
"version" : {
"number" : "7.9.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "a479a2a7fce0389512d6a9361301708b92dff667",
"build_date" : "2020-08-11T21:36:48.204330Z",
"build_snapshot" : false,
"lucene_version" : "8.6.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
이후 Kibana를 확인해 봅니다.
(Kibana가 구동되고 있는 호스트의 5601번 포트로 접속해 주면 됩니다.)
다음 글에서는 telegraf를 사용하여 시스템 로그를 수집하고 elasticsearch에 적재하여 kibana에서 시각화하는 방법을 다룰 예정입니다.
반응형
'Tech > Tips' 카테고리의 다른 글
Telegraf로 ElasticSearch에 시스템, 도커 모니터링 메트릭 전달 및 Kibana로 시각화하기 (0) | 2020.09.10 |
---|---|
Docker로 Mariadb, Postgresql, PGAdmin, Redis 구동하기 (0) | 2020.09.06 |
Spring boot 프로젝트 3분만에 dockerize하기 (0) | 2020.07.20 |
[미세먼지팁] 윈도우 IntelliJ 그래들 버전 변경 (0) | 2020.07.19 |
Sysbench를 활용한 mariaDB 벤치마크 (0) | 2020.05.05 |