用Kibana+Logstash+Elasticsearch快速搭建實時日誌查詢、收集與分析系統

安裝環境

先看看都須要安裝什麼軟件包
ruby 運行Kibana 必須,
rubygems 安裝ruby擴展必須
bundler 功能相似於yum
JDK 運行java程序必須 
redis 用來處理日誌隊列
logstash 收集、過濾日誌
ElasticSearch 全文搜索服務(logstash集成了一個)
kibana 頁面展現
php


192.168.18.240 logstash index,kibana,JDK
192.168.18.241 logstash agent,JDK
192.168.18.242 redis
192.168.18.243 ElasticSearch,JDKhtml


先安裝redis (192.168.18.242)java

#wget http://redis.googlecode.com/files/redis-2.6.12.tar.gznode

# tar zxvf redis-2.6.12.tar.gz mysql

# mv redis-2.6.12 redis linux

# cd redisgit

# make -j24github

# make install
web

# vi /root/soft/redis/redis.confredis

修改level爲 loglevel verbose

# redis-server /root/soft/redis/redis.conf & 

看看 redis服務的狀態

#  lsof -i:6379 


安裝elasticsearch (192.168.18.243)

 elasticsearch會依賴於java

# vi /etc/apt/sources.list

deb http://ftp.debian.org/debian/ squeeze main non-free

deb-src http://ftp.debian.org/debian/ squeeze main non-free

# apt-get update

# apt-cache search sun-java

# apt-get install sun-java6-jdk sun-java6-jre

# java -version


# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.6.zip

#unzip elasticsearch-0.20.6.zip

# mv elasticsearch-0.20.6/usr/local/share/elasticsearch

#cd /usr/local/share/elasticsearch/bin/

# ./elasticsearch -f


在 logstash index上安裝基礎的軟件環境: (192.168.18.240)

# vi /etc/apt/sources.list

deb http://ftp.debian.org/debian/ squeeze main non-free

deb-src http://ftp.debian.org/debian/ squeeze main non-free

# apt-get update

# apt-cache search sun-java

# apt-get install sun-java6-jdk sun-java6-jre

# java -version



開始安裝logstash (其實logstash 就是一個java腳本,不須要安裝... 下載即用 )

# wget https://logstash.objects.dreamhost.com/release/logstash-1.1.9-monolithic.jar

#  vi /root/soft/redis.conf

input {

redis {

 host => '192.168.18.242'

 data_type => 'list'

 port => "6379"

 key => 'logstash:redis'

 type => 'redis-input'

 }

}


output {

  elasticsearch {

      host => '192.168.18.243'

      port => "9300"

  }

}


#  java -jar /root/soft/logstash-1.1.9-monolithic.jar agent -f /root/soft/redis.conf -- web --backend elasticsearch:///?local


 如今能夠經過瀏覽器訪問一下 http://192.168.18.240:9292 看看logstash是的頁面是個什麼樣子



配置logstash的agent (192.168.18.241)

安裝sun-java6-jre sun-java6-jdk 

#wget https://logstash.objects.dreamhost.com/release/logstash-1.1.9-monolithic.jar

#  vi /root/soft/redis.conf

input {

    stdin {

        type => "stdin-type"

    }


    file {

        type => "linux-syslog"

        # Wildcards work, here :)

        path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]

    }

}


output {

   redis {

   host => '192.168.18.242'

   data_type => 'list'

   key => 'logstash:redis'

    }

}

#  java -jar /root/soft/logstash-1.1.9-monolithic.jar agent -f /root/soft/redis.conf &



OK,最後就是 Kibana了 ,我把Kibana裝在了 logstash index上面
下載地址爲 http://kibana.org/intro.html

  1. # apt-get install ruby rubygems

  2. # gem install bundler

  3. # bundle install    ( /var/lib/gems/1.8/bin/bundle install )

  4. 以上爲ruby運行環境


  5.  wget https://github.com/rashidkpc/Kibana/archive/v0.2.0.tar.gz

  6. # tar zxvf Kibana-0.2.0.tar.gz 

  7. # cd Kibana-0.2.0 

  8. 直接安裝就行了,很是簡單,由於以前我們已經安裝好了 bundle 

  9. 編輯配置文件,指定 elasticsearch 的位置 

  10. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0

  11. # vim KibanaConfig.rb 

  12. ..... 

  13.   Elasticsearch = "192.168.18.243:9200" 

  14.   KibanaPort = 5601 

  15.   KibanaHost = '0.0.0.0' 

  16. ..... 

  17. 主要是這幾個參數 

  18. 啓動的話須要ruby 

  19. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0

  20. # /usr/bin/ruby kibana.rb & 

  21. [192.168.18.240 root@nodec:/soft/Kibana-0.2.0

  22. # == Sinatra/1.3.5 has taken the stage on 5601 for development with backup from Thin 

  23. >> Thin web server (v1.5.0 codename Knife) 

  24. >> Maximum connections set to 1024 

  25. >> Listening on 0.0.0.0:5601, CTRL+C to stop 

  26. 若是ruby的東西都不缺的話,啓動會很順利,ok 如今看看5601端口的狀態 

  27. [192.168.233.128 root@nodec:/soft/Kibana-0.2.0

  28. # lsof -i:5601 

  29. COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME 

  30. ruby    3116 root    5u  IPv4  28947       TCP *:esmagent (LISTEN) 


訪問一下 試試看 http://192.168.18.240:5601 嘗試搜索一下php的錯誤日誌,好比mysql

用Kibana+Logstash+Elasticsearch快速搭建實時日誌查詢、收集與分析系統


呵呵,要的就是這個效果,日誌會實時的彙總到 logstash index 上供咱們查詢,固然這只是開始使用logstash的第一步而已,更多的高級功能能夠看看官方文檔
http://logstash.net/docs/1.1.9/

相關文章
相關標籤/搜索