elk 由 elasticsearch 、 logstash 和 kiabana 三個開源工具組成。官方**:
elasticsearch 是個開源分布式搜尋引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制, restful 風格介面,多資料來源,自動搜尋負載等。
logstash 是乙個完全開源的工具,他可以對你的日誌進行收集、分析,並將其儲存供以後使用。
kibana 也是乙個開源和免費的工具,他 kibana 可以為 logstash 和 elasticsearch 提供的日誌分析友好的 web 介面,可以幫助您彙總、分析和搜尋重要資料日誌。
elk工作流程:
資料--[輸入資料]-->logstash--[過濾輸出資料]-->elasticsearch--[展示分析資料]-->kibana
這裡主要說下logstash的配置(其他安裝配置都比較簡單,且文件豐富)
常規日誌格式
1、 首先是配置nginx訪問日誌的格式,根據日誌分析需求配置
2、 logstash,它主要是連線資料和es的管道,一切資料來源,過濾,輸出位址均在logstash配置檔案中進行配置,寫配置檔案的時候需要根據elk的版本號對應配置,比如我在配置過程中filter中沒有type設定項,執行時就會有報錯,可以根據報錯資訊進行對應修改
json日誌格式
1、nginx配置使用json格式,logstash的配置會非常簡單
2、logstash配置
input
}filter
output "}}
自定義格式
1、例如程式記錄的日誌格式是這樣的:[notice] [2017-04-05 12:00:00] [404] [/index.php] [500] [id=123&btime=2017&etime=2018] [路徑不存在]
;就可以在logstash自定義正則匹配,重新命名字段
2、logstash配置
input
}filter #匹配規則,match可以是多個,自動匹配合適的規則表示式
}}output " #生成es檔名稱}}
ELK日誌分析系統 3 logstash資料處理
1.概述 logspout收集資料以後,就會把資料傳送給logstash進行處理,本文主要講解logstash的input,filter,output處理 2.input 資料的輸入處理 支援tcp,udp等協議 2.1.語法 基本語法如下 input 2.2.multiline 有時候日誌是這樣多...
ELK日誌分析系統 3 logstash資料處理
1.概述 logspout收集資料以後,就會把資料傳送給logstash進行處理,本文主要講解logstash的input,filter,output處理 2.input 資料的輸入處理 支援tcp,udp等協議 2.1.語法 基本語法如下 input 2.2.multiline有時候日誌是這樣多行...
ELK日誌分析方案
針對公司專案微服務化,隨著專案及伺服器的不斷增多,決定採用elk elasticsearch logstash kibana 日誌分析平台進行微服務日誌分析。1.在微服務伺服器上部署logstash,作為shipper的角色,對微服務日誌檔案資料進行資料採集,將採集到的資料輸出到redis訊息佇列。...