1.github
gitee
2.查看docker-compose文件
3.上传client.xml和datasources.xml到安装目录下,改造后使用自己的mysql
version: '3.9'
networks:
cat:
driver: bridge
services:
cat:
image: meituaninc/cat:3.0.1
container_name: cat
######## build from Dockerfile ###########
# build:
# context: ../
# dockerfile: ./docker/Dockerfile
######## End -> build from Dockerfile ###########
environment:
# if you have your own mysql, config it here, and disable the 'mysql' config blow
- MYSQL_URL=数据库地址 # links will maintain /etc/hosts, just use 'container_name'
- MYSQL_PORT=3306
- MYSQL_USERNAME=
- MYSQL_PASSWD=
- MYSQL_SCHEMA=cat
# 必须设置成你的机器IP地址
- SERVER_IP=你的ip
volumes:
# 挂载日志目录
- ./data/applogs/cat/:/data/applogs/cat/
# 默认127.0.0.1,可以修改为自己真实的服务器集群地址
- "./client.xml:/data/appdatas/cat/client.xml"
# 默认使用环境变量设置。可以启用本注解,并修改为自己的配置
- "./datasources.xml:/data/appdatas/cat/datasources.xml"
command: /bin/sh -c './datasources.sh && catalina.sh run'
ports:
- "8080:8080"
- "2280:2280"
4.docker-compose up -d启动成功后登录修改配置文件地址:
使用admin/admin登录
进入【服务端配置】页面修改IP地址
链接地址:http://127.0.0.1:8080/cat/s/config?op=serverConfigUpdate
进入【客户端路由】页面修改IP地址
链接地址:http://127.0.0.1:8080/cat/s/config?op=routerConfigUpdate
修改以下配置:
5.1springboot客户端集成与上报监控
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-client</artifactId>
<version>3.0.1</version>
</dependency>
5.2.在你的项目中创建 src/main/resources/META-INF/app.properties
文件, 并添加如下内容:例如:项目名test-hello
app.name=test-hello
```xml
app.name={appkey}
>
5.3在D:\data\appdatas\cat目录下添加client.xml
```xml
<?xml version="1.0" encoding="utf-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd" mode="client">
<servers>
<server ip="127.0.0.1" port="2280" http-port="8080" />
</servers>
</config>
5.4添加测试代码:
package com.lyr.demo;
import com.dianping.cat.Cat;
import com.dianping.cat.message.Event;
import com.dianping.cat.message.Transaction;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 卡卡
*/
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping
public String test1(){
Transaction t = Cat.newTransaction("URL", "pageName");
try {
Cat.logEvent("URL.Server", "serverIp", Event.SUCCESS, "ip=${serverIp}");
Cat.logMetricForCount("metric.key");
Cat.logMetricForDuration("metric.key", 5);
log.info("我成功处理了");
t.setStatus(Transaction.SUCCESS);
} catch (Exception e) {
t.setStatus(e);
Cat.logError(e);
} finally {
t.complete();
}
return "测试成功";
}
}
6.请求代码接口,让其上报请求信息,进入cat控制台进行查看
7.查看jvm等信息
参考:从零搭建开发脚手架 Spring Boot集成CAT实现APM和链路监控、业务埋点