添加依赖

在 pom.xml 中引入 网聚宝监控客户端 的依赖。

<!--网聚宝 监控客户端-->
<dependency>
    <groupId>wangjubao.monitoring</groupId>
    <artifactId>monitor-client</artifactId>
    <version>1.4-SNAPSHOT</version>
</dependency>

dubbo xml 配置

在 进行 dubbo 配置的 xml 文件下引入监控配置。

<import resource="classpath*:spring/spring_monitor_client.xml"/>

tips: 监控 Dubbo 配置文件中已经配置 <dubbo:provider timeout="…" retries="…" /> 的内容,所以为了防止冲突,请将原有配置删除。

log4j 配置

在 log4j.xml 中加入 监控的日志输出位置。

    <!-- 阿里云监控日志 -->
    <appender name="com.monitor.client" class="com.aliyun.openservices.log.log4j.LoghubAppender">
        <param name="projectName" value="${monitor.project.name}" />
        <param name="logstore" value="${monitor.log.store}" />
        <param name="endpoint" value="${monitor.endpoint}" />
        <param name="accessKeyId" value="[阿里云 accessKeyId(二师兄提供)]"/>
        <param name="accessKey" value="[阿里云 accessKey(二师兄提供)]"/>
        <param name="packageTimeoutInMS" value="3000"/>
        <param name="logsCountPerPackage" value="4096"/>
        <param name="logsBytesPerPackage" value="5242880"/>
        <param name="memPoolSizeInByte" value="1048576000"/>
        <param name="ioThreadsCount" value="1"/>
        <param name="timeFormat" value="yyyy-MM-dd HH:mm:ss"/>
        <param name="timeZone" value="GMT+8"/>
        <param name="topic" value="[项目名称]"/>
    </appender>

    <root>
        <level value="INFO" />
        ……
        <appender-ref ref="com.monitor.client" />
    </root>

在项目配置 filter 文件下,配置相对应的信息。

dev.properties

#the config with log of wjb monitor
monitor.project.name=二师兄提供
monitor.log.store=二师兄提供
monitor.endpoint=二师兄提供

product.properties

#the config with log of wjb monitor
monitor.project.name=二师兄提供
monitor.log.store=二师兄提供
monitor.endpoint=二师兄提供

test.properties

#the config with log of wjb monitor
monitor.project.name=二师兄提供
monitor.log.store=二师兄提供
monitor.endpoint=二师兄提供

异常捕获方法调用

在启动入口(main 函数)第一行中加入方法调用。

ExceptionHandler.startupExcetpionHandler();

(数据层) MyBatis plugin 配置

在 mybatis-config.xml 中加入监控插件。

 <configuration>

     <plugins>
         ...
         <plugin interceptor="com.monitor.client.database.SqlCostInterceptor" />
     </plugins>
 </configuration>

新建调用链配置

在 resources 文件夹下, 新建 trace.yml 文件。

### 以下为Provider Consumer Web 层 工程都需要配置的基础信息

# 此项目是否需要进行调用链记录
enable: true

# 调用链服务器地址(一般与监控地址相同,端口为 9411, 正式工程 配置地址为:121.40.32.163:9411
server: 'localhost:9411'

# 此 APP 工程名 - 请保持与 Dubbo 服务名相同,以方便监控
name: '工程名'

# 此APP 负责人 - 请填写这个服务的负责人
owner: '负责人'

(web 层)配置 Web filter

在 web.xml 中配置filter。

   <filter>
     <filter-name>traceFilter</filter-name>
     <filter-class>com.monitor.client.trace.filter.TraceFilter</filter-class>
   </filter>

   <filter-mapping>
        <filter-name>traceFilter</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>

配置 Git WebHooks

在 code.aliyun.com 配置仓库对应的 WebHooks。

  1. code.aliyun.com 对应的 Git 项目中,将 网聚宝公司账户 加入此项目(如使用公司账户创建项目的,忽略此条)
  2. code.aliyun.com 对应的 Git 项目中,打开侧边栏 Settings - WebHooks ,添加以下 URL(IP 地址请架构组二师兄提供),点击 ADD WEB HOOK
     http://<!--IP Address-->/monitor-server-1.0-SNAPSHOT/monitor/devops/postGitWebHook
    
    WebHooks 设置