400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

调用链监控CAT之入门

简介

CAT 是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,基本接入了美团上海所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团各业务线提供系统的性能指标、健康状况、监控告警等。

海南州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

优势

开源产品比较

调用链监控 CAT 之 入门

快速上手

本地部署

步骤1:部署tomcat

准备一个tomcat,修改 tomcat conf 目录下 server.xml,防中文乱码。

Connector port="8080" protocol="HTTP/1.1"
           URIEncoding="utf-8"    connectionTimeout="20000"
               redirectPort="8443" />  
步骤2:程序对于/data/目录具体读写权限(重要)
mkdir /data
chmod -R 777 /data/
步骤3: 配置/data/appdatas/cat/client.xml ($CAT_HOME/client.xml)


    
        
    

此配置文件的作用是所有的客户端都需要一个地址指向CAT的服务端。

步骤4: 安装CAT的数据库

下载cat源码包:https://codeload.github.com/dianping/cat/
解压后,数据库的脚本文件为 script/CatApplication.sql

MySQL -uroot -Dcat < CatApplication.sql
步骤5: 配置/data/appdatas/cat/datasources.xml($CAT_HOME/datasources.xml)



    
        3
        1s
        10m
        1000
        
            com.mysql.jdbc.Driver
              
            root  
            root  
            
        
    
步骤6: war打包

官方下载:http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/3.0.0/cat-home-3.0.0.war

重命名为cat.war进行部署,注意此war是用jdk8,服务端请使用jdk8版本

步骤7: war部署


   
   
   
   
      
   
   
      
         
      
   

提交后,重启tomcat,访问http://127.0.0.1:8080/cat,出现如下界面,说明搭建成功。

调用链监控 CAT 之 入门

测试

安装jar包

进入cat源码包的 lib/java/jar ,将cat-client-3.0.0.jar 包 安装到本地maven仓库。

mvn install:install-file -DgroupId=com.dianping.cat -DartifactId=cat-client Dversion=3.0.0 -Dpackaging=jar -Dfile=cat-client-3.0.0.jar
创建工程

创建一个springboot 工程,关键代码如下。

pom.xml

    org.springframework.boot
    spring-boot-starter-web


    com.dianping.cat
    cat-client
    3.0.0
app.properties

需要在你的项目中创建 src/main/resources/META-INF/app.properties 文件, 并添加如下内容:

app.name={appkey}

appkey 只能包含英文字母 (a-z, A-Z)、数字 (0-9)、下划线 (_) 和中划线 (-)

application.yml
server:
  port: 8760

spring:
  application:
    name: cat-simple
启动类
@SpringBootApplication
@RestController
public class CatSimpleApplication {

    public static void main(String[] args) {
        SpringApplication.run( CatSimpleApplication.class, args );
    }

    @PostMapping("/hi")
    public String hi(HttpServletRequest request){
        String url = request.getRequestURL().toString();

        // 创建一个 Transaction
        Transaction transaction = Cat.newTransaction( "URL", url );
        try {
            // 处理业务
            myBusiness();
            // 设置状态
            transaction.setStatus(Transaction.SUCCESS);
        } catch (Exception e) {
            // 设置错误状态
            transaction.setStatus(e);
            // 记录错误信息
            Cat.logError(e);
        } finally {
            // 结束 Transaction
            transaction.complete();
        }

        return "hello";
    }

    @PostMapping("/error")
    public String error(HttpServletRequest request){
        String url = request.getRequestURL().toString();

        // 创建一个 Transaction
        Transaction transaction = Cat.newTransaction( "URL", url );
        try {
            // 处理业务
            int i = 1 / 0;
            // 设置状态
            transaction.setStatus(Transaction.SUCCESS);
        } catch (Exception e) {
            // 设置错误状态
            transaction.setStatus(e);
            // 记录错误信息
            Cat.logError(e);
        } finally {
            // 结束 Transaction
            transaction.complete();
        }

        return "500";
    }

    private void myBusiness() {
        //模拟业务处理的时间
        try {
            Thread.sleep( 500 );
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

请求 http://localhost:8760/hi

curl -X POST  http://localhost:8760/hi

请求 http://localhost:8760/error

curl -X POST  http://localhost:8760/error
查看监控信息

进入 cat 控制台,点击 Transaction 按钮 ,之后点击全部,会看到有哪些客户端,如图:

调用链监控 CAT 之 入门

点击客户端 cat-simple ,出现如图:

调用链监控 CAT 之 入门

如上图,可以清晰的看到 请求的 总个数(tatal)、均值(avg)、最大/最小(max/min)、标准差(std)等,其他都比较直观,标准差稍微复杂一点,大家自己可以推演一下怎么做增量计算。那集合运算,比如95线(表示95%请求的完成时间)、999线(表示99.9%请求的完成时间)

点击 “log View” 可以查看 错误信息,如图:

调用链监控 CAT 之 入门

源码

https://github.com/gf-huanchupk/SpringCloudLearning/tree/master/chapter14

参考

https://github.com/dianping/cat/wiki

欢迎关注我的公众号《程序员果果》,关注有惊喜~~
调用链监控 CAT 之 入门


标题名称:调用链监控CAT之入门
网页路径:http://mbwzsj.com/article/jsjgjd.html

其他资讯

让你的专属顾问为你服务