前言:
在前面通過兩篇博文介紹ELK的基礎概念、元件的構成、部署過程中遇到的問題及其解決方法,但是在前面的博文中仍然是在單一主機上部署運作ELK元件的。
在實際使用的時候,ELK一定是分别部署在不同的節點的,例如logstash是需
要部署在需要采集日志的節點,比如需要采集nginx的日志的話,logstash就需要部署在nginx的節點;如果叢集中有多個nginx的話,那麼每個nginx節點上都需要安裝logstash。在logstash采集到日志後,需要将日志發送給ES,最終通過kibana展示出來。
本篇博文,就來實作将ELK分開部署的實作方法。
一、ELK平台架構
1)架構規劃如下

本案例中,采用兩個節點的模式
一個節點安裝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接口,所有可以通過網頁通路
此時也已通路kibana的頁面了
三、配置節點2
1)安裝jdk
2)安裝logstash
測試一下,從标準輸入來輸入資料,結果會列印到标準輸出
在測試沒問題以後,也可以讓logstash的配置,讓其從日志檔案讀取内容,再列印到終端
這裡我們将nginx的日志讀取出來發送給es
1)在es節點安裝nginx
2)配置logstash
而es的端口是9200,此時的logstash的配置就是
重新啟動logstash
進入到es中,可以看到此時還沒有資料産生
我們可以自己通路nginx,在産生了通路日志以後,會在es中産生資訊
說明
其實到這裡,整條鍊路已經通了,也就是通過logstash去采集日志,然後見日志儲存到es中,同時借助于kibana進行展示
在采集到了日志以後,可以看一看es中日志的詳情
在上圖中,可以看到這個日志的 index 是 logstash-2019-09-29
通過這個index,就可以看到這個日志詳細資訊
這樣來檢視日志的内容是非常不友善的,我們可以在kibana中建立索引來看
在實際使用的時候,資料量可能比較大,那麼這個時候,可以針對日志中的某個字段進行過濾顯示,比如過濾host字段的值是ser2,