Elasticsearch+Logstash+Kibana安裝與使用


ELK可以完成如下功能:

l  根據關鍵字查詢日志詳情

l  監控系統的運行狀況

l  統計分析,比如接口的調用次數、執行時間、成功率等

l  異常數據自動觸發消息通知

l  基於日志的數據挖掘

ELK可以實現Splunk 基本功能

Splunk 是機器數據的引擎。使用 Splunk 可收集、索引和利用所有應用程序、服務器和設備(物理、虛擬和雲中)生成的快速移動型計算機數據 。從一個位置搜索並分析所有實時和歷史數據。 使用 Splunking 處理計算機數據,可讓您在幾分鍾內(而不是幾個小時或幾天)解決問題和調查安全事件。監視您的端對端基礎結構,避免服務性能降低或中斷。以較低成本滿足合規性要求。關聯並分析跨越多個系統的復雜事件。獲取新層次的運營可見性以及 IT 和業務智能。

一、准備工具:

1、Elasticsearch:ElasticSearch是一個基於Lucene構建的開源,分布式,RESTful搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。

elasticsearch 1.4.2下載地址:http://www.elasticsearch.org/download/

 

2Logstash:是一個完全開源的工具,他可以對你的日志進行收集、分析,並將其存儲供以后使用(如,搜索),您可以使用它。說到搜索,logstash帶有一個web界面,搜索和展示所有日志。

logstash-1.4.2.tar.gz下載地址http://www.elasticsearch.org/overview/logstash/download/

 

3:kibana: 是一個為 ElasticSearch 提供日志分析的 Web UI工具,可使用它對日志進行高效的搜索、可視化、分析等各種操作。

kibana 4 beta 3下載地址​http://www.elasticsearch.org /overview/kibana/installation/

(注意:版本一定要一致,否則可能會有產生一些問題)

二、安裝

1、安裝Elasticsearch

①解壓elasticsearch-1.4.2.tar.gz

tar zxvf elasticsearch-1.4.2.tar.gz

②​進入到elasticsearch-1.4.2文件夾

cd elasticsearch-1.4.2

​③啟動Elasticsearch

Run bin/elasticsearch on Unix,or bin/elasticsearch.bat on Windows

2、安裝logstash

①解壓logstash-1.4.2.tar.gz

tar zxvf logstash-1.4.2.tar.gz

②進入到logstash-1.4.2

cd logstash-1.4.2

③創建采集系統日志的配置文件logstash-syslog.conf

mkdir conf

vim conf/logstash-syslog.conf

監聽5000端口的消息,logstash-syslog.conf內容如下

input {

  tcp {

    port => 5000

    type => syslog

  }

  udp {

    port => 5000

    type => syslog

  }

}

 

filter {

  if [type] == "syslog" {

    grok {

      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_

pid}\])?: %{GREEDYDATA:syslog_message}" }

      add_field => [ "received_at", "%{@timestamp}" ]

      add_field => [ "received_from", "%{host}" ]

    }

    syslog_pri { }

    date {

      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]

    }

  }

}

④啟動logstash采集系統日志

./bin/logstash -f conf/logstash-syslog.conf

 

⑤向5000端口發送系統日志

telnet localhost 5000

Dec 23 12:11:43 louis postfix/smtpd[31499]: connect from unknown[95.75.93.154]

Dec 23 14:42:56 louis named[16000]: client 199.48.164.7#64817: query (cache) 'amsterdamboothuren.com/MX/IN' denied

Dec 23 14:30:01 louis CRON[619]: (www-data) CMD (php /usr/share/cacti/site/poller.php >/dev/null 2>/var/log/cacti/poller-error.log)

Dec 22 18:28:06 louis rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="2253" x-info="http://www.rsyslog.com.sixxs.org"] rsyslogd was HUPed, type 'lightweight'.

 

 

 

 

⑥查看已啟動的logstash收集5000端口日志的界面,會產生如下圖所示信息:

 

3.安裝Kibana

①解壓kibana-4.0.0-beta3.tar.gz

tar zxvf kibana-4.0.0-beta3.tar.gz

​②進入kibana-4.0.0-beta3

cd kibana-4.0.0-beta3

③啟動Kibana

 ./bin/kibana 

④打開Kibana前台界面

http://192.168.14.136:5601或者http://localhost:5601

⑤搜索Mozi*

 

到目前為止ELK已經搭建完成。

三、通過logstash收集Linux系統日志

1、創建logstash-localsyslog.conf

vim conf/logstash-localsyslog.conf

將如下內容添加到logstash-localsyslog.conf中並保存:

input {

              file{

              type=>"syslog"

              # 通配符在此適用:)

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

              }

}

 

filter {

  if [type] == "syslog" {

    grok {

      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_

pid}\])?: %{GREEDYDATA:syslog_message}" }

      add_field => [ "received_at", "%{@timestamp}" ]

      add_field => [ "received_from", "%{host}" ]

    }

    syslog_pri { }

    date {

      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]

    }

  }

}

 

output {

  elasticsearch { host => localhost }

  stdout { codec => rubydebug }

}

 

2、啟動收集linux本地系統日志的logstash

./bin/logstash -f conf/logstash-localsyslog.conf

3、通過Kibana進行查詢

http://192.168.14.136:5601

 

4、Kibana可以選擇查詢某個時間段的數據

比如查詢過去30min的數據

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM