본문 바로가기
개발일기/DB-MySql

window10/11에서 elasitcsearch + kibana + logstash 설치하기

by 프로그래머콩 2022. 8. 2.

 

 

 

환경 및 버전

 

OS / Window10, 11

Elasticsearch / 7.10.1

Kibana / 7.10.1

logstash / 7.10.1

maria db / 10.6.1 , 커넥터는 1.8.0

(JDBC 8.x)


 

#elasticsearch 설치

 

설치방법

압축해제

아래 download  URL에 접속해

원하는 버전 다운 받고 압축 풀고 실행하면 끝

https://www.elastic.co/kr/downloads/elasticsearch

 

예를들어 c드라이브에 압축 풀었다고 가정하고

 

실행하는 방법

1. CMD 열고 

2. c드라이브 접속 

3. 설치 폴더 접속 

4. bin 폴더 접속

5. elasticsearch 실행

 

실행 확인 방법

브라우저 열고 확인하기

( 접속 방법 : http://localhost:9200/  << 화면에도 나와있음, pulish_adress {127.0.0.1:9200} 포트 열려 있다고 )

 


 

#kibana 설치

 

설치방법

마찬가지로 : 압축해제

아래 download  URL에 접속해

원하는 버전 다운 받고 압축 풀고 실행하면 끝

https://www.elastic.co/kr/downloads/past-releases/kibana-7-10-1

 
 

예를들어 c드라이브에 압축 풀었다고 가정하고

실행하는 방법

1. CMD 열고 

2. c드라이브 접속 

3. 설치 폴더 접속 

4. bin 폴더 접속

5. kibana실행

접근 방법

http://localhost:5601 

(로 접근하면 자동으로 redirection 되어 http://localhost:5601/app/kibana 로 우회함 )


 

#logstash 설치

 

logstash란?

https://www.elastic.co/kr/logstash/

 

설치하기 

아래 링크 접속해서 

우측 view past releases 클릭해 원하는 버전(7.10.1)찾아 

설치 -> 압축해제

https://www.elastic.co/kr/downloads/logstash

 

 

 

 

 

 

 

#jdbc 설치 or 연결

 

먼저 본인이 사용하고 있는 mysql이

8.0이상인지 아닌지 파악을 한다

 

만약 8.0이상이라면 새로 설치해야하고

아니라면 logstatsh에 동봉되어있는 jar파일을 사용하면 된다

 

 

 

설치하기

mysql은 oracle사이트에서, 

mariadb경우 mariadb 사이트에서

각각 각자 버전에 맞는 java 라이브러리 버전 찾아 설치하면 된다

https://mariadb.com/kb/en/mariadb-connector-j-303-release-notes/

 

logstash 설치했던 폴더 아래 

'lib'폴더 있는데 거기 아래 설치

 


이제 준비 끝

 

 

#mysql 옮기기

 

실행을 위한 설정파일을 작성할 차례

 

실행파일에 들어가는 내용

- mysql을 작동시키기위해 필요한 jdbc(java 라이브러리)경로

- input 1: mysql connect 정보 

- input 1: mysql 쿼리

-  output2 : elasticsearch connect 정보

- output2 : elasticsearch에 생성될 index 및 document 이름

실행파일 예시 - (수정됨)





input {

jdbc {

jdbc_driver_library =>"C:\logstash-7.10.1\jdk\lib\jrt-fs.jar"

jdbc_driver_class => "com.mysql.jdbc.Driver"

jdbc_connection_string => "jdbc:mariadb://localhost:3306/metadata?serverTimezone=Asia/Seoul"

jdbc_user => "root"

jdbc_password => "root" 

statement => "select * from data"

jdbc_pool_timeout => 120

jdbc_paging_enabled => true

jdbc_page_size => 10000

}

}


output {

elasticsearch {

hosts => ["localhost:9200"]

index => "meta_jumin"

document_type => "doc_"

}

stdout {

codec => rubydebug

}

}

항목 설명
jdbc_driver_library =>"C:\logstash-7.10.1\jdk\lib\jrt-fs.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"


el로 옮기기 위해
연결할 때 어떤 드라이브 사용할건지
(input에 사용할 드라이브) 
jdbc_connection_string => "jdbc:mariadb://localhost:3306/metadata?serverTimezone=Asia/Seoul"
jdbc_pool_timeout => 120

jdbc_paging_enabled => true

jdbc_page_size => 10000

jdbc_user => "root"

jdbc_password => "root" 

연결할 mysql 주소 및 connect 정보

statement => "select * from data"


쿼리


output {

elasticsearch {

hosts => ["localhost:9200"]

index => "meta_jumin"

document_type => "doc_"

}


elasticsearch에 넣을때
어떤index 및 document로 넣을건지 

stdout {

codec => rubydebug
}
어떤 코덱 연동 및 사용할건지(자동으로 포맷 맞춰주는 라이브러리같은건데 기본으로 ruby를 사용하는듯, 추가 라이브러리 은전한닢등도 포맷가능하다고 들음)