環境: Ubuntu 14.04 x64 server
- 安裝Java環境
1 |
sudo apt-get install openjdk-7-jdk |
- 下載Logstash壓縮檔
1 2 3 |
cd /tmp curl -O https://download.elasticsearch.org/logstash/logstash/logstash-1.4.0.tar.gz tar zxvf logstash-1.4.0.tar.gz -C /opt/logstash |
基本測試
1 2 3 |
cd /opt/logstash bin/logstash -e 'input { stdin { } } output { stdout {} } # 試著打幾個字看看 |
- 安裝Elasticsearch
1 2 3 |
cd /tmp wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.deb sudo dpkg -i elasticsearch-1.1.1.deb |
- 設定Elasticsearch
編輯/etc/elasticsearch/elasticsearch.yml
取消cluster.name、node.name的注解並改成自己想要的
重新啟動Elasticsearch
1 |
sudo service elastic search restart |
- 安裝Redis
1 |
sudo apt-get install redis-server |
- 設定Redis
編輯/etc/redis/redis.conf,使用
1 2 3 |
bind 0.0.0.0 取代 bind 127.0.0.1 |
重新啟動Redis
1 |
sudo service redis-server restart |
- 下載Kibana
1 2 3 4 |
cd /tmp wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0.tar.gz mkdir -p /var/www/kibana tar xvfz kibana-3.0.0.tar.gz -C /var/www/kibana |
- 編輯Kibana設定檔
編輯/var/www/kubana/config.js,使用
1 2 3 |
elasticsearch: "http://本機IP:9200" 取代 elasticsearch: "http://"+window.location.hostname+":9200" |
- 設定Logstash Server設定檔
編輯/etc/logstash/server.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
input { redis { host => "本機IP" type => "redis" data_type => "list" key => "logstash" } } output { stdout { } elasticsearch { cluster => "elasticsearch" } } |
- 測試Logstash能否以Server啟動
1 |
/opt/logstash/bin/logstash --verbose -f /etc/logstash/server.conf |
- 安裝Nginx
1 |
sudo apt-get install nginx |
- 設定Nginx
編輯/etc/nginx/sites-enabled/default,使用
1 2 3 |
root /var/www/kibana 取代 root /usr/share/nginx/www |
重新啟動Nginx
1 |
service nginx restart |
- 設定Logstash agent設定檔
編輯/etc/logstash/agent.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
input { file { type => "nginx-access" path => "/var/log/nginx/access.log" } file { type => "nginx-error" path => "/var/log/nginx/error.log" } tcp { port => 514 type => syslog } udp { port => 514 type => syslog } } output { stdout { } redis { host => "本機IP" data_type => "list" key => "logstash" } } |
- 測試Logstash能否以agent啟動
1 |
/opt/logstash/bin/logstash agent --verbose -f /etc/logstash/agent.conf |
- 設定Logstash Upstart Service
(1) 編輯/etc/init/logstash-server.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
description "Logstash Server" #start on started networking start on started redis-server stop on runlevel [!2345] env LogstashHome=/opt/logstash env LogstashLogs=/var/log/logstash respawn pre-start script cd $LogstashHome mkdir $LogstashLogs ||true end script script cd $LogstashHome ./bin/logstash --verbose -f /etc/logstash/server.conf >> $LogstashLogs/access.log 2>> $LogstashLogs/error.log end script |
(2) 編輯/etc/init/logstash-agent.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
description "Logstash Agent" #start on started networking start on runlevel [2345] stop on runlevel [!2345] env LogstashHome=/opt/logstash env LogstashLogs=/var/log/logstash respawn pre-start script cd $LogstashHome mkdir $LogstashLogs ||true end script script cd $LogstashHome ./bin/logstash agent --verbose -f /etc/logstash/agent.conf >> $LogstashLogs/agent-access.log 2>> $LogstashLogs/agent-error.log end script |
- 使用Upstart Service測試啟動Logstash
1 2 |
start logstash-server start logstash-agent |
備註:
1. 測試Logstash設定檔
1 |
logstash --configtest -f 檔案 |