继上一篇dubbox2.8.4的配置和使用后,我们要进一步考虑dubbox服务的部署和监控。
这里写图片描述

dubbox日志的采集方案

dubbox服务部署

采用的是ELK的日志采集方案(http://blog.csdn.net/u011282930/article/details/52771237),我们选择将dubbox的服务单独拆分为独立的部署jar包,在系统上部署。结构如下:
这里写图片描述

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
            }
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

Kibana日志查看

通过Kibana上来查看和统计服务的日志状态
日志详细内容
这里写图片描述
对日志进行统计实时查看
这里写图片描述
这里写图片描述

dubbox服务监控方案

利用HeartBeat心跳检测rest接口

这里写图片描述

利用dubbo-monitor来查看服务健康度

服务调度统计
这里写图片描述
服务响应统计
这里写图片描述

Leave a Reply

Your email address will not be published. Required fields are marked *