mac下elk的安裝

ELK(Elasticsearch,Logstash和Kibana)日誌分析平臺,是目前比較流行的技術架構了。出於好奇心的驅使在自己的mac電腦上安裝了一下,探探究竟。先介紹一下Elasticsearch,Elasticsearch是目前全文搜索引擎的首選。它可以快速地儲存、搜索和分析海量數據。維基百科、Stack Overflow、Github 都採用它。Elastic 的底層是開源庫 Lucene。但是,你沒法直接用 Lucene,必須自己寫代碼去調用它的接口。Elastic是Lucene的封裝,提供了REST API的操作接口,開箱即用。

安裝前準備

1.mac下安裝最方便的就是Homebrew了。首先安裝Homebrew。

2.elk需要java8的環境,java -version看是否當前java環境是java8。

安裝elasticsearch

brew install elasticsearch && brew info elasticsearch

啓動/關閉/重啓elasticsearch:

brew service start elasticsearch
brew service stop elasticsearch
brew service restart elasticsearch

 

啓動之後使用您喜歡的瀏覽器檢查它是否在localhost和默認端口上正確運行:http:// localhost:9200

輸出應該如下所示:

安裝Logstash:

brew install logstash

啓動/關閉/重啓logstash

brew services start logstash
brew services stop logstash
brew services restart logstash
由於我們尚未配置Logstash管道,因此啓動Logstash不會產生任何有意義的結果。我們將在下面的另一個步驟中返回配置Logstash。

安裝Kibana

brew install kibana
啓動Kibana並檢查所有ELK服務是否正在運行:
brew services start kibana
brew services list

 

Kibana需要進行一些配置更改才能正常工作,打開Kibana配置文件:kibana.yml

sudo vi /usr/local/etc/kibana/kibana.yml

 

取消註釋用於定義Kibana端口和Elasticsearch實例的指令:

server.port: 5601
elasticsearch.url: "http://localhost:9200”

 

如果一切順利,請在localhost:5601/status打開Kibana。你應該看到這樣的東西:

 

恭喜,您已經在Mac上成功安裝了ELK!

發送一些數據

 

您已準備好開始向Elasticsearch發送數據並享受堆棧提供的所有優點。下面是一個Logstash管道將syslog日誌發送到堆棧的示例。 首先,您需要創建一個新的Logstash配置文件:

sudo vim /etc/logstash/conf.d/syslog.conf
輸入以下配置:
input {
  file {
    path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
    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" ]
    }
  }
}
 
output {
  elasticsearch {
    hosts => ["127.0.0.1:9200"] 
    index => "syslog-demo"
  }
  stdout { codec => rubydebug }
}

然後重啓logstash.

 

在Kibana的Management選項卡中,您應該看到由新的Logstash管道創建的新創建的“syslog-demo”索引。

將其作爲index pattern輸入,然後在下一步中選擇@timestamp字段作爲時間過濾器字段名稱。

我們都準備好了!打開Discover頁面,您將在Kibana中看到syslog數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章