ELK+filebeat部署過(guò)程(Windows版本)

2020-07-27

ELK+filebeat部署過(guò)程(Windows版本)

author:perin_qin

date:2020.7.23

ELK是基于java的開源項(xiàng)目,所以需要先安裝jdk和配置環(huán)境變量

安裝配置jdk參考:https://blog.csdn.net/weixin_37601546/article/details/88623530 (Windows7)

1.安裝配置 jdk1.8.0_221

安裝目錄:C:\Java\jdk1.8.0_221

配置環(huán)境變量:計(jì)算機(jī)---屬性---高級(jí)系統(tǒng)設(shè)置---高級(jí)---環(huán)境變量---administrator的用戶變量---新建---變量名:JAVA_HOME,變量值:C:\Java\jdk1.8.0_221---新建---變量名:PATH,變量值:%JAVA_HOME%\bin;---系統(tǒng)變量---新建---變量名:CLASSPATH,變量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar---確定---確定

測(cè)試:cmd---java -version,出現(xiàn)1.8.0_221說(shuō)明成功,或者輸入java,有中文輸出

2.安裝配置ElasticSearch(ES)

官網(wǎng)下載地址:https://www.elastic.co/downloads (賊慢)

推薦下載地址:https://mirrors.huaweicloud.com/elasticsearch/ (華為云的倉(cāng)庫(kù))

版本:elasticsearch-7.8.0

解壓路徑:D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0 (最好不要有中文或空格)

a.png

修改es配置文件(notepad++編輯)

D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0\config\elasticsearch.yml

cluster.name: my-application        #集群的名稱,所有節(jié)點(diǎn)統(tǒng)一集群名稱
node.name: node1                    #節(jié)點(diǎn)名稱,必須是唯一的
path.data: D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0\data      #數(shù)據(jù)存儲(chǔ)路徑(源文件夾里沒(méi)有data目錄,自己建一個(gè))
path.logs: D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0\logs      #日志存儲(chǔ)路徑
bootstrap.memory_lock: true      #鎖住內(nèi)存,不被使用到交換分區(qū)去
network.host: 0.0.0.0     #監(jiān)聽的地址
http.port: 9200           #監(jiān)聽的端口

#跨越配置,(新增這四行是為了后面安裝elasticsearch用到)
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true

雙擊D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0\bin\下的elasticsearch.bat,重啟es

(啟動(dòng)服務(wù)所打開的powershell窗口不能關(guān)閉,否則服務(wù)停止)

瀏覽器:http://172.10.0.108:9200/

b.png

3.安裝Elasticsearch-head插件

elasticsearch-head是用于瀏覽Elasticsearch集群并與其進(jìn)行交互的Web前端,即用于顯示集群節(jié)點(diǎn)和數(shù)據(jù)信息

Elasticsearch 5及以上版本均無(wú)法通過(guò)elasticsearch-plugin 進(jìn)行安裝,可以下載node(npm下載head)和grunt(運(yùn)行head)來(lái)安裝head插件

1.安裝nodejs

下載地址:https://nodejs.org/en/download/

c.png

選擇相應(yīng)版本的.msi,雙擊安裝(路徑:C:\Program Files\nodejs\,注意配置環(huán)境變量)

安裝完成可在cmd輸入node -v 查看到版本

cmd輸入npm install -g grunt-cli安裝grunt

安裝完成cmd輸入grunt -version查到版本信息(如果查不到也沒(méi)關(guān)系,只要在安裝結(jié)束后出現(xiàn)grunt的版本就算安裝成功了)

2.安裝elasticsearch-head

下載地址:https://github.com/mobz/elasticsearch-head

d.png

修改配置文件D:\Linux\data\ELK-Windows\elk\elasticsearch-head-master\Gruntfile.js

在如下位置添加hostname: '*',

e.png

修改配置文件D:\Linux\data\ELK-Windows\elk\elasticsearch-head-master_site\app.js

在圖中這個(gè)位置把es服務(wù)器的ip和端口寫上去

f.png
3.啟動(dòng)elasticsearch-head服務(wù)

powershell進(jìn)入D:\Linux\data\ELK-Windows\elk\elasticsearch-head-master目錄

npm install    #初始化依賴
npm run start   #啟動(dòng)服務(wù)
g.png

瀏覽器:http://172.10.0.108:9100/

h.png

看到這個(gè)畫面說(shuō)明啟動(dòng)成功,目前集群中只有一個(gè)節(jié)點(diǎn)

4.安裝logstash

下載地址:https://mirrors.huaweicloud.com/logstash/

版本:logstash-7.8.0

解壓路徑:D:\Linux\data\ELK-Windows\elk\logstash-7.8.0

新建配置文件:D:\Linux\data\ELK-Windows\elk\logstash-7.8.0\config\logstash.conf

input { 
  beats {
    port => 5044
  }
}

output {
  stdout{  codec => rubydebug  { metadata => true }} 
  elasticsearch {  
    hosts => ["http://172.10.0.108:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  }
}
#正式的配置文件中不能注釋和多余空格,否則logstash啟動(dòng)失敗
input { 
  #使用 Filebeat 收集日志
  beats {
    port => 5044  #提供給 Filebeat 傳入日志的端口,即 logstash 的服務(wù)務(wù)端口
  }
}

output {
  #輸出到控制臺(tái)方便調(diào)試
  stdout{  codec => rubydebug  { metadata => true }} 
  #輸出到 elasticsearch
  elasticsearch {  
    hosts => ["http://localhost:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

啟動(dòng)logstash

powershell進(jìn)入logstash的bin目錄:D:\Linux\data\ELK-Windows\elk\logstash-7.8.0\bin

.\logstash.bat -f ../config/logstash.conf      #啟動(dòng)logstash

5.安裝Kibana

下載地址:https://mirrors.huaweicloud.com/kibana/

版本:kibana-7.8.0

解壓路徑:D:\Linux\data\ELK-Windows\elk\kibana-7.8.0-windows-x86_64

修改配置文件:D:\Linux\data\ELK-Windows\elk\kibana-7.8.0-windows-x86_64\config\kibana.yml

server.port: 5601    #本機(jī)(kibana)端口
server.host: "172.10.0.108"    #本機(jī)(kibana)的ip
elasticsearch.hosts: ["http://172.10.0.108:9200"]    #es的ip+端口
i18n.locale: "zh-CN"      #i18n.locale: "zh-CN"     #中文版(看個(gè)人習(xí)慣選用語(yǔ)言)

啟動(dòng)kibana

powershell進(jìn)入kibana的bin目錄:D:\Linux\data\ELK-Windows\elk\kibana-7.8.0-windows-x86_64\bin

.\kibana.bat

啟動(dòng)成功可看到ip+端口

6.測(cè)試

瀏覽器:http://172.10.0.108:5601/

第一次登錄,點(diǎn)擊Explore on my own(使用的我的樣例數(shù)據(jù))

i.png

7.安裝Filebeat

下載地址:https://mirrors.huaweicloud.com/filebeat/7.8.0/

版本:7.8.0

解壓路徑:D:\Linux\data\ELK-Windows\elk\filebeat-7.8.0-windows-x86_64

修改配置文件:

D:\Linux\data\ELK-Windows\elk\filebeat-7.8.0-windows-x86_64\filebeat.yml

filebeat.inputs:
- type: log     #指定文件的輸入類型log(默認(rèn))或者stdin
  enabled: true
  paths:
    - D:\Linux\data\ELK-Windows\elk\elasticsearch-7.8.0\logs\*   #收集指定文件夾下所有(后綴為.log)的日志文件
  fields:
   log_tag: erp #自己增加到fields里的字段(這行和上一行可加可不加)
  multiline:   #用于日志中每一條日志占據(jù)多行的情況,比如各種語(yǔ)言的報(bào)錯(cuò)信息調(diào)用棧
        pattern: '^\d{4}-\d{1,2}-\d{1,2}'  #匹配以日期格式(yyyy-MM-dd) 開頭為另起一行
        negate: true
        match: after  #匹配pattern后與后面(前面:before)的內(nèi)容合并為一條日志

output.logstash:  #發(fā)送數(shù)據(jù)到logstash
  #  Logstash 主機(jī)地址
  hosts: ["172.10.0.108:5044"]
  
#如果數(shù)據(jù)要求從filebeat-->logstash-->es-->kibana,需要將output.elasticsearch:這部書注釋掉,根據(jù)實(shí)際情況配置

啟動(dòng)Filebeat

powershell進(jìn)入Filebeat的目錄:D:\Linux\data\ELK-Windows\elk\filebeat-7.8.0-windows-x86_64

.\filebeat.exe -e -c .\filebeat.yml

8.kibana建索引查數(shù)據(jù)

j.png
k.png
l.png
m.png
n.png

這一步輸入索引后若“下一步”這個(gè)按鈕沒(méi)有變藍(lán),有可能所以已經(jīng)存在或者ELK數(shù)據(jù)傳輸不通

o.png

創(chuàng)建完索引后,點(diǎn)擊左側(cè)欄Discover能看到默認(rèn)索引的數(shù)據(jù)

p.png

選擇新建的索引


q.png

添加選定字段后,查到的數(shù)據(jù)將按照字段要求顯示


r.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容