ELK日志收集分析系統(tǒng)

ELK是Elasticsearch、Logstash、Kibana開源軟件的集合,對外是作為一個日志管理系統(tǒng)的開源方案,它可以從任何來源、任何格式進行日志搜索、分析與可視化展示。

基本組成軟件:

1、Filebeat:監(jiān)控日志文件,獲取服務器上指定路徑的日志文件,并將這些日志轉發(fā)到Logstash實例以進行處理。Filebeat的設計是為了可靠性和低延遲。Filebeat在主機上占用的資源很少,而Beats input插件將對Logstash實例的資源需求降到最低。
2、Logstash:它是一個服務端的數(shù)據(jù)處理管道,可以從多個源中提取數(shù)據(jù),對其進行轉換,然后將其存儲到Elasticsearch中。簡單來說就是日志的收集、分析、過濾工具。
3、Kibana:它是一個基于web的圖形界面,用于搜索、分析和可視化存儲在Elasticsearch中的日志數(shù)據(jù)。
4、Elasticsearch:它是一個開源分布式搜索引擎,提供收集、分析、存儲數(shù)據(jù)三大功能。

Filebeat安裝

1、從Filebeat官網選擇你所需的版本,本次安裝以Ubuntu為例。


2、右鍵選擇復制鏈接地址使用wget下載Filebeat.tar.gz壓縮包。

3、使用tar -zxf命令解壓。

hsl@iZ282hpfj1mZ:~$ tar -zxf filebeat-6.4.0-linux-x86_64.tar.gz 

4、編輯filebeat.yml配置文件
配置文件中有各種輸入以及輸出,根據(jù)自己的需求正確配置。

Logstash安裝

logstash需要Java環(huán)境,JDK版本不低于1.8,檢查你的環(huán)Java環(huán)境:

java -vsersion

如果Java已經安裝,此命令將輸出類似于以下內容:

java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

如果Logstash在包安裝期間無法找到JAVA_HOME環(huán)境變量,您可能會收到一個錯誤消息,軟件無法正常啟動。
1、從Logstash官網選擇你所需的版本,本次安裝以Ubuntu為例。

2、右鍵選擇復制鏈接地址使用wget下載tar.gz壓縮包。

hsl@iZ282hpfj1mZ:~$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.tar.gz

3、使用tar -zxf命令解壓。

hsl@iZ282hpfj1mZ:~$ tar -zxf logstash-6.4.0.tar.gz 

4、配置logstash,我們需要創(chuàng)建一個配置文件,并指定要使用的插件和每個插件的設置。我們創(chuàng)建名為logstash-simple.conf的文件并將其保存在與Logstash相同的目錄中。

hsl@iZ282hpfj1mZ:~$ cd logstash-6.4.0/
hsl@iZ282hpfj1mZ:~/logstash-6.4.0$ vi logstash-simple.conf

logstash-simple.conf中輸入以下內容

input { stdin { } }
output {
  stdout { codec => rubydebug }
}

5、啟動Logstash

hsl@iZ282hpfj1mZ:~/logstash-6.4.0$bin/logstash -f logstash-simple.conf

Elasticsearch安裝

1、從ELasticsearch官網選擇你所需的版本,本次安裝以Ubuntu為例。

2、右鍵選擇復制鏈接地址使用wget下載tar.gz壓縮包。

hsl@iZ282hpfj1mZ:~$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz

3、使用tar -zxf命令解壓。

hsl@iZ282hpfj1mZ:~$ tar -zxf elasticsearch-6.4.0.tar.gz

4、啟動

hsl@iZ282hpfj1mZ:~$ cd elasticsearch-6.4.0/
hsl@iZ282hpfj1mZ:~/elasticsearch-6.4.0$ bin/elasticsearch

5、檢驗是否啟動

hsl@iZ282hpfj1mZ:~/elasticsearch-6.4.0$ curl http://localhost:9200/


上圖表示Elasticsearch正常啟動。
6、注意,正式服務器上需要更改配置文件elasticsearch.yml,具體配置項可以對照官網。

Kibana安裝

Filebeat + Logstash + Elasticsearch 簡單使用示例

1、下載示例數(shù)據(jù)

wget https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz
gunzip logstash-tutorial.log.gz  # 解壓

2、配置filebeat.yml文件

hsl@iZ282hpfj1mZ:~$ cd filebeat-6.4.0-linux-x86_64/
hsl@iZ282hpfj1mZ:~/filebeat-6.4.0-linux-x86_64$ cp filebeat.yml filebeat.yml.bck  # 備份配置文件
hsl@iZ282hpfj1mZ:~/filebeat-6.4.0-linux-x86_64$vi  filebeat.yml 

將以下內容輸入到filebeat.yml文件中

filebeat.prospectors:
- type: log
  paths:
    - /path/to/file/logstash-tutorial.log  # 下載的示例數(shù)據(jù)的文件位置絕對路徑
output.elasticsearch:
  hosts: ["localhost:9200"]

3、啟動Filebeat

./filebeat -e -c filebeat.yml -d "publish"

4、配置Logstash配置文件,first-pipeline.conf

input {
    beats {
        port => "5044"
    }
}
 filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }
    geoip {
        source => "clientip"
    }
}
output {
    elasticsearch {
        hosts => [ "localhost:9200" ]
    }
}

5、啟動Logstash

bin/logstash -f first-pipeline.conf --config.reload.automatic
# 自動重載配置文件

6、我們重新啟動一下filebeat

rm data/registry  # 首先刪掉上次的注冊數(shù)據(jù)
./filebeat -e -c filebeat.yml -d "publish"

7、等程序完成,檢查數(shù)據(jù)

curl 'localhost:9200/logstash-2018.09.17/_search?pretty'

logstash-2018.09.17是自動生成的索引,具體的生成配置還不清楚。pretty是為了友好展示

curl 'localhost:9200/_cat/indices?v'
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容