-
Notifications
You must be signed in to change notification settings - Fork 2
tecobrary elk 이용방법
Kim JiHoon edited this page Jan 15, 2020
·
2 revisions
- 실행할 때 MYSQL URL과 PORT를 입력하지 않을 경우 Logstash 가 동작하지 않습니다.
- 프로젝트의 루트 디렉토리에서 다음 명령어를 입력합니다.
$ ELK_VERSION="7.5.0" MYSQL_URL={MYSQL_URL} MYSQL_PORT={MYSQL_포트번호} docker-compose up
- 이 방법은 도커 컨테이너간 간단한 네트워크 구성(하나의 네트워크에 모두 연결)을 위해 tecobrary-server-api의 docker-compose 파일에서 모든 컨테이너를 실행하도록 합니다.
- 도커 네트워크를 더 간단히 구성하는 방법을 알고 계시다면 알려주세요!
- elasticsearch.yml 파일의 host 값을 Elasticsearch의 서비스명(es-elk)로 변경해줘야 합니다.
- MYSQL_URL과 MYSQL_PORT에 정확한 MySQL 서비스명(기본 서비스명 : mysql-db)과 서비스의 포트번호(기본 포트번호 : 3306)을 입력해야 합니다.
- 서브 모듈로 tecobrary-elk 레포지토리를 등록해줍니다.
$ git submodule add https://github.com/milzipmoza-developers/tecobrary-elk.git
- tecobrary-elk 레포지토리 내용들을 불러옵니다.
$ git submodule update --init --recursive
- elasticsearch.yml 파일의 host 값을 변경합니다.
elasticsearch:
host: es-elk
port: 9200
- tecobrary-server-api의 docker-compose.yml 파일에 tecobrary-elk의 docker-compose.yml 내용을 추가하고, api-server, mysql-db 컨테이너에 대한 네트워크 설정을 추가해줍니다. (네트워크는 편의상 하나로 묶었습니다. 분리해도 좋아요.)
version: "3.2"
services:
api-server:
image: tecobrary/tecobrary-api-server
container_name: api-server
restart: always
depends_on:
- "mysql-db"
networks:
- tecobrary-elk-network
ports:
- 9090:9090
mysql-db:
image: mysql:5.7
container_name: mysql-db
ports:
- 6033:3306
restart: always
environment:
MYSQL_ROOT_PASSWORD: tecobrary
MYSQL_PASSWORD: tecobrary
MYSQL_DATABASE: tecobrary
networks:
- tecobrary-elk-network
volumes:
- ./db/mysql/init:/docker-entrypoint-initdb.d
- ./cnf/my.cnf:/etc/mysql/my.cnf
es-elk:
container_name: es-elk
build:
context: ../tecobrary-elk/elasticsearch/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: volume
source: elasticsearch
target: /usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
depends_on:
- mysql-db
stdin_open: true
tty: true
networks:
- tecobrary-elk-network
kibana-elk:
container_name: kibana-elk
build:
context: ../tecobrary-elk/kibana/
args:
ELK_VERSION: $ELK_VERSION
ports:
- "5601:5601"
depends_on:
- es-elk
networks:
- tecobrary-elk-network
logstash-elk:
container_name: logstash-elk
build:
context: ../tecobrary-elk/logstash/
args:
ELK_VERSION: $ELK_VERSION
ports:
- "9600:9600"
- "5001:5000"
environment:
- "LS_JAVA_OPTS=-Xmx256m -Xms256m"
- MYSQL_URL=${MYSQL_URL}
- MYSQL_PORT=${MYSQL_PORT}
depends_on:
- es-elk
networks:
- tecobrary-elk-network
elasticsearch-mapping-init:
container_name: elasticsearch-mapping-init
build:
context: ../tecobrary-elk/elasticsearch-mapping-init/
depends_on:
- es-elk
networks:
- tecobrary-elk-network
networks:
tecobrary-elk-network:
driver: bridge
volumes:
elasticsearch:
- docker 디렉토리에서 다음 명령어를 입력합니다.
$ ELK_VERSION="7.5.0" MYSQL_URL=mysql-db MYSQL_PORT=3306 docker-compose up
-
User
-
LibraryBook
-
Serial
-
WishBook
-
RentHistory