天天看點

ELK/EFK實戰系列之三:部署ELK實戰

前言:

在前面通過兩篇博文介紹ELK的基礎概念、元件的構成、部署過程中遇到的問題及其解決方法,但是在前面的博文中仍然是在單一主機上部署運作ELK元件的。

在實際使用的時候,ELK一定是分别部署在不同的節點的,例如logstash是需

要部署在需要采集日志的節點,比如需要采集nginx的日志的話,logstash就需要部署在nginx的節點;如果叢集中有多個nginx的話,那麼每個nginx節點上都需要安裝logstash。在logstash采集到日志後,需要将日志發送給ES,最終通過kibana展示出來。

本篇博文,就來實作将ELK分開部署的實作方法。

一、ELK平台架構

1)架構規劃如下

ELK/EFK實戰系列之三:部署ELK實戰

本案例中,采用兩個節點的模式

一個節點安裝logstash,另一個節點安裝es和kibana

注意:es和kibana也可以分開部署,配置方式與後文中做法一緻,讀者可自行配置

2)兩個節點配置參數如下

節點1

節點2

主機名稱

ser1

主機名

ser2

ip位址

192.168.31.62

192.168.31.63

安裝的元件

es、kibana

logstash

3)注意事項

叢集的各個節點在配置之前,需要首先做一些基礎配置工作:

關閉防火牆

配置時間同步

配置主機名解析

二、配置節點1

2、配置ES

1)配置java環境

2)安裝配置ES

因為es有http接口,所有可以通過網頁通路

ELK/EFK實戰系列之三:部署ELK實戰

此時也已通路kibana的頁面了

ELK/EFK實戰系列之三:部署ELK實戰

三、配置節點2

1)安裝jdk

2)安裝logstash

測試一下,從标準輸入來輸入資料,結果會列印到标準輸出

ELK/EFK實戰系列之三:部署ELK實戰

在測試沒問題以後,也可以讓logstash的配置,讓其從日志檔案讀取内容,再列印到終端

這裡我們将nginx的日志讀取出來發送給es

1)在es節點安裝nginx

2)配置logstash

而es的端口是9200,此時的logstash的配置就是

重新啟動logstash

進入到es中,可以看到此時還沒有資料産生

ELK/EFK實戰系列之三:部署ELK實戰

我們可以自己通路nginx,在産生了通路日志以後,會在es中産生資訊

ELK/EFK實戰系列之三:部署ELK實戰

說明

其實到這裡,整條鍊路已經通了,也就是通過logstash去采集日志,然後見日志儲存到es中,同時借助于kibana進行展示

在采集到了日志以後,可以看一看es中日志的詳情

在上圖中,可以看到這個日志的 index 是 logstash-2019-09-29

通過這個index,就可以看到這個日志詳細資訊

ELK/EFK實戰系列之三:部署ELK實戰

這樣來檢視日志的内容是非常不友善的,我們可以在kibana中建立索引來看

ELK/EFK實戰系列之三:部署ELK實戰
ELK/EFK實戰系列之三:部署ELK實戰
ELK/EFK實戰系列之三:部署ELK實戰

在實際使用的時候,資料量可能比較大,那麼這個時候,可以針對日志中的某個字段進行過濾顯示,比如過濾host字段的值是ser2,

ELK/EFK實戰系列之三:部署ELK實戰

繼續閱讀