본문 바로가기
Elasticsearch

ubuntu 18.04 에 ELK 설치하기

by reo.l 2021. 8. 26.

 

 

aws 인스턴스에서 ubuntu 18.04에 ELK를 설치하려고 한다.

elk 스택은 java 기반으로 실행되기 때문에 먼저 java 8 버전을 설치하여 준다.

 

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-set-default
$ java --version

 

이제 elasticsearch를 apt로 설치하여 주는데 그전에 elasticsearch 키를 import 해 준다.

 

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
OK
$ echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
deb https://artifacts.elastic.co/packages/6.x/apt stable main

 

이제 elasticsearch를 설치해 준다.

 

$ sudo apt update
$ sudo apt install elasticsearch

 

이제 설치가 완료되고 /etc/elasticsearch 경로의 elasticsearch.yml 파일의 설정을 다음과 같이 변경하여 준다.

 

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

discovery.seed_hosts: ["127.0.0.1:9200"]

 

실행을 해주고 문제가 없다면 다음의 GET 요청 response를 확인할 수 있다.

 

$ sudo systemctl start elasticsearch

$ curl -X GET "localhost:9200"

{
  "name" : "test-001.com",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "uQchFKeDSDCODb6wo5cOPQ",
  "version" : {
    "number" : "7.13.3",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "5d21bea28db1e89ecc1f66311ebdec9dc3aa7d64",
    "build_date" : "2021-07-02T12:06:10.804015202Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

 

이번에는 kibana를 설치하여 주겠다. 위에서 패키지를 추가하였기 때문에 바로 설치하면 된다.

 

$ sudo apt install kibana
$ sudo systemctl start kibana
$ sudo systemctl enable kibana

 

설치가 완료되고 /etc/kibana 경로로 들어가서 kibana.yml 파일의 설정을 변경하여 준다. 여기서 elasticsearch와 연결해준다.

 

/etc/kibana/kibana.yml

server.host: "0.0.0.0"

elasticsearch.hosts: ["localhost:9200"]

 

이제 실행을 하고 localhost:5601 접속을 해보면 

 

$ sudo systemctl start kibana

 

다음과 같이 kibana에 접속하여 elasticsearch의 데이터를 검색하고 시각화할 수 있다.

이제 logstash를 설치하여 준다. logstash는 elasticsearch에 rds 데이터를 input 하여 주는 역할을 한다.

 

$ sudo apt install logstash

 

이제 /etc/kibana/conf.d 경로에 설정 파일을 만들고 jdbc를 이용하여 rds와 연결하고 input과 output을 설정하여 준다.

 

$ sudo vi /etc/logstash/conf.d/rds.conf

input {
  jdbc {
    jdbc_connection_string => "jdbc:postgresql://boltnnutplatform.crt62jbermqa.aa
p-northeast-2.rds.amazonaws.com/"
    jdbc_user => "id"
    jdbc_password => "password"
    schedule => "*/2 * * * *"
    statement => "select * from data"
  }
}
output {
  elasticsearch {
    hosts => ["127.0.0.1:9200"]
    index => "rds"
   }

 

이제 logstash를 실행하고 schedule (cron)에서 설정된 시간만큼 지난 후에 kibana에 접속하여 index management를 확인하여 보면 연결한 rds의 데이터가 elasticsearch에 output 된 것을 확인할 수 있다.

 

 

 

 

댓글