Logstash+kibana+ Elasticsearch+redis

來源:互聯網
上載者:User

標籤:

  這是之前Logstash+kibana+ Elasticsearch+redis 安裝時,自己整理的初學者容易看懂的資料,按照以下的步驟也已經完成了安裝。

這裡有二台伺服器:
  192.168.148.201logstash index,redis,Elasticsearch,kibana,JDK
  192.168.148.129 logstash agent,JDK

1 系統各部分應用介紹

  Logstash:一個完全開源對日誌進行收集、分析和儲存的工具。他可以做系統的log收集,轉載的工具。同時整合各類日誌外掛程式,對日誌查詢和分析的效率有很大的協助.一般使用shipper作為log收集、indexer作為log轉載.

  • Logstash shipper收集log 並將log轉寄給redis 儲存
  • Logstash indexer從redis中讀取資料並轉寄給elasticsearch

  redis:在這裡做一個緩衝的機制,logstash shipper將log轉寄到redis(只做隊列處理不做儲存)。Logstash indexer從redis中讀取資料並轉寄給elasticsearch。 這裡加上redis是為了提高Logstash shipper的日誌提交到Logstash indexer的速度,同時避免由於突然斷電等導致的資料的丟失。

  Elasticsearch:開源的搜尋引擎架構,它提供了一個分布式多使用者能力的全文檢索搜尋引擎,基於RESTful web介面。也可進行多資料集群,提高效率。這裡的目的是從redis中讀取資料,並轉寄到kibana中。

  Kibana:漂亮的介面展示,用web介面將資料採礦後的資料以圖表等形式進行形象的展示。

以下是工作的一個流程圖:

 

 

2 服務端的安裝步驟(192.168.148.201)

  2.1 JDK安裝

  1.下載JDK:jdk-8u25-linux-x64.tar.gz

  2.解壓安裝:

    我們把JDK安裝到這個路徑(自己定義):/opt      

cd /opttar -zxvf jdk-8u25-linux-x64.tar.gz

     出現檔案夾  jdk1.8.0_25。

  3.配置環境變數:vim ~/.bashrc

    在開啟的檔案的末尾添加,

export JAVA_HOME=/opt/jdk1.8.0_25export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH

    儲存退出,然後輸入下面的命令來使之生效

source ~/.bashrc

 

  4.配置預設JDK

sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_25/bin/java 300sudo 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的主要配置參數的意義:

  • daemonize:是否以後台daemon方式運行
  • pidfile:pid檔案位置
  • port:監聽的連接埠號碼
  • timeout:請求逾時時間
  • loglevel:log資訊層級
  • logfile:log檔案位置
  • databases:開啟資料庫的數量
  • save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。
  • rdbcompression:是否使用壓縮
  • dbfilename:資料快照檔案名稱(只是檔案名稱,不包括目錄)
  • dir:資料快照的儲存目錄(這個是目錄)
  • appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。
  • appendfsync:appendonlylog如何同步到磁碟(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)

這時你可以開啟一個終端進行測試了,設定檔中預設的監聽連接埠是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命令即可。

makemake install

  4.redis.conf設定檔為:

 

daemonize yesport 6379appendonly yes

  5.啟動:

 redis.server redis.conf

  6.測試

 redis-cli127.0.0.1:6379> quit/binredis-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"    }

 

 

啟動:

  

 [email protected]:/opt/logstash-1.4.2# bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log  

 

 

2.4 Elasticsearch
$ 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 &

 

  2.5部署Kibana
$ 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-availablecp 000-default.conf kibana3.confvim 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/apache2vim  ports.conf

 

Listen 80Listen 8080#新加的<IfModule ssl_module>    Listen 443</IfModule> <IfModule mod_gnutls.c>    Listen 443</IfModule>

  各種重啟:

cd  /var/www/html/kibana3/app/dashboardsmv logstash.json default.json/etc/init.d/apache2 restart
cd /optelasticsearch-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

歡迎介面

 

 

Logstash+kibana+ Elasticsearch+redis

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.