1. 程式人生 > >dubbox服務監控與日誌採集

dubbox服務監控與日誌採集

繼上一篇dubbox2.8.4的配置和使用後,我們要進一步考慮dubbox服務的部署和監控。
這裡寫圖片描述

dubbox日誌的採集方案

dubbox服務部署

logstash日誌採集

其中,logstash就是用來收集執行的服務的日誌,採用的是2.3.1版本,通過配置對應的解析檔案來監控,我的解析檔案如下

input {
      file {
            path => "F:\log.txt" ## 填寫檔案的絕對路徑
            start_position => "beginning"  ## 從頭開始進行收集
            codec => multiline {
## 通過配置識別日誌開頭,來保證多行可以被合併 pattern => "^[\d{2}:\d{2}:\d{2}.\d+]" ## 正則匹配以什麼作為日誌開頭標誌 negate => true what => "previous" } } } filter { grok {## 常用的filter之一,用於對文字日誌記錄進行json格式化 match => { "message" => [
## 多個正則格式資料 "(?<time>\d{2}:\d{2}:\d{2}.\d+)\s(?<thread>\[[^]]*\]{1})\s(?<level>\w+)\s\s(?<class>[\w|.]*)\s-{1}\s+(?<dubbo>\[[\w|\d|\-]*\]{1})\s(?<date>\[\d+-\d+-\d+\s\d+:\d+:\d+\])\s(?<customer>\d+.\d+.\d+.\d+):\d+\s-\>\s(?<producer>\d
+.\d+.\d+.\d+:\d+)\s-\s(?<content>[\s|\S]*)", "(?<time>\d{2}:\d{2}:\d{2}.\d+)\s(?<thread>\[[^]]*\]{1})\s(?<level>\w+)\s(?<content>[\s|\S]*)" ] } remove_field => ["message"] } date { ## 日期配置 match => [ "timestamp" , "HH:mm:ss Z" ] } } output { if[level]=="ERROR"{ ## 輸出配置,如果當前日誌標誌為ERROR,則進行下方輸出 stdout { ## 輸出到控制端 codec => rubydebug } file { ## 輸出到檔案 path => "/diskb/bi_error_log/bi_error.log" } } if[level]=="ERROR" or [level]=="INFO" and "monitor" not in [content]{ elasticsearch { ## 輸出到es hosts => ["localhost:9200"] ## es地址和埠 flush_size => 5000 index => "ebs-%{+YYYY.MM.dd}" ## kibana的檢索index idle_flush_time => 10 } } }

Kibana日誌檢視

通過Kibana上來檢視和統計服務的日誌狀態
日誌詳細內容
這裡寫圖片描述
對日誌進行統計實時檢視
這裡寫圖片描述
這裡寫圖片描述

dubbox服務監控方案

利用HeartBeat心跳檢測rest介面

這裡寫圖片描述

利用dubbo-monitor來檢視服務健康度

服務排程統計
這裡寫圖片描述
服務響應統計
這裡寫圖片描述