Это старая версия документа!
apt-get update
если ubuntu 16, то ставим Java 8
apt-get install openjdk-8-jre
если 12.10 - Java 7
apt-get install openjdk-7-jre
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.3.5/elasticsearch-2.3.5.deb wget https://download.elastic.co/logstash/logstash/packages/debian/logstash_2.3.4-1_all.deb wget https://download.elastic.co/kibana/kibana/kibana_4.5.4_amd64.deb
качаем дистрибутивы
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.3.5/elasticsearch-2.3.5.deb wget https://download.elastic.co/logstash/logstash/packages/debian/logstash_2.3.4-1_all.deb wget https://download.elastic.co/kibana/kibana/kibana_4.5.4_amd64.deb
устанавливаем
dpkg -i elasticsearch-2.3.5.deb dpkg -i logstash_2.3.4-1_all.deb dpkg -i kibana_4.5.4_amd64.deb
прописываем в автозапуск
update-rc.d elasticsearch defaults 95 10 update-rc.d logstash defaults 96 9 update-rc.d kibana defaults 95 10
в файл /etc/elasticsearch/elasticsearch.yml добавляем/редактируем строки
cluster.name: elasticsearch node.name: node-1
создаем файл /etc/elasticsearch/elasticsearch.yml со следующим содержимым
input {
tcp {
port => 514
type => syslog
}
udp {
port => 514
type => syslog
}
}
filter {
if [message] =~ "access" {
mutate { replace => { "type" => "apache_access" } }
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
} else if [message] =~ "named" {
grok {
pattern => "<%{POSINT:priority}>%{SYSLOGLINE}"
add_tag => [ "named" ]
}
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
# Example just to output to elasticsearch
elasticsearch {
}
}
елси порт как выше 514 (до 1024), то запускать logstash нужно от имени root для этого правим файл запуска /etc/init.d/logstash
#LS_USER=logstash #LS_GROUP=logstash LS_USER=root LS_GROUP=root
запуск
service elasticsearch start service logstash start service kibana start
проверка запущеных процессов
проверка открытых портов
root@server:~# netstat -tpln Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 9712/node tcp6 0 0 :::514 :::* LISTEN 29235/java tcp6 0 0 ::1:9200 :::* LISTEN 7703/java tcp6 0 0 127.0.0.1:9200 :::* LISTEN 7703/java tcp6 0 0 ::1:9300 :::* LISTEN 7703/java tcp6 0 0 127.0.0.1:9300 :::* LISTEN 7703/java
проверка работы elasticsearch
root@server:~# curl http://localhost:9200
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.5",
"build_hash" : "90f439ff60a3c0f497f91663701e64ccd01edbb4",
"build_timestamp" : "2016-07-27T10:36:52Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}
проверка работы kibana
переходим на сайт http://ip-address:5601
проверка работы logstash, с соседнего компа коннектимся телнетом
telnet ip-address 514 test test1 test2 ctrl+c
в kibana должны появиться эти строки