windows2016_x64搭建ELK(datasource filebeat logstash elasticsearch kibana) 1. 本文示例日誌程式基於asp.net core 3.0+nlog 2. ELK相關程式如下圖: 3. 日誌組件推薦: 客戶端安裝和運行 1. 下載fil ...
windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
- 本文示例日誌程式基於asp.net core 3.0+nlog
- ELK相關程式如下圖:
- 日誌組件推薦:
java: logback、lo4j
asp.net: log4net、nlog
客戶端安裝和運行
- 下載filebeat安裝包 filebeat7.5.1
- 編輯filebeat.yml,簡易版配置如下:
filebeat.inputs:
- type: log
enabled: true
paths:
#- /var/log/*.log
- F:\logs\xxx\*.log
filebeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
# Set to true to enable config reloading
reload.enabled: false
output.logstash:
# logstash地址和埠
hosts: ["192.168.3.43:5044"]
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
- 運行程式並生成日誌(window7_x64|192.168.3.42:8090),日誌文件名:log-2020-01-08.log
2012-01-08 10:21:41.5296|0|INFO|logfile|windows service start...
2012-01-08 11:03:03.5926|0|INFO|logfile|windows service end...
2012-01-08 11:04:18.2756|0|INFO|logfile|windows service start...
2012-01-08 11:04:26.7556|0|INFO|logfile|測試0
- filebeat包文件根目錄執行程式:filebeat -e -c filebeat.yml
D:\devops\filebeat-7.5.1-windows-x86_64>filebeat -e -c filebeat.yml
...
2020-01-08T14:06:16.038+0800 INFO [monitoring]...
更多信息詳見 filebeat官方文檔
服務端安裝和運行
- 安裝 elasticsearch elasticsearch7.5.1
- 安裝JDK並配置環境變數,本文elasticsearch版本7.5.1需JDK11+。JDK11
JAVA_HOME: C:\Program Files\jdk-11.0.5
CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
PATH追加: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
- CMD-> java -version 檢測JDK
java version "11.0.5" 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
- 配置elasticsearch環境變數
ES_HOME:C:\Program Files\elasticsearch-7.5.1
PATH追加:%ES_HOME%\bin;
- 編輯/config/elasticsearch.yml,簡易版配置如下:
cluster.name: elasticsearch-application
node.name: node-1
network.host: 192.168.3.41
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
# 配置head cors
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
5.運行 elasticsearch7.5.1\bin\elasticsearch.bat, 訪問 192.168.3.41:9200, 顯示如下JSON字元串表示部署成功。
{
"name" : "node-1",
"cluster_name" : "elasticsearch-application",
"cluster_uuid" : "MUOnu8JbTTe7bT1ru3Vb7Q",
"version" : {
"number" : "7.5.1",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
"build_date" : "2019-12-16T22:57:37.835892Z",
"build_snapshot" : false,
"lucene_version" : "8.3.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
- 安裝 elasticsearch-head插件
- es5以上版本安裝head需要安裝node和grunt。下載nodejs並安裝。
- 添加nodejs環境變數
path追加:C:\Program Files\nodejs\;
- 安裝完成用cmd執行 node -v可查看版本號->v10.15.0
- 執行 npm install -g grunt-cli 安裝grunt ,安裝完成後執行grunt -version查看是否安裝成功,會顯示安裝的版本號
- 在https://github.com/mobz/elasticsearch-head中下載head插件,選擇下載zip
- 解壓到指定文件夾下,G:\elasticsearch-7.5.1\elasticsearch-head-master 進入該文件夾,編輯Gruntfile.js 在對應的位置加上hostname:'*'
connect: {
server: {
options: {
hostname:"*",
port: 9100,
base: '.',
keepalive: true
}
}
}
- 在D:\elasticsearch-7.5.1\elasticsearch-head-master 下執行npm install 安裝完成後(Receiving 100%)。
- 執行grunt server 或者npm run start 運行head插件,如果不成功重新安裝grunt。
- 重新運行 elasticsearch7.5.1\bin\elasticsearch.bat,訪問192.168.3.41:9100 出現elasticsearch head 頁面則表示安裝成功,如下圖:
- 安裝kibana kibana7.5.1
- 編輯/kibana-7.5.1-windows-x86_64/config/kibana.yml,簡易版配置如下:
server.port: 9101
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.3.41:9200"]
- 運行kibana-7.5.1-windows-x86_64\bin\kibana.bat,訪問192.168.3.40:9101,成功出現kibana頁面則表示部署成功。
- 安裝logstash logstash7.5.1
- 在Windows中logstash執行路徑不能有空格
- 編輯D:/logstash-7.5.1/config/logstash-sample.conf文件,簡易版如下:
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["http://192.168.3.41:9200"]
index => "log-%{+YYYY.MM.dd}"
}
}
複製logstash-sample.conf至bin根目錄下,執行命令:logstash -f logstash-sample.conf --config.reload.automatic
運行
- 依次運行elasticsearch、kibana、logstash、filebeat、日誌log
在kibana->Disconver中創建日誌索引
其他搭建方式
- datasource->logstash->elasticsearch->kibana
- datasource->filebeat->kafka->logstash->elasticsearch->kibana
- datasource->filebeat->logstash->redis/kafka->logstash-> elasticsearch->kibana