熬夜之作:一文带你了解Cat分布式监控 (2)

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 埋点

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydfsg.html