Elasticsearch+Logstash+Kibana安裝與使用

ELK能夠完成以下功能:php

l  根據關鍵字查詢日誌詳情linux

l  監控系統的運行情況web

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

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

l  基於日誌的數據挖掘ruby

ELK能夠實現Splunk 基本功能服務器

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

1、準備工具:tcp

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/

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

2、安裝

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已經搭建完成。

3、經過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的數據

 

相關文章
相關標籤/搜索