1. 程式人生 > >ELK日誌分析系統 介紹 安裝配置

ELK日誌分析系統 介紹 安裝配置

elk

ELK日誌分析系統

一、ELK介紹

ELK顧名思義:是由Elasticsearch,Logstash 和 Kibana三部分組成的。

其中Elasticsearch 是一個實時的分布式搜索和分析引擎,它可以用於全文搜索,結構化搜索以及分析。它是一個建立在全文搜索引擎 Apache Lucene 基礎上的搜索引擎,使用 Java 語言編寫。目前,最新的版本是 5.4。

主要特點

實時分析

分布式實時文件存儲,並將每一個字段都編入索引

文檔導向,所有的對象全部是文檔

高可用性,易擴展,支持集群(Cluster)、分片和復制(Shards 和 Replicas)。見圖 2 和圖 3

接口友好,支持 JSON


Logstash 是一個具有實時渠道能力的數據收集引擎。使用 JRuby 語言編寫。其作者是世界著名的運維工程師喬丹西塞 (JordanSissel)。目前最新的版本是 5.4。

主要特點

幾乎可以訪問任何數據

可以和多種外部應用結合

支持彈性擴展

Kibana 是一款基於 Apache 開源協議,使用 JavaScript 語言編寫,為 Elasticsearch 提供分析和可視化的 Web 平臺。它可以在 Elasticsearch 的索引中查找,交互數據,並生成各種維度的表圖。目前最新的版本是 5.4。


截取官網中部分:

Logstash: Collect, Enrich, and Transport


Elasticsearch: Store, Search, and Analyze


Kibana: Explore, Visualize, and Share


Beats: Collect, Parse, and Ship


What is the difference between Logstash and Beats?edit

Beats are lightweight data shippers that you install as agents on your servers to send specific types of operational data to Elasticsearch. Beats have a small footprint and use fewer system resources than Logstash.

由此可以看出,各部分的分工:收集,分析,傳輸(Logstash)----->存儲,查找,分析(Elasticsearch)----->瀏覽,分析,分享(Kibana)。

以及beats跟logstash的比較,Beats 平臺是 Elastic.co 從 packetbeat 發展出來的數據收集器系統。beat 收集器可以直接寫入 Elasticsearch,也可以傳輸給 Logstash。其中抽象出來的 libbeat,提供了統一的數據發送方法,輸入配置解析,日誌記錄框架等功能。

也就是說,所有的 beat 工具,在配置上,除了 input 以外,在 output、filter、shipper、logging、run-options 上的配置規則都是完全一致的。


二、ELK安裝配置

服務器環境:CentOS 7.2

ELK各個版本:5.4

yum install java-1.8.0-openjdk  #提前安裝java


1、Installing Elasticsearch


curl -L -O 
rpm -i elasticsearch-5.4.0.rpm
systemctl start elasticsearch

安裝以後

curl http://127.0.0.1:9200

查看是否正常返回。

2、Installing Logstash


curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-5.4.0.rpm
rpm -i logstash-5.4.0.rpm

修改配置文件,設置輸入,輸出

vim logstash.conf

input {
  beats {
    port => 5044
      }
  }output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
      }
  }


3、Installing kibana

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-5.4.0-linux-x86_64.tar.gz
tar xzvf kibana-5.4.0-linux-x86_64.tar.gz
cd kibana-5.4.0-linux-x86_64/
./bin/kibana

啟動以後

http://127.0.0.1:5601

需要修改配置文件,然後重啟可以通過在最後加入 server.host: "0.0.0.0"


4、Installing Beats

STEP1 Installing Filebeat

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.0-x86_64.rpm
sudo rpm -vi filebeat-5.4.0-x86_64.rpm


STEP2 Configuring Filebea

https://www.elastic.co/guide/en/beats/filebeat/5.4/filebeat-configuration.html 由於配置文件中縮進特別重要,所以附上原網站。

filebeat.prospectors:
 - input_type: log  
 paths:    
    - /var/log/*.log
 
 output.elasticsearch:  
      hosts: ["192.168.1.42:9200"]


STEP3 Configuring Filebeat to Use Logstash

you edit the Filebeat configuration file to disable the Elasticsearch output by commenting it out and enable the Logstash output by uncommenting the logstash section:


#----------------------------- Logstash output --------------------------------
output.logstash:
  hosts: ["127.0.0.1:5044"]

通過修改配置文件,禁用輸出到Elasticsearch 而是輸出到logstash,由logstash處理。



come on boy!!



本文出自 “share,open source” 博客,請務必保留此出處http://liqilong2010.blog.51cto.com/3029053/1930409

ELK日誌分析系統 介紹 安裝配置