kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Docker

ELK Docker 설치

까마기 2020. 1. 7. 18:05
728x90
반응형

* ELK는 Elasticsearch, Logstash, Kibana 세 가지 오픈소스 프로젝트의 약자.

* 데이터 수집 및 분석이 가능하며, 다른 오픈소스 및 시스템과 연동이 가능한 도구로 많이 사용되고 있다.

* 본 문서에서는 주로 사내 인프라 시스템의 시스템 로그를 수집하여 보안적인 측면에서 활용하고자 한다.

 

1.  docker 설치

 

# yum install docker -y

# yum install -y yum-utils device-mapper-persistent-data lvm2

# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

 

# yum makecache fast

# yum install docker-ce

 

* docker-compose 설치

 

# curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

 

# chmod +x /usr/local/bin/docker-compose

# PATH=$PATH:/usr/local/bin

# docker-compose build && docker-compose up -d

 

1-1. ubuntu에서 docker 설치

기존에 docker가 설치되어있다면 삭제

# sudo apt-get remove docker docker-engine docker.io

 

필요 패키지 설치

# apt-get update && sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common

 

패키지 저장소 추가 (도커의 공식 GPG 키와 저장소 추가)

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

 

도커 패키지 검색 여부 확인 (여기서부터)

# apt-get update && sudo apt-cache search docker-ce

 

 

hiseon.me/linux/ubuntu/install-docker/

 

 

# apt-get install docker

2. git 설치

 

# yum install git -y

 

3. git clone을 통해 docker-elk.git 다운로드

 

# git clone https://github.com/deviantony/docker-elk.git

* deviantony/docker-elk는 기본적으로 X-Pack설정이 되어 있는데 라이센스가 존재한다면 상관이 없지만 무료로 사용해야 한다면 Elasticsearch, Logstash, Kibana 설정파일에서 X-Pack 설정을 지워준다.

 

참고 : https://judo0179.tistory.com/60

 

4. Config 설정 변경

 

1) elasticsearch

# vi 설치폴더/docker-elk/elasticsearch/config/elasticsearch.yml

discovery.type 추가 및 xpack 주석 설정

 

2) Logstash

# vi 설치폴더/docker-elk/logstash/config/logstash.yml

# vi 설치폴더/docker-elk/logstash/pipeline/logstash.conf

 

3) Kibana

# vi 설치폴더/docker-elk/kibana/config/kibana.yml

 

5. ELK 실행

각각 elk의 디렉터리의 설정파일을 확인한 후 docker-compose 파일이 있는 위치에서 docker를 빌드한다. 

# docker-compose build && docker-compose up -d

 

============================================================================

* docker-compose 명령이 먹질 않아 확인해 보니 docker service가 실행상태가 아니였다.

* service docker start 명령을 실행하자 에러가 발생하여 확인해보니, docker 서비스 자체가 제대로 설치가 된 상태가 아닌 것을 확인하였다. 차근차근 진행을 하는데, 설치 도중 에러가 발생하였다.

 

1) 최초 docker 설치 시 yum install docker*  로 설치를 하여 충돌되는 패키지가 존재했던 것으로 확인되었다.

2) dnf 명령어로 설치를 진행하였다.

# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

# dnf repolist -v

# dnf list docker-ce --showduplicates | sort -r

# dnf install docker-ce-3:18.09.1-3.el7

--> 이 부분에서도 에러가 발생하였고, 특정 패키지 때문에 에러가 발생하는 것을 확인하였다.

# dnf remove podman-docker-1.4.2-6.module+el8.1.0+4830+f49150d7.noarch

# dnf install docker-ce-3:18.09.1-3.el7

 

3) 정상설치 된 것을 확인

# service docker start

 

4) docker-compose로 정상 빌드 진행

 

* 참고 : https://linuxconfig.org/how-to-install-docker-in-rhel-8

============================================================================

docker ps 로 elk 컨테이너가 정상적으로 실행되고 있는 것을 확인

6. Kibana Console 접속 확인

 

반응형