重點重點重點:安裝 Elasticsearch、Logstash、Kibana 這三個版本必須一致
重點重點重點:安裝 Elasticsearch、Logstash、Kibana 這三個版本必須一致
重點重點重點:安裝 Elasticsearch、Logstash、Kibana 這三個版本必須一致
ELK是Elasticsearch、Logstash、Kibana的簡稱,這三者是核心套件,但並非全部。
Elasticsearch是實時全文搜索和分析引擎,提供蒐集、分析、存儲數據三大功能;是一套開放REST和JAVA API等結構提供高效搜索功能,可擴展的分佈式系統。它構建於Apache Lucene搜索引擎庫之上。
Logstash是一個用來蒐集、分析、過濾日誌的工具。它支持幾乎任何類型的日誌,包括系統日誌、錯誤日誌和自定義應用程序日誌。它可以從許多來源接收日誌,這些來源包括 syslog、消息傳遞(例如 RabbitMQ)和JMX,它能夠以多種方式輸出數據,包括電子郵件、websockets和Elasticsearch。
Kibana是一個基於Web的圖形界面,用於搜索、分析和可視化存儲在 Elasticsearch指標中的日誌數據。它利用Elasticsearch的REST接口來檢索數據,不僅允許用戶創建他們自己的數據的定製儀表板視圖,還允許他們以特殊的方式查詢和過濾數據
1. 準備並安裝Java環境
Java是ELK三軟件依賴的運行環境,讀者可以在Oracle官網獲取最新版的Java版本,由於只是運行不是開發,所以也可以只下載JRE。安裝完成後配置安裝完成後,配置JAVA_HOME和JRE_HOME環境變量。執行如下命令成功:
由於Logstash服務依賴ES服務,Kibana服務依賴Logstash和ES,所以這裏建議ELK的服務啓動順序爲:ES->Logstash->Kibana,爲了配合服務啓動順序,我們安裝順序和啓動順序保持一致。同時也給出了從多個服務器中去文件的操作,就是在需要通過日誌的服務器上裝Logstash來收集日誌,給ES,再在Kibana上展示
2. Elasticsearch安裝並使用
2.1、下載之後,解壓文件並且修改elasticsearch-7.3.2\config\elasticsearch.yml 文件(默認配置,基本上不用修改):
2.2 、 還在elasticsearch.yml 文件下增加跨域的配置(需要重啓es才能生效)
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
2.3、啓動ES
進入目錄elasticsearch-7.3.2\bin 文件夾下執行 elasticsearch.bat文件
打開瀏覽器訪問,展現如下信息表示成功。
注:若在此遇到打不開問題,百度。情況因個人而言
- ES提示java環境不匹配,這時候需要重寫配置個java環境
3、elasticsearch-head安裝下載
3.1必須看:windows下安裝ElasticSearch的Head插件:含nodejs安裝
3.2 編輯elasticsearch-head/Gruntfile.js,修改服務器監聽地址,connect節點增加hostname屬性,將其值設置爲*
connect: {
server: {
options: {
hostname:'*',
port: 9100,
base: '.',
keepalive: true
}
}
}
3.3 編輯elasticsearch-head/_site/app.js, 修改默認請求ES IP爲http://localhost:9200/ (根據之前ES配置的ip:port)。此處是爲了監聽elasticsearch服務
3.4 啓動head-master ,在cmd中 運行: npm run start
3.5 啓動好之後,在瀏覽器中運行並檢驗: http://localhost:9100/
點擊網頁中 “連接” ,右邊會顯示 **黃色的“集羣健康值”**表示OK,否則 百度解決
ES數據默認存儲位置:elasticsearch-5.4.3\data
4.Logstash安裝下載
4.1 進入 logstash-5.4.3\config 文件夾下,新建Logstash日誌分析配置文件logstash.conf,文件內容如下:
注意事項:經常出現的問題,文件中斜槓問題
input {
file {
path => "D:/nginx/logs/access.log"
start_position => "beginning"
type => "nginx_access"
}
file {
path => "D:/nginx/logs/access11.log"
start_position => "beginning"
type => "nginx_access"
}
file {
path => "D:/nginx/logs/*.log"
start_position => "beginning"
type => "nginx_access"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "access-%{+YYYY.MM.dd}"
}
stdout {
codec => json_lines
}
}
在文件夾中建立對應需要同步的文件(自定義):input 輸入,file文件,output 輸出到對應的es中文件類型和索引,此處可以百度查看具體的配置說明
看上面的file-》path 配置文件中“D:/nginx/logs/access11.log”,那麼在D盤下把對應的文件給建立起來。,“*.log”表示監聽所有以log結尾的文件類型
4.2、啓動Logstash
在logstash-7.4.2\bin 文件夾下新建 run.bat文件,文件內容如下,
logstash.bat -f ../config/logstash.conf
4.3. 然後運行run.bat
4.4.檢查Logstash與ES是否搭配成功:
4.5在文件中添加數據,數據會被log監聽,自動同步到ES中
4.6 運行在ES:localhost:9100 中查看對應數據,既表示OK,若此處沒有數據,說明ES和log沒有通,需要上網百度
5. Kibana安裝並使用
5.1、編輯Kibana配置文件:kibana-7.3.2-windows-x86_64\config\kibana.yml 修改如下配置
server.port: 5601 #本機的端口
server.host: localhost #本機IP地址
elasticsearch.hosts : http://localhost:9200 #ES的服務IP+端口
5.2、啓動Kibana:kibana-7.3.2-windows-x86\bin 文件夾下執行 kibana.bat 文件
5.3、瀏覽Kibana數據 : http://localhost:5601/