ELK之ES-Logstash-Kibana互聯
好久沒有寫,這久都是在做ELK的數據化模板,覺得還是有些東西需要寫下來的,前麵我已經寫過了EKL的安裝,今天就來說一下ELK三個軟件之間的連接把。
# 關係介紹:
ES是一個文檔數據庫,Logstash是一個數據收集工具,Kibana是一個數據處理工具,這麼去理解這三個組件是無可厚非的。我們通過Logstash把數據收集起來,無論是通過讀取日誌,還是讀取數據庫,亦或是去監聽某一個日誌輸出端口,總之Logstash就是一個數據收集工具,收集到數據之後再把數據發送給ES進行固化。好了,現在我們在ES中已經有了數據了,那麼,通過什麼來分析呢?沒錯,就是通過Kibana,它需要去ES數據庫拿去數據,然後對數據進行分析。
現在我們應該可以理ELK三個組件的邏輯關係了。
現在把三者的關係理解清楚以後,就可以進行配置了。
# EKL相互配置
根據關係圖我們可以知道,第一步需要做的是連接數據源和Logstash。
第一步:連接數據源和Logstsh
假設我們使用時是日誌文件數據源,我們就需要使用Logstash的file{}插件
事例代碼如下:
file{
path=>['/data/access.log']
type => "system"
start_position => "beginning"
sincedb_path => '/dev/null'
}
path屬性是指定元數據位置
type屬性是指點該批元數據在ES中的類型
start_position 屬性表示從頭開始讀取數據
sincedb_path 屬性標識為/dev/null'時標識無論如何從頭開始讀取文件
更多file插件的字段屬性,可以參考ELK文檔。
第二步:讓Ligstash把數據發送給ES
elasticsearch{
hosts => ["10.66.140.37:9200"]
action=>"index"
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
manage_template => false
idle_flush_time => 10
sniffing => true
document_id=>"%{[DocID]}"
}
hosts屬性是表示ES在哪
index 屬性表示事件要被寫進的索引
idle_flush_time 屬性表示每10秒發送一次數據到ES
active屬性表示ES要執行的動作
第三步:連接ES和Kibana
前麵我們已經把需要的數據發送到ES進行了存儲了,現在要做的就是通過Kibana來分析我們的數據。
編輯Kibana的.ylm
設置ES的地址。
至此,ELK三大組件的連接已經完成。
你可以開心的去編輯你的數據格式和圖標了...
最後更新:2017-07-28 23:33:21