3.3. ELK 설치하기 - logstash


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

# 다운로드

1
sudo wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.2.tar.gz # wget을 이용하면 해당 경로의 제공 파일을 다운로드 받을 수 있습니다.


스크린샷 2017-01-31 오전 3.20.30.png


# 다운로드 파일검증

1
sudo wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.2.tar.gz.sha1 # wget을 이용하면 해당 경로의 제공 파일을 다운로드 받을 수 있습니다.


스크린샷 2017-01-31 오전 3.27.35.png


검증을 합니다.

1
2
3
4
sha1sum logstash-5.1.2.tar.gz > chkfile.txt
more logstash-5.1.2.tar.gz.sha1 >> chkfile.txt
# 한번에 확인 합니다.
more 또는 cat chkfile.txt


스크린샷 2017-01-31 오전 3.26.20.png


# 압축풀기

1
tar xzvf ./logstash-5.1.2.tar.gz


스크린샷 2017-01-31 오전 3.53.07.png


# 링크걸기

1
ln -s logstash-5.1.2 logstash


스크린샷 2017-01-31 오전 3.56.57.png


# 환경 설정 하기

1
2
3
cd logstash
mkdir logconf
vi logconf/nginx.conf


가이드 사이트 : https://www.elastic.co/guide/en/logstash/current/config-examples.html

신규로 내용을 작성 합니다. input filter output 3가지로 구분하여 작성 합니다.

input {

  file {

          path => "/var/log/nginx/access.log"

          start_position => beginning

       }

 filter {

          grok {

              match => { "message" => "%{COMBINEDAPACHELOG}" }

          }

          geoip {

             source => "clientip"

          }

  }

  output {

     elasticsearch {

      hosts=> "ip or host : port"

     }

  }

# 실행하기

설정테스트하기

1
bin/logstash -f logconf/nginx.conf -t

-f 는 설정 파일의 위치를 지정하며 -t 는 테스트 (설정파일이 잘 되었는지 체크 함)


스크린샷 2017-01-31 오전 5.02.53.png


백그라운드로 실행하기

1
nohup bin/logstash -f logconf/nginx.conf &


실행 확인하기

1
ps -ef | grep logstash


스크린샷 2017-01-31 오전 5.19.46.png


# 종료하기

1
kill -9 [pid]


스크린샷 2017-01-31 오전 5.21.56.png


logstash 설치 종료


next