📚 [ELK] 우분투에 ELK 설치 및 테스트 하기
Category: ELK | 📅 May 06, 2015
참고 : ELK ( Elasticsearch + Logstash + kibana 를 합쳐서 부름)
ELK 설명
Installation
0. Nginx(테스트 용도)
$ sudo apt-get install nginx
$ sudo vim /etc/nginx/nginx.conf
nginx.conf 파일 내에 아래내용 추가
http {
.... 중략 ....
log_format main '$http_host '
'$remote_addr [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'$request_time '
'$upstream_response_time';
access_log /var/log/nginx/access.log main;
}
Nginx 재시작
$sudo service nginx start
1. Elasticsearch 1.5.1
1. 설치하기
$ tar xvzf elasticsearch-1.5.1.tar.gz
$ cd elasticsearch-1.5.1
$ bin/plugin -install mobz/elasticsearch-head
$ vim config/elasticseach.yml
$ sudo bin/elasticsearch -d
elasticseach.yml 파일 내의 node.name 에 적당한 이름을 써준다.
2. kibana 4.0.2
1. 설치하기
$ tar xvzf kibana-4.0.2-linux-x64.tar.gz
$ cd kibana-4.0.2-linux-x64
$ vim config/kibana.yml
$ sudo bin/kibana &
kibana.yml 내의 elasticseach_url 부분만 수정 .
3. logstash 1.4.2
1. 설치하기
$ tar xvzf logstash-1.4.2.tar.gz
$ sudo vim log_list/nginx.conf
ex.) log_list/nginx.conf
input {
file {
path => "/var/log/nginx/access.log"
type => "Nginx"
}
}
filter {
mutate { replace => { "type" => "nginx_access" } }
grok {
match => { "message" => "%{NGINXACCESS}" }
}
date {
match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
}
geoip {
source => "clientip"
}
}
output {
elasticsearch {
host => localhost
port => 9200
protocol => http
}
stdout { codec => rubydebug }
}
$ sudo vim patterns/nginx
ex.) patterns/nginx
NGUSERNAME [a-zA-Z.@-+_%]+
NGUSER %{NGUSERNAME}
NGINXACCESS %{IPORHOST:http_host} %{IPORHOST:clientip} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NUMBER:request_time:float} %{NUMBER:upstream_time:float}
NGINXACCESS %{IPORHOST:http_host} %{IPORHOST:clientip} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NUMBER:request_time:float
$cd logstash-1.4.2
$bin/logstash -f log_list/nginx.conf -t
$bin/logstash -f log_list/nginx.conf
-t 옵션으로 configtest 를 한뒤에 실행한다.
이 글 쓰고 나니 elasticsearch.co는 전부 업데이트 됐음.
최신버전 보러가기 : https://www.elastic.co/downloads
🏷️ Tags
#Elasticsearch