在Windows服務器上安裝ELK
logstash在windows平台下不能監控磁盤文件,用nxlog代替,監控文件並把內容發送到logstash
部署環境
Os :Windows 7
logstash版本:logstash-2.2.1
elasticsearch版本:elasticsearch-2.2.0
kibana版本:kibana-4.4.2-windows
nxlog版本:2.8.1248
Java版本:jdk-8
下載軟件
Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Logstash: https://www.elastic.co/downloads/logstash
Elasticsearch: https://www.elastic.co/downloads/elasticsearch
Kibana: https://www.elastic.co/downloads/kibana
Nxlog: http://nxlog.org/products/nxlog-community-edition/download
Nssm: https://nssm.cc/download
幫助文檔
Logstash https://www.elastic.co/guide/en/logstash/current/codec-plugins.html
Elasticsearch https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
Kibana https://www.elastic.co/guide/en/kibana/current/index.html
Nxlog http://nxlog.org/docs
解壓文件
我創建了文件夾"E:\soft\elk",將所有壓縮包解壓到此目錄,方便以后管理。
目錄結構如下所示:
E:\soft\elk\elasticsearch-2.2.0
E:\soft\elk\logstash-2.2.1
E:\soft\elk\kibana-4.4.2-windows
安裝java
下載 Java SE Downloads,我下載的是jdk-8u65-windows-x64.exe
安裝完成后添加JAVA_HOME 環境變量
Path添加 %JAVA_HOME%\bin
安裝nxlog
雙擊安裝,安裝過程省略
啟動elasticsearch
輸入service manager
修改"Startup type " ,Automatic
運行服務
在瀏覽器中輸入http://localhost:9200,出現如下界面,表明elasticsearch安裝成功。
安裝插件
/bin/plugin install mobz/elasticsearch-head
安裝成功后打開http://localhost:9200/_plugin/head/
通過這個頁面可以查詢和測試elasticsearch的api
新建Logstash配置文件
在E:\soft\elk\logstash-2.2.1\bin\config 文件夾里新建Logstash.conf
內容如下
input {
tcp {
port=>5549
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test-logstash-%{+YYYY-MM}"
}
}
啟動kibana
E:\soft\elk\kibana-4.4.2-windows>bin\kibana
啟動logstash
E:\soft\elk\logstash-2.2.1\bin>logstash.bat agent -f config\logstash.conf
Telnet 測試數據
telnet 127.0.0.1 5549
輸入
test lostash
打開http://localhost:5601 輸入如下內容,點擊 create
回到discover 頁面顯示如下內容
ELK安裝完成
把kibana、logstash安裝成服務
Logstash 啟動可以把logstash.bat agent -f config\logstash.conf 保存到一個 bat文件中,nssm啟動這個bat文件
解壓縮nssm,通過nssm.exe安裝成服務,使用方式 nssm -? 獲取幫助信息
監控本地文件到elk,注意要監控的文件格式是ansi的,不能用utf8 的編碼,會出現亂碼
打開 C:\Program Files (x86)\nxlog\conf\nxlog.conf
Nxlog 配置文件如下
<Input in>
Module im_file
File "E:\\log\\webapi\\\error_*.log"
SavePos TRUE
</Input>
<Output out>
Module om_tcp
Host 127.0.0.1
Port 5549
</Output>
<Route 1>
Path in => out
</Route>
啟動noxlog 服務,在文件中輸入內容,在kibana中查看內容是否發送成功
檢查錯誤
1.nxlog 檢查
C:\Program Files (x86)\nxlog\data\nxlog.log 會有nxlog啟動情況,如果配置文件有錯,會在這里顯示
2.logstash
如果數據發送失敗,用控制台啟動logstash,數據轉換或正則的錯誤會在控制台里顯示