ELK 實時日誌分析平台環境搭建

簡單介紹

ELK(ElasticSearch, Logstash, Kibana),三者組合在一起搭建實時的日誌分析平台,目前好多公司都是這套!

  • Elasticsearch 是個開源分散式搜索引擎,它的特點有:分散式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格介面,多數據源,自動搜索負載等。
  • Logstash 是一個完全開源的工具,他可以對你的日誌進行收集、過濾,並將其存儲供以後使用(如,搜索)。
  • Kibana 也是一個開源和免費的工具,它 Kibana 可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日誌。

安裝 ES

。。。這個省略,不 bb 了,以前寫過。。。傳送門:全文搜索引擎 Elasticsearch 集群搭建入門教程

安裝 Logstash

ELK 整套環境搭建版本很關鍵,最好全統一一個版本,否則出啥問題就不太好找了。這是我見過版本統一最嚴格的了。而已 ES 版本升了後,其他的都要都要升級,包括其插件。升級代價挺大的,最好一開始就定位好要安裝哪個版本!

在官網下好安裝包後傳到 Linux 上,這是速度最快的。

/usr/local 目錄下解壓tar -zxvf logstash-5.5.2.tar.gz進入解壓後的目錄cd /usr/local/logstash-5.5.2/bin新增配置文件vim logstash.conf增加input{ file{ path => ["/var/log/*.log"] }}output{ elasticsearch{ hosts => ["192.168.153.135:9200"] index => "logstash__log" }}

Logstash 的啟動方式是:

/usr/local/logstash-5.5.2/bin 目錄下運行./logstash -f logstash.conf

安裝 Kibana

同樣,官網下好安裝包,上傳到 Linux。

解壓:tar -zxvf kibana-5.5.2-linux-x86_64.tar.gz修改配置文件 kibana-5.5.2/config/kibana.yml 如下:Server.host //配置機器ip/hostnameServer.name //此kibana服務的名稱elasticsearch.url //es master節點url

Kibana 啟動方式:

/usr/local/kibana-5.5.2/bin 目錄下運行./kibana

Web界面訪問: http://ip:5601 此時需要輸入用戶名和密碼登錄,默認分別是 elastic 和 changeme

X-Pack

X-Pack 是一個 Elastic Stack 的擴展,將安全,警報,監控,報告和圖形功能包含在一個易於安裝的軟體包中。

ES 和 Kibana 都可安裝。

插件 x-pack-5.5.2.zip 依舊官網下。

ES 安裝 X-PACK

cd /usr/local/elasticsearch/bin./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip

如果成功:顯示如下

[root@node1 bin]# ./elasticsearch-plugin install file:///opt/es/x-pack-5.5.2.zip-> Downloading file:///opt/es/x-pack-5.5.2.zip[=================================================] 100%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: plugin requires additional permissions @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* java.io.FilePermission \.pipe* read,write* java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries* java.lang.RuntimePermission getClassLoader* java.lang.RuntimePermission setContextClassLoader* java.lang.RuntimePermission setFactory* java.security.SecurityPermission createPolicy.JavaPolicy* java.security.SecurityPermission getPolicy* java.security.SecurityPermission putProviderProperty.BC* java.security.SecurityPermission setPolicy* java.util.PropertyPermission * read,write* java.util.PropertyPermission sun.nio.ch.bugLevel write* javax.net.ssl.SSLPermission setHostnameVerifierSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.htmlfor descriptions of what these permissions allow and the associated risks.Continue with installation? [y/N]y@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: plugin forks a native controller @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@This plugin launches a native controller that is not subject to the Javasecurity manager nor to system call filters.Continue with installation? [y/N]y-> Installed x-pack

KIBANA 安裝 X-PACK

cd /usr/local/kibana-5.5.2/bin./kibana-plugin install file:///opt/es/x-pack-5.5.2.zip

安裝成功如下:

[root@node1 bin]# ./kibana-plugin install file:///opt/es/x-pack-5.5.2.zipAttempting to transfer from file:///opt/es/x-pack-5.5.2.zipTransferring 159867054 bytes....................Transfer completeRetrieving metadata from plugin archiveExtracting plugin archiveExtraction completeOptimizing and caching browser bundles...Plugin installation complete

啟用 X-PACK 安全機制

分別在 kibana.yml 和 elasticsearch.yml 中加入下行

xpack.security.enabled: true

這樣後,你再打開 ES 的 head 界面和 Kibana 管理界面就需要輸入賬號密碼了。

上圖右邊是安裝 X-Pack 後的,功能多了幾個。

最後

環境搭建很簡單,後面如果有時間的話可以再講講在 Kibana 的 Dev Tools 上構建 ES 的 JSON 串來對 ES 進行操作。

我還寫過 ES 相關的文章:

1、Elasticsearch 默認分詞器和中分分詞器之間的比較及使用方法

2、全文搜索引擎 Elasticsearch 集群搭建入門教程

3、ElasticSearch 集群監控

4、ElasticSearch 單個節點監控


推薦閱讀:

從DSL扯開去
有用過Splunk的嗎,大家都用Splunk做什麼?

TAG:ELK | ELKStack权威指南书籍 | 日志分析 |