当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

调用链监控 CAT 之 入门

简介

CAT是侧重于Java应用程序监控的实时和几乎所有监控系统,基本上可以访问美团上海的所有核心应用程序。 目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团各业务线提供系统的性能指标、健康状况、监控告警等。

优势

  • 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中。
  • 全量数据:全量采集指标数据,便于深度分析故障案例。
  • 高可用:故障的还原与问题定位,需要高可用监控来支撑。
  • 故障容忍:故障不影响业务正常运转、对业务透明。
  • 高吞吐:海量监控数据的收集,需要高吞吐能力做保证。
  • 可扩展:支持分布式、跨 IDC 部署,横向扩展的监控系统。

开源产品比较

快速上手

本地部署

步骤1:部署tomcat

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

Connector port="8080" protocol="HTTP; URIencoding="utf-8" connectionTimeout="20000" redirectPort="8443" /> <!-- 增加 URIEncoding="utf-8" -->

步骤2:程序对于/data/目录具体读写权限(重要)

  • Linux要求/data/目录能进行读写操作,如果/data/目录不能写,建议使用linux的软链接链接到一个固定可写的目录。此目录会存一些CAT必要的配置文件以及运行时候的数据存储目录。CAT支持CAT_HOME环境变量,可以通过JVM参数修改默认的路径。
mkdir /data chmod -R 777 /data/
  • Windows对程序运行盘下的/data/appdatas/cat和/data/applogs/cat有读写权限。例如cat服务运行在e盘的tomcat中,则需要对e:/data/appdatas/cat和e:/data/applogs/cat有读写权限。

步骤3: 配置/data/appdatas/ca ($CAT_HOME)

<?xml version="1.0" encoding="utf-8"?> <config mode="client"> <servers> <server ip="127.0.0.1" port="2280" http-port="8080"/> </servers> </config>

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

步骤4: 安装CAT的数据库

下载cat源码包: 解压后,数据库的脚本文件为 scri

mysql -uroot -Dcat < Ca

步骤5: 配置/data/appdatas/ca($CAT_HOME)

