這是以前Logstash+kibana+ ElasticSearch+redis 安裝時,本身整理的初學者容易看懂的資料,按照如下的步驟也已經完成了安裝。html
這裏有二臺服務器:
192.168.148.201 logstash index,redis,ElasticSearch,kibana,JDK
192.168.148.129 logstash agent,JDK
java
1 系統各部分應用介紹linux
Logstash:一個徹底開源對日誌進行收集、分析和存儲的工具。他能夠作系統的log收集,轉載的工具。同時集成各種日誌插件,對日誌查詢和分析的效率有很大的幫助.通常使用shipper做爲log收集、indexer做爲log轉載.git
redis:在這裏作一個緩存的機制,logstash shipper將log轉發到redis(只作隊列處理不作存儲)。Logstash indexer從redis中讀取數據並轉發給elasticsearch。 這裏加上redis是爲了提升Logstash shipper的日誌提交到Logstash indexer的速度,同時避免因爲忽然斷電等致使的數據的丟失。github
Elasticsearch:開源的搜索引擎框架,它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。也可進行多數據集羣,提升效率。這裏的目的是從redis中讀取數據,並轉發到kibana中。web
Kibana:漂亮的界面展現,用web界面將數據挖掘後的數據以圖表等形式進行形象的展現。redis
如下是工做的一個流程圖:數據庫
2 服務端的安裝步驟(192.168.148.201)apache
2.1 JDK安裝json
1.下載JDK:jdk-8u25-linux-x64.tar.gz
2.解壓安裝:
咱們把JDK安裝到這個路徑(本身定義):/opt
cd /opt tar -zxvf jdk-8u25-linux-x64.tar.gz
出現文件夾 jdk1.8.0_25。
3.配置環境變量:vim ~/.bashrc
在打開的文件的末尾添加,
export JAVA_HOME=/opt/jdk1.8.0_25 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
保存退出,而後輸入下面的命令來使之生效
source ~/.bashrc
4.配置默認JDK
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_25/bin/java 300 sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_25/bin/javac 300
注意:若是以上兩個命令出現找不到路徑問題,只要重啓一下計算機在重複上面兩行代碼就OK了。
執行下面的代碼能夠看到當前各類JDK版本和配置:
sudo update-alternatives --config java
5.測試
打開一個終端,輸入下面命令:
java -version
檢測java命令是否已經能夠運行了。
2.2 redis
下面是redis.conf的主要配置參數的意義:
這時你能夠打開一個終端進行測試了,配置文件中默認的監聽端口是6379
1.部署一個redis單機實例:
wget https://github.com/antirez/redis/archive/3.0.0-rc1.tar.gz
2.
tar zxvf 3.0.0-rc1.tar.gz
3.編譯
須要說明的事,redis的安裝很是簡單,已經有現成的Makefile文件,直接運行make命令便可。
make
make install
4.redis.conf配置文件爲:
daemonize yes port 6379 appendonly yes
5.啓動:
redis.server redis.conf
6.測試
redis-cli 127.0.0.1:6379> quit /bin redis-server redis.conf &
2.3 logstash
下載並解壓:
$ wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz $ tar zxvf logstash-1.4.2.tar.gz -C /usr/local/ $ cd /usr/local/logstash-1.4.2 $ mkdir conf logs
配置文件conf/central.conf:
input { file { path => "/var/log" type => "syslog" exclude => "*.gz" } redis { host => "127.0.0.1" port => 6379 type => "redis-input" data_type => "list" key => "key_count" } } output { elasticsearch { host => "192.168.148.201" port => "9300" }
啓動:
root@user:/opt/logstash-1.4.2# bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.tar.gz
$ elasticsearch使用默認配置便可,默認的cluster name爲:elasticsearch;
啓動:
lasticsearch -d
$ bin/elasticsearch解壓便可使用很是方便,接下來咱們看一下效果,首先啓動ES服務,切換到elasticsearch目錄,運行bin下的elasticsearch
cd /search/elasticsearch/elasticsearch-0.90.5/bin ./elasticsearch start
訪問默認的9200端口
curl -X GET http://localhost:9200
3.啓動服務
# elasticsearch-1.1.1/bin/elasticsearch & # logstash-1.4.2/bin/logstash -f logstash-1.4.2/conf/logstash-apache.conf &
$ wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.1.tar.gz $ tar zxvf kibana-3.1.1.tar.gz
修改配置文件config.js,僅須要配置elasticsearch的地址便可:
elasticsearch: "http://192.168.148.201:9200"
cp -r kibana-3.1.0 /var/www/html/kibana3
出現問題:kibana 的WEB界面沒法出現,80端口已經被用
cd /etc/apache2/sites-available cp 000-default.conf kibana3.conf vim kibana3.conf
<VirtualHost *:8080>#修改端口 ServerAdmin 192.168.148.201/kibana3#有沒有都不要緊的 DocumentRoot /var/www/html/kibana3#kibana的根目錄 <Directory /var/www/html/kibana3> Options None AllowOverride None Allow from all </Directory> CustomLog /var/www/html/kibana combined#放日誌的地方 </VirtualHost>
cd /etc/apache2
vim ports.conf
Listen 80 Listen 8080#新加的 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
各類重啓:
cd /var/www/html/kibana3/app/dashboards mv logstash.json default.json /etc/init.d/apache2 restart
cd /opt elasticsearch-1.1.1/bin/elasticsearch & logstash-1.4.2/bin/logstash -f logstash-1.4.2/conf/logstash.conf &
3.客戶端的安裝
安裝服務端安裝:
bin/logstash -e 'input { stdin { } } output { stdout { codec => rubydebug } }' 咱們再輸入一些字符,此次咱們輸入"goodnight moon": goodnight moon { "message" => "goodnight moon", "@timestamp" => "2013-11-20T23:48:05.335Z", "@version" => "1", "host" => "my-laptop" }
netstat –atln 看端口信息
4.訪問:http://192.168.148.201:8080
歡迎界面