ELK簡單使用


原作者:http://www.cnblogs.com/snidget/p/6269383.html
ELK
ELK是什么?
Elasticsearch
LogStash
Kibana
 
 
1,簡單的安裝
我采用的是本地window環境;
下載的包如下:
 
首先安裝的是jdk8,安裝完成之后,設置路徑,
 
增加一個系統變量 JAVA_HOME 值為安裝的jdk目錄;
編輯系統變量 PATH 在值的末尾添加 ;%JAVA_HOME%/bin
 
打開命令行窗口,輸入 java -version; 看看是否安裝成功;
 
輸入輸出的版本號是1.8開頭的,則jdk8環境安裝完成;
 
elk的最新版本都是依賴的jdk1.8
 
 
然后安裝的是elasticResearch;
直接解壓到某個目錄
 
 
elasticSearch 是一個分布式的,支持REST風格的搜索和分析工具。
 
 
這次什么配置都不用更改,使用它的默認配置,
打開命令行窗口,把bin目錄下的 elasticsearch.bat 拖拽到命令行窗口,即可啟動;
 
從命令行輸出可以看到,已經成功的啟動了,開啟了兩個端口 9200,9300
9200是 httpserver,可以通過瀏覽器直接訪問到。
9300是 TransportService, clusterService ,是交換服務和集群服務,集群節點編號0;
 
可以看到這個 elasticSearch的集群信息;
 
先不去詳細研究,把基礎環境搭建起來再看。
接下來,安裝kibana;
 
這是一個把數據邊的可視化,並且提供一個導航查詢的工具。看里面的文檔結構,基於nodejs寫得;
配置kibana;英文注釋寫的很清楚;
打開命令行窗口,把bin下面的 kibana.bat 的拽到命令行窗口下,即可運行kibana;並且鏈接上了elastic;
打開 127.0.0.1:5601之后會要先配置索引,選擇默認的即可;
然后即可查詢;
 
最后安裝的是logstash
這是一個日志收集工具, 分成四步,收集,過濾,轉換,輸出;
 
首先需要配置好 logstash
input { stdin { } }
 
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
 
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
 
 
主要配置了一個message的格式,和時間戳的格式;
 
使用腳本啟動 D:\logstash-5.1.1\bin\logstash.bat -f D:\logstash-5.1.1\config\l
ogstash.conf
 
即可把在命令行中輸入的數據,傳輸到 elasticSearch ;
 
然后在kibana中展示出來;
 
 
最后一個簡單的應用,把tomcat的異常日志和錯誤日志使用logstash,傳輸到 elasticSearch
 
配置文件:
input { 
file { 
path => "D:/tomcat/apache-tomcat-7.0.62/logs/localhost_access_log*.txt" 
type => "apache_access_log"
add_field => {"tomcatip" => "172.27.42.22"}

}

filter{
if [type] == "apache_access_log" {
grok{
match => { "message" => "%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{URIPATHPARAM:request}(?: HTTP/%{NUMBER:httpversion})?|-)\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{NUMBER:responsetime} \"(?:%{URI:referrer}|-)\" %{QS:agent}" }
}
date{
match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
target => ["writetime"]
}
mutate {
convert => { 
"response" => "integer" 
"bytes" => "integer" 
"responsetime" => "integer" 
}
}
}
}

output {
if [type] == "apache_access_log" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "logstash-apacheaccesslog-%{+YYYY.MM.dd}"
}
}
}
然后在kibana中可以看到tomcat的訪問日志數據,並可以對它的訪問情況定制儀表盤,得到BI報表;
 
直接使用filebeat抓取tomcat的日志
修改配置文件:
 
 
使用命令啟動:
然后可以在kibana中查找到收集過來的數據;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM