一、使用软件
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.5/elasticsearch-2.3.5.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.5.4-linux-x64.tar.gz
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?AuthParam=1472034436_3bb80b8600d4bb6c93f7c3d00a508578 -O jdk-7u79-linux-x64.tar.gz
二、安装(普通用户)
192.168.224.30(master) Elasticsearch,logstash,kibaa,Nginx,redis
192.168.224.20(minion) Logstash,nginx
1、jdk
export JAVA_HOME=/home/liuly/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2、elasticsearch
tar xf elasticsearch-2.3.5.tar.gz
ln -sf elasticsearch-2.3.5 elasticsearch
cd elasticsearch
vim config/elasticsearch.yml
cluster.name: liuly
node.name: master
network.host: 192.168.224.30
http.port: 9200
./bin/elasticsearch &
安装插件
./bin/plugin install mobz/elasticsearch-head
./bin/plugin install lmenezes/elasticsearch-kopf
2、kibana
tar xf kibana-4.5.4-linux-x64.tar.gz
ln -sf kibana-4.5.4-linux-x64 kibana
cd kibana
vim config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.224.30:9200"
kibana.index: ".kibana"
./bin/kibana &
nginx 的配置(访问方便点)
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format json '{"@timestamp":"$time_iso8601",'
'"@version":"1",'
'"host":"$server_addr",'
'"client":"$remote_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"domain":"$host",'
'"url":"$uri",'
'"status":"$status"}';
access_log /var/log/nginx/access.log json;
server {
listen 80;
server_name 192.168.224.30;
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://192.168.224.30:5601;
#proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
3、redis安装(2.4以上版本)
bind 0.0.0.0
(略)
低版本会出现这个错误
Redis connection problem {:exception=>#<Redis::CommandError: ERR unknown command 'script'>, :level=>:warn}
4、logstash
tar xf logstash-2.3.4.tar.gz
ln -sf logstash-2.3.4 logstash
cd logstash
mkdir config;cd config
vim log_server.conf
input {
redis {
host => '192.168.224.30'
data_type => 'list'
port => "6379"
key => 'nginx-log'
type => 'nginx-log'
}
redis {
host => '192.168.224.30'
data_type => 'list'
port => '6379'
key => 'nginx22'
type => 'nginx22'
}
}
output {
if [type] == "nginx-log" {
elasticsearch {
hosts => ["192.168.224.30:9200"]
index => "nginx-log-%{+YYYY-MM}"
}
}
if [type] == "nginx22" {
elasticsearch {
hosts => ["192.168.224.30:9200"]
index => "nginx22-%{+YYYY-MM}"
}
}
}
vim log_client.conf
input {
file {
add_field => {"Local_Host" => "master"}
path => ["/var/log/nginx/access.log"]
codec => json {
charset => "UTF-8"
}
}
}
output {
redis {
host => "192.168.224.30"
data_type => "list"
key => "nginx-log"
}
}
cd ..
./bin/logstash -f config/log_client.conf &
./bin/logstash -f config/log_server.conf &
minion
vim log_agent.conf
input {
file {
add_field => {"Local_Host" => "minion"}
path => ["/var/log/nginx/access.log"]
codec => json {
charset => "UTF-8"
}
}
}
output {
redis {
host => "192.168.224.30"
data_type => "list"
key => "nginx22"
}
}