[ELK] Logstash 설치하기 #3
반응형

안녕하세요 😉

유유자적한 개발자 유로띠 입니다 😀

 

 

이전 포스팅인

ELK 설치

Elasticsearch 설치 및 외부 허용 설정하기

 

Elasticsearch 설치 및 외부 허용 설정하기

안녕하세요😁 유유자적한 개발자 유로띠 입니다 😉 오늘은 ELK 의 E에 해당하는 Elasticsearch에 대해 포스팅해보도록 하겠습니다 👏👏👏👏 What is Elasticsearch ❓ 텍스트, 숫자, 위치 기반 정보, 정형 및 비..

msyu1207.tistory.com

[ELK] KIBANA 설치하기

 

[ELK] KIBANA 설치하기

안녕하세요 😉 유유자적한 개발자 유로띠 입니다 😀 이전 포스팅인 Elasticsearch 설치 및 외부 허용 설정하기 Elasticsearch 설치 및 외부 허용 설정하기 안녕하세요😁 유유자적한 개발자 유로띠 입니다 😉 오늘..

msyu1207.tistory.com

에 이어서 

 

오늘은

ELK

L에 해당하는

Logstash에 대해 포스팅해보도록 하겠습니다

 

👏👏👏👏

 


What is Logstash 

실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진입니다

서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로

데이터를 정규화할 수 있게 해 줍니다

 

 

 

이번 포스팅에서는

✅ Logstash 다운로드

Logstash conf파일 설정

Logstash 기동 및 테스트

 Logstash DB 연동

에 대해서 알아봅시다 🔎

 

 

🎉 Logstash 설치하기 & DB 연동하기


📢DownLoad Logstash

 

Logstash 다운로드 경로입니다

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

다양한 Downloads 방식을 보시면 windows, linux, rpm, deb 등

다양한 다운로드를 제공하고 있습니다

보통

CentOS 계열은 rpm

ubuntu 계열은 deb

설치 패키지를 사용합니다




 

 

 

📍 DEB install

DEB 버튼을 선택하면 logstash-7.6.2.deb 파일을 받을 수 있습니다

설치 서버에 파일을 옮긴 후 설치를 진행합니다

 

$sudo dpkg -i logstash-7.6.2.deb

 

간단히 설치는 완료하였습니다 👏


 

📢Config Logstash

 

logstash를 기동 하기 전에 conf파일을 만들어야 합니다 😄

원하는 경로에 conf파일을 생성합니다

 

 

test.conf 파일 생성

 

logstash를 테스트하기 위해 기본적인 정보인 input, output만 설정하여 테스트를 진행해 보겠습니다

input {
   stdin {}
}
output {
  stdout {}
}

 

 

 

📍 Start Logstash

 

원하는 경로(저는 /opt/elk/logstash에 생성하였습니다)에 있는 conf파일을 아래의 명령어로 Logstash를 실행하여줍니다

$sudo /usr/share/logstash/bin/logstash -f /opt/elk/logstash/test.conf

 

그다음 🟩커서에 hello를 입력하고 Enter를 입력하여줍니다 😃

 

input 설정인 stdin에 hello를 입력하였기 때문에 output인 stdout출력 값이 보입니다 👌

 

 

📍 Stop Logstash

 

Ctrl + c를 동시에 눌러서 Logstash를 종료할 수 있습니다

 

 

 


📢Logstash와 DB 연동

 

Logstash를 이용하여

mysql Database와 연동해보도록 하겠습니다

 

 

 

📍 mysql-connector-java 다운로드

 

mysql-connector-java는 mavenRepository사이트에서 다운을 받을 수 있습니다

다운로드한 mysql-connector-java-5.1.38.jar 파일을 /usr/share/logstash/tools 경로로 넣어줍니다

 

 

✅ db.conf 파일 생성

 

mysql db를 연결하기 위한 conf파일을 생성합니다

input {
   jdbc {
        jdbc_validate_connection => true
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_driver_library => "/usr/share/logstash/tools/mysql-connector-java-5.1.38.jar"
        jdbc_connection_string => "jdbc:mysql://test-database-1.rds.amazonaws.com:3306/<DataBase>"
        jdbc_user => "username"
        jdbc_password => "password"
        statement => "SELECT idx, adtidx, msg, adtstat, setdt, evtcd FROM INSPECTOR"
    }

}
output {
  stdout {}
}

 

 

📍 Start Logstash

 

conf파일을 아래의 명령어로 Logstash를 실행하여 줍니다

$sudo /usr/share/logstash/bin/logstash -f /opt/elk/logstash/db.conf

 

 

 

💡 만약 jdbc_driver_library 경로를 못 찾는다는 에러가 발생되는 경우

 

✅ jdbc_driver_library를 conf파일에서 삭제을 합니다

input {
   stdin {}
   jdbc {
        jdbc_validate_connection => true
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://test-database-1.rds.amazonaws.com:3306/<DataBase>"
        jdbc_user => "username"
        jdbc_password => "password"
        statement => "SELECT idx, adtidx, msg, adtstat, setdt, evtcd FROM INSPECTOR"
    }

}
output {
  stdout {}
}

 

/usr/share/logstash/logstash-core/lib/jars 경로에 mysql-connector-java-5.1.38.jar을 직접 넣어줍니다

 

해당 이슈는 아래의  elastic사이트에서 참조하였습니다 🧐

https://discuss.elastic.co/t/logstash-7-3-0-failed-to-load-mssql-jdbc-7-4-1-jre11-jar/196319/2

 

Logstash 7.3.0 - Failed to load mssql-jdbc-7.4.1.jre11.jar

That sounds like a variant of this issue. Please read through that thread from that point for caveats and warnings.

discuss.elastic.co

 

 


📢마무리

 

이상

Logstash 설치하기 & DB 연동에 대해서

알아보았습니다

 

👏👏👏👏

반응형