ELKB搭建過程記錄

一、ELK是什么?

“ELK”是三個開源項目的首字母縮寫,這三個項目分別是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一個搜索和分析引擎。Logstash 是服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到諸如 Elasticsearch 等“存儲庫”中。Kibana 則可以讓用戶在 Elasticsearch 中使用圖形和圖表對數據進行可視化。

二、為什么使用ELK?

在規模較大的場景中,傳統日志分析方法效率低下,面臨著日志量太大如何歸檔、文本搜索太慢怎么辦、如何多維度查詢等問題。需要建立集中式日志收集系統,將所有節點上的日志統一收集,管理,訪問。

ELK提供了一整套開源解決方案,高效的滿足了很多場合的應用,是目前主流的一種日志系統。

三、環境說明:

Java版本:Java8(openjdk1.8.0)

部署的ELK組件:Filebeat-7.8.0、Logstash-7.8.0、Elasticsearch-7.8.0、Kibana-7.8.1

四、Elasticsearch:

Elasticsearch 是一個分布式搜索和數據分析引擎,用于數據存儲,可提供實時的數據查詢。

Elasticsearch部署在ELK服務器上,詳細內容參閱官方文檔https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

Elasticsearch安裝記錄:

1.導入GPG-KEY

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.在/etc/yum.repos.d/目錄下創建elasticsearch.repo文件,并寫入以下內容:

[elasticsearch]

name=Elasticsearch repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=0

autorefresh=1

type=rpm-md

3.安裝elasticsearch

yum install --enablerepo=elasticsearch elasticsearch

4.設置自啟動

systemctl daemon-reload

systemctl enable elasticsearch.service

elasticsearch文件默認路徑如下:

5.配置elasticsearch

1) elasticsearch配置文件elasticsearch.yml默認存儲在/etc/elasticsearch/目錄下,我們對其做以下修改:


因elasticsearch數據文件默認存儲在/var/lib/elasticsearch、日志文件默認存儲在/var/log/elasticsearch目錄下,而ELK服務器上/var/目錄存儲容量不夠大,故將其改為容量更大的/data/目錄,如上圖。

2) 配置文件保存后開啟elasticsearch服務

systemctl start elasticsearch.service

3) 可通過下面鏈接在瀏覽器中查看elasticsearch返回內容

http://localhost:9200

6.常用命令:

systemctl stop elasticsearch.service(停止elasticsearch服務)

systemctl start elasticsearch.service(啟動elasticsearch服務)

systemctl status elasticsearch.service(查看elasticsearch狀態)

五、Logstash:

Logstash 是一個服務器端數據處理管道,能夠從多個來源采集數據,轉換數據,然后將數據發送到指定 “存儲庫”中。

數據從源傳輸到存儲庫的過程中,Logstash 過濾器能夠解析各個事件,識別已命名的字段以構建結構,并將它們轉換成通用格式,以便進行更強大的分析。

Logstash部署在elk服務器上,詳細內容參閱官方文檔https://www.elastic.co/guide/en/logstash/current/index.html

也可參考此文檔https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/index.html

Logstash安裝記錄:

1.導入GPG-KEY

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.在/etc/yum.repos.d/目錄下創建logstash.repo文件,并寫入以下內容

[logstash-7.x]

name=Elastic repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

3.安裝logstash

yum install logstash

4.開啟logstash服務

systemctl start logstash.service

logstash文件默認路徑如下圖:

5.配置logstash

1) 進入/etc/logstash/conf.d/目錄下創建log4j_to_es.conf文件,并在其中配置輸入和輸出,寫入內容如下:

此配置說明logstash將從filebeat接收數據,并發送到elasticsearch,每次配置文件更改后須重啟filebeat(參考filebeat部分),然后創建patterns文件,內容如下圖所示

2) 配置文件保存后,執行下面命令檢查配置語法是否出錯

/usr/share/logstash/bin/logstash -f log4j_to_es.conf --config.test_and_exit

3) 測試通過后,執行以下命令使配置自動生效

nohup /usr/share/logstash/bin/logstash -f log4j_to_es.conf --config.reload.automatic &

6.常用命令:

systemctl stop logstash(停止logstash)

systemctl status logstash(查看logstash狀態)

六、Filebeat:

Filebeat是一個輕量型日志采集器,用于轉發和匯總日志與文件,能夠與 Logstash、Elasticsearch 和 Kibana 無縫協作。

Filebeat部署在爬蟲服務器上,詳細內容參閱官方文檔https://www.elastic.co/guide/en/beats/filebeat/current/index.html

Filebeat安裝記錄:

1.導入GPG-KEY

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2.在/etc/yum.repos.d/目錄下創建elastic.repo文件,并寫入以下內容

[elastic-7.x]

name=Elastic repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

3.安裝filebeat

yum install filebeat

4.配置自啟動

systemctl enable filebeat(如果想關閉自啟動使用 systemctl disable filebeat)

filebeat文件默認路徑如下圖:

5.配置filebeat

Filebeat配置文件filebeat.yml默認存放在/etc/filebeat目錄下,我們進入目錄并對其做以下修改:

1) 將日志采集路徑修改為爬蟲日志實際存放路徑

2) 將filebeat輸出由默認的elasticsearch改為logstash(注意#號),修改后filebeat將采集到的日志文件發送到位于ELK服務器上的logstash進行處理

3) 將配置文件保存后啟動filebeat

nohup filebeat -e -c filebeat.yml -d "publish" &(此命令將filebeat掛在后臺運行,如需結束filebeat可以先用ps -aux命令查看進程號,再用kill -9 進程號 殺掉進程。)

6.常用命令

systemctl stop filebeat(關閉filebeat)

systemctl status filebeat(查看filebeat運行狀態)

七、Kibana:

Kibana 是一款開源的數據分析和可視化平臺,它是ELK成員之一,設計用于和 Elasticsearch 協作??梢允褂?Kibana 對 Elasticsearch 索引中的數據進行搜索、查看、交互操作??梢院芊奖愕睦脠D表、表格及地圖對數據進行多元化的分析和呈現。

Kibana部署在elk服務器上,詳細內容參閱官方文檔https://www.elastic.co/guide/en/kibana/current/index.html

Kibana安裝記錄:

  1. 導入GPG-KEY
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  1. 在/etc/yum.repos.d/目錄下創建kibana.repo文件,并寫入如下內容:
[kibana-7.x]

name=Kibana repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md
  1. 安裝kibana
yum install kibana
  1. 配置自啟動
systemctl daemon-reload

systemctl enable kibana.service

kibana文件默認安裝目錄如下:

  1. 修改配置,配置文檔kibana.yml在/etc/kibana/目錄下,對其修改如下
  1. 常用命令
systemctl start kibana.service

systemctl stop kibana.service

systemctl status kibana.service

八、測試elasticsearch是否有數據:

在瀏覽器中打開下面鏈接,查看kibana面板

http://localhost:5601

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。