搭建環境
- Linux centos7 虛擬機
- jdk8
- elk 版本都是 7.2 (注意版本必須都對應,否則可能存在安裝不成功)
- 軟件安裝目錄爲 /usr/local/mysoft/
- 軟件包集合
Easticsearch+Kibana 搭建
參考 搭建流程
Logstash 搭建
# 1、下載安裝包(建議使用迅雷下載)
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz
tar -zxf logstash-7.2.0.tar.gz
cp -r logstash-7.2.0 /usr/local/mysoft/
# 2. 修改配置文件 jvm 參數
# -Xms256m
# -Xmx256m
vi /usr/local/mysoft/logstash-7.2.0/config/jvm.options
# 3. 啓動 logstash (抓取標準輸入,然後輸出到標準輸出)
/usr/local/mysoft/logstash-7.2.0/bin/logstash -e 'input {stdin {}} output {stdout {}}'
# 驗證。啓動完成後輸入任何內容回車都會返回你輸出的內容
logstash 處理日誌流程
input->decode->filter->encode->output
使用配置文件啓動logstash
- 準備配置文件
# test1.conf 配置文件
input {
# 從文件讀取日誌信息 輸送到控制檯
file {
path => "/usr/local/mysoft/logstash-7.2.0/test/test.log"
# codec => "json" ## 以JSON格式讀取日誌
type => "elasticsearch"
start_position => "beginning"
}
}
# filter {
#過濾日誌
# }
output {
# 標準輸出
# stdout {}
# 輸出進行格式化,採用Ruby庫來解析日誌
stdout { codec => rubydebug }
}
- 啓動
- 往input 監控的日誌文件中追加數據
cat "第一行日誌" >> /usr/local/mysoft/logstash-7.2.0/test/test.log
使用配置文件啓動logstash 日誌輸送至 Easticsearch
- 配置文件
input {
file {
path => "/usr/local/mysoft/logstash-7.2.0/test/test.log"
type => "elasticsearch"
start_position => "beginning" #從文件開始處讀寫
}
}
output{
elasticsearch{
hosts=>["192.168.101.10:9200"]
# 指定索引創建的索引
index => "es-message-%{+YYYY.MM.dd}"
}
# 同時輸出在標準輸出
stdout{codec => rubydebug}
}
- 往指定的日誌文件追加內容
echo "你好 朋友!!" >> test.log
- 訪問es 的當天索引可查看是否錄入進去
http://192.168.101.10:9200/es-message-2020.03.07/_search
實戰場景模擬
後臺日誌文件 被Logstash 抓取輸送到 easticsearch 中,最後使用 kibana 可視化界面實現日誌搜索。
- 啓動 Easticsearch
- 啓動 Logstash
# 啓動的配置文件
input {
file {
path => "/usr/local/mysoft/logstash-7.2.0/test/new.log"
type => "elasticsearch"
start_position => "beginning" #從文件開始處讀寫
}
}
output{
elasticsearch{
hosts=>["192.168.101.10:9200"]
# 指定索引創建的索引
index => "es-message-%{+YYYY.MM.dd}"
}
# 同時輸出在標準輸出
stdout{codec => rubydebug}
}
# 啓動
./logstash -f ../test/test_myes.conf
- 往監控的input 文件輸送內容
echo 'fisrt time' >> new.log
echo 'fisrt run' >> new.log
echo 'new run' >> new.log
- 啓 動 Kibana
1) 打開 kibana 面板 ip:port 本例(http://192.168.101.10:5601/)
2)創建搜索的索引
3)重新點擊到 右上角的 Discover,可以進行搜索
總結
本文主要講解 elk 的搭建過程,着重介紹了logstash 如何抓取日誌,如何配置抓取日誌的文件,如何配置輸送日誌到 easticsearch 。最後講解了如何在 kibana 面板 進行日誌查詢。