1. 程式人生 > >Elasticsearch、Logstash和Kibana Windows環境搭建(一)

Elasticsearch、Logstash和Kibana Windows環境搭建(一)

tps 文件的 技術分享 中文分詞器 完成 allow ted zip 匯總

一、概述
ELK官網 https://www.elastic.co
ELK由Elasticsearch、Logstash和Kibana三部分組件組成;

Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。
Logstash是一個完全開源的工具,它可以對你的日誌進行收集、分析,並將其存儲供以後使用
kibana 是一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日誌。

技術分享圖片

常見平臺架構

ELK = Elasticsearch + Logstash + Kibana
EFK = Elasticsearch + Flume + Kibana

簡單架構:
ELK+Redis
或
(Logstash/Flume)->(Kafka/Redis)->ES->Web

可更簡單些:
Client(Filebeat) --> LogServer(Logstash-->Elasticsearch-->Kibana )
(可以不用Logstash,Filebeat直接輸出到ES)

復雜架構:
數據采集層[離線/實時數據,MySQL/ES/Logstash/Flume]
->數據傳輸層[Kafka/Redis]
->數據緩存層[Storm->Kafka]
->計算存儲層[離線計算(Kylin/Spark SQL/Impala/MR)、實時計算(Storm/Spark Streaming/Flink/Druid)、存儲(ES/MySQL/Hbase/HDFS/Kudu)]
->應用層[Web/REST API]

二、下載安裝ELK
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.tar.gz --no-check-certificate
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.3.tar.gz --no-check-certificate
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.3-windows-x86.zip --no-check-certificate

註意需要jdk8環境


在windows 上運行 elasticsearch 分布式日誌分析,檢索

下載地址 https://www.elastic.co/downloads

在界面中下載 elasticsearch Logstash Kibana

1 . elasticsearch 下載 ,zip 解壓縮,進入bin 運行文件elasticsearch.bat

訪問 http://localhost:9200

技術分享圖片

啟動成功


2 .由於elasticsearch 只是字符串 等文件信息 ,需要安裝 elasticsearch-head 插件

在當前版本中,由於使用的是6.4.0進行環境搭建,需要使用node 等工具進行安裝插件

步驟一。 安裝node 在此不再贅述

步驟二。安裝 npm install -g grunt-cli 安裝 grunt

使用 grunt –version 查看安裝 grunt的版本信息

3.修改elasticsearch/conf 文件夾 修改 elasticsearch.xml 文件 ,

進入安裝目錄下的config目錄,修改elasticsearch.yml文件.在文件的末尾加入以

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true

其他操作

然後去掉network.host: 192.168.0.1的註釋並改為network.host: 0.0.0.0,去掉cluster.name;node.name;http.port的註釋(也就是去掉#)

雙擊elasticsearch.bat重啟es


4.下載elasticsearch-head包


下載地址 https://github.com/mobz/elasticsearch-head 中下載head插件,選擇下載zip

5.解壓到指定文件夾下,G:\elasticsearch-6.6.2\elasticsearch-head-master 進入該文件夾,修改G:\elasticsearch-6.6.2\elasticsearch-head-master\Gruntfile.js 在對應的位置加上hostname:‘*‘

技術分享圖片

6. 修改完成後,使用cmd命令進入 elasticsearch-head-master 文件夾中 ,

執行命令 npm install 然後在執行 npm run start 運行 head

運行成功 成功界面技術分享圖片


訪問界面

技術分享圖片

以上為elasticsearch 安裝和查看教程

測試elasticsearch-head

1.使用cmd請求

curl -XGET http://127.0.0.1:9200/_cluster/health?pretty
請求結果 
技術分享圖片
 2.使用elasticsearch-head進行請求
 請求結果
技術分享圖片

啟動 logstash 服務

需要修改 conf中添加 logstash.conf 在新建的文件中粘貼

input {
file {
type => "nginx_access"
path => "D:\nginx\logs\access.log"
}
}
output {
elasticsearch {
hosts => ["192.168.10.105:9200"]
index => "access-%{+YYYY.MM.dd}"
}
stdout {
codec => json_lines
}
}

進入到bin文件夾中 執行
命令1 logstash.bat agent –f ../config/logstash.conf

命令2 logstash.bat -f ../config/logstash.conf

啟動 logstash 如果報錯 將 logstash.bat 中的 "%CLASSPATH%" 使用 ”” 引號引起來,在執行即可

技術分享圖片

啟動報錯,不能當成持續服務

reason=>"Expected one of #, input, filter, output at line 1, column 1 (byte1)after "}

是文件格式問題。

Windows文件默認是utf8 。將文件格式改為:ansi格式就可以了。程序可以正常運行

bin\logstash -f ./config/test.conf


啟動Kibana 服務

進入到 kibana-6.4.0-windows-x86_64/bin 文件夾 雙擊 Kibana.bat

剛啟動時 ,需要等大概一分鐘 ,cmd命令 窗口沒有反應




Elasticsearsh 設置中文分詞器

使用安裝命令 elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip

使用windows 安裝會報錯,不如直接下載 然後將文件 信息解壓到 elasticsearch/plugs/ik文件夾下

驗證 在kibana中可以進行 請求,也可在 elasticsearsh中進行請求

GET _search { "query": { "match": { "message": "中華" } } }




將elasticsearsh 設置為windows 系統服務

在bin中執行 elasticsearch-service.bat install

將logstash Kibana 設置為windows 服務

使用nssm進行安裝

nssm下載地址 (官網地址) https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip

使用

進入到 ELK_WORK\nssm-2.24-101-g897c7ad\win64>nssm install logstash/Kibana

回車後會彈出執行框

技術分享圖片

NSSM 用法 ( Linux service 使用一樣)

To manage a service:

nssm start <servicename>

nssm stop <servicename>

nssm restart <servicename>

nssm status <servicename>

nssm statuscode <servicename>

nssm rotate <servicename>

nssm processes <servicename>

總結,

在windows中啟動 ELK 日誌收集分析查詢 功能 ,

將會在服務中安裝三個服務

Elasticsearch 服務 訪問地址 192.168.10.105:9200

服務名 Elasticsearch 6.4.0 (elasticsearch-service-x64)


logstash 服務 訪問地址 192.168.10.105:9600

Kibana 服務 訪問地址:http://localhost:5601

Elasticsearch、Logstash和Kibana Windows環境搭建(一)