<?xml version="1.0" encoding="utf-8"?> <data-sources> <data-source id="cat"> <maximum-pool-size>3</maximum-pool-size> <connection-timeout>1s</connection-timeout> <idle-timeout>10m</idle-timeout> <statement-cache-size>1000</statement-cache-size> <properties> <driver>com.my;/driver> <url><![CDATA[jdbc:mysql://127.0.0.1:3306/cat]]></url> <!-- 请替换为真实数据库URL及Port --> <user>root</user> <!-- 请替换为真实数据库用户名 --> <password>root</password> <!-- 请替换为真实数据库密码 --> <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties> </properties> </data-source> </data-sources>

步骤6: war打包

官方下载:

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

步骤7: war部署

  • 将上一步打包的war包部署到本机tomcat的webapps下。
  • 启动tomcat,打开控制台的URL, 默认用户名:admin 默认密码:admin 。
  • 配置客户端路由。
<?xml version="1.0" encoding="utf-8"?> <router-config backup-server="你的本机ip(不要用127.0.0.1)" backup-server-port="2280"> <default-server id="你的本机ip(不要用127.0.0.1)" weight="1.0" port="2280" enable="true"/> <network-policy id="default" title="默认" block="false" server-group="default_group"> </network-policy> <server-group id="default_group" title="default-group"> <group-server id="你的本机ip(不要用127.0.0.1)"/> </server-group> <domain id="cat"> <group id="default"> <server id="你的本机ip(不要用127.0.0.1)" port="2280" weight="1.0"/> </group> </domain> </router-config>

提交后,重启tomcat,访问,出现如下界面,说明搭建成功。

测试

安装jar包

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

mvn install:install-file -DgroupId=com.dian -DartifactId=cat-client Dversion=3.0.0 -Dpackaging=jar -Dfile=ca

创建工程

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

<dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.dian</groupId> <artifactId>cat-client</artifactId> <version>3.0.0</version> </dependency>

a

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

a{appkey}

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

a

server: port: 8760 spring: application: name: cat-simple

启动类

@SpringBootApplication @RestController public class CatSimpleApplication { public static void main(String[] args) { S( Ca, args ); } @PostMapping("/hi") public String hi(HttpServletrequest request){ String url = reque().toString(); // 创建一个 Transaction Transaction transaction = Cat.newTransaction( "URL", url ); try { // 处理业务 myBusiness(); // 设置状态 ); } catch (Exception e) { // 设置错误状态 (e); // 记录错误信息 Cat.logError(e); } finally { // 结束 Transaction (); } return "hello"; } @PostMapping("/error") public String error(HttpServletRequest request){ String url = reque().toString(); // 创建一个 Transaction Transaction transaction = Cat.newTransaction( "URL", url ); try { // 处理业务 int i = 1 / 0; // 设置状态 ); } catch (Exception e) { // 设置错误状态 (e); // 记录错误信息 Cat.logError(e); } finally { // 结束 Transaction (); } return "500"; } private void myBusiness() { //模拟业务处理的时间 try { T( 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-simple ,出现如图:

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

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

源码

参考

1.《调用链监控 CAT 之 入门》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《调用链监控 CAT 之 入门》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2114929.html

上一篇

如何充值giwifi看这里!游戏王决斗链接国际服全入门攻略

下一篇

-3的平方怎么算?总结很全面速看!2002年才独立的亚洲国家,你猜是哪个?

.cat文件如何打开?我来告诉你答案CATIA打不开较大装配文件怎么办?

.cat文件如何打开?我来告诉你答案CATIA打不开较大装配文件怎么办?

.cat文件如何打开相关介绍,&#34;传递知识,帮助别人。&#34; 我相信,所有人都缺乏计算机的配置,有时会出现计算机无法打开大文件的问题。(大文件意味着整个装配文件大小大于1G。)该怎么办?今天我要分享一个简单的方法。事实上...

.cat文件如何打开看这里!Cat监控使用介绍

.cat文件如何打开看这里!Cat监控使用介绍

.cat文件如何打开相关介绍,原创不容易,请多多支持。对Java技术感兴趣的童鞋请关注我。后续会将陆续进行各种Java技术文章的发布。 概述 最近公司项目中,java后端应用引入了开源的cat监控系统。使用下来感觉不错,整理汇总了...

关于.cat文件如何打开,你需要知道这些Cat监控使用介绍

关于.cat文件如何打开,你需要知道这些Cat监控使用介绍

.cat文件如何打开相关介绍,原创不容易,请多多支持。对Java技术感兴趣的童鞋请关注我。后续会将陆续进行各种Java技术文章的发布。 概述 最近公司项目中,java后端应用引入了开源的cat监控系统。使用下来感觉不错,整理汇总了...

.cat文件如何打开?终于找到答案了Python学习第61课-shell用cat和less打开文件

.cat文件如何打开?终于找到答案了Python学习第61课-shell用cat和less打开文件

.cat文件如何打开相关介绍,【每天几分钟,零入门python编程的世界!【成语】 补充资料: 在第60课学习中,我们知道使用这个命令来保存网页。 Curl -L -o要保存的路径要下载的网页的url 要保存的路径的文件名为。可以...

.cat文件如何打开?总结很全面速看!Python学习第61课-shell用cat和less打开文件

.cat文件如何打开?总结很全面速看!Python学习第61课-shell用cat和less打开文件

.cat文件如何打开相关介绍,【每天几分钟,零入门python编程的世界!【成语】 补充资料: 在第60课学习中,我们知道使用这个命令来保存网页。 Curl -L -o要保存的路径要下载的网页的url 要保存的路径的文件名为。可以...

.cat文件如何打开看这里!Linux查看文本命令大全,cat/tac/nl/more/less/head/tail/vi

.cat文件如何打开看这里!Linux查看文本命令大全,cat/tac/nl/more/less/head/tail/vi

.cat文件如何打开相关介绍,概述 在Linux系统中,有许多命令(如cat/tac/nl/more/less/head/tail)和许多命令(如vi/nano)可以查看文本文件的内容。 在这里,我只介绍其中自己常用的一部分命令和...

.cat文件如何打开?我来告诉你答案Linux查看文本命令大全,cat/tac/nl/more/less/head/tail/vi

.cat文件如何打开?我来告诉你答案Linux查看文本命令大全,cat/tac/nl/more/less/head/tail/vi

.cat文件如何打开相关介绍,概述 在Linux系统中,有许多命令(如cat/tac/nl/more/less/head/tail)和许多命令(如vi/nano)可以查看文本文件的内容。 在这里,我只介绍其中自己常用的一部分命令和...

.cat文件如何打开?终于找到答案了Linux下使用cat命令浏览正文文件

.cat文件如何打开?终于找到答案了Linux下使用cat命令浏览正文文件

.cat文件如何打开相关介绍,努力学习,每天向上爬。——毛泽东 如果文件是正文文件,则可以使用cat命令查看。 cat(Concatenate的缩写)命令 cat命令将一个或多个文件的内容显示在屏幕上,该命令会不停地以只读的方式显...