Business 报表对应着业务指标,比如订单指标。与 Transaction、Event、Problem 不同,Business 更偏向于宏观上的指标,另外三者偏向于微观代码的执行情况。
这个报表我也没怎么用过,用的多的还是前面几个。
Cat 在 Kitty Cloud 中的应用Kitty Cloud 的基础组件是 Kitty,Kitty 里面对需要的一些框架都进行了一层包装,比如扩展,增加 Cat 埋点之类的功能。
Cat 的集成Kitty 中对 Cat 封装了一层,在使用的时候直接依赖 kitty-spring-cloud-starter-cat 即可整合 Cat 到项目中。
<dependency> <groupId>com.cxytiandi</groupId> <artifactId>kitty-spring-cloud-starter-cat</artifactId> <version>Kitty Version</version> </dependency>然后在 application 配置文件中配置 Cat 的服务端地址信息,多个英文逗号分隔:
cat.servers=47.105.66.210在项目的 resources 目录下创建 META-INF 目录,然后在 META-INF 中创建 app.properties 文件配置 app.name。此名称是在 Cat 后台显示的应用名
app.name=kitty-cloud-comment-provider最后需要配置一下 Cat 的 LogAppender,这样应用在记录 error 级别的日志时,Cat 可以及时进行异常告警操作。
在 logback.xml 增加下面的配置:
<appender></appender> <root level="INFO"> <appender-ref ref="CatAppender" /> </root>更详细的内容请移步 Cat 的 Github 主页进行查看。
MVC 框架埋点基于 Spring Boot 做 Web 应用开发,我们最常用到的一个 Starter 包就是 spring-boot-starter-web。
如果你使用了 Kitty 来构建微服务的框架,那么就不再需要直接依赖 spring-boot-starter-web。而是需要依赖 Kitty 中的 kitty-spring-cloud-starter-web。
kitty-spring-cloud-starter-web 在 spring-boot-starter-web 的基础上进行了封装,会对请求的 Url 进行 Cat 埋点,会对一些通用信息进行接收透传,会对 RestTemplate 的调用进行 Cat 埋点。
在项目中依赖 kitty-spring-cloud-starter-web:
<dependency> <groupId>com.cxytiandi</groupId> <artifactId>kitty-spring-cloud-starter-web</artifactId> <version>Kitty Version</version> </dependency>启动项目,然后访问你的 REST API。可以在 Cat 的控制台看到 URL 的监控信息。
点击 URL 进去可以看到具体的 URL 信息。
再进一步可以看到整个 URL 的信息,比如数据库的查询,缓存的操作,Http 的调用等。后端同学在优化性能的时候就直接从 URL 下手可以将整个请求的链路耗时的情况都分析清楚。
Mybatis 埋点Kitty 中 Mybatis 是用的 Mybatis Plus, 主要是对数据库相关操作的 SQL 进行了 Cat 埋点,可以很方便的查看 SQL 的耗时情况。
依赖 kitty-spring-cloud-starter-mybatis:
<dependency> <groupId>com.cxytiandi</groupId> <artifactId>kitty-spring-cloud-starter-mybatis</artifactId> <version>Kitty Version</version> </dependency>其他的使用方式还是跟 Mybatis Plus 一样,具体参考 Mybatis Plus 文档:https://mp.baomidou.com
只要涉及到数据库的操作,都会在 Cat 中进行数据的展示。
点击 SQL 进去还可以看到是哪个 Mapper 的操作。
再进一步就可以看到具体的 SQL 语句和消耗的时间。
有了这些数据,后端研发同学就可以对相关的 SQL 进行优化了。
Redis 埋点