Cat3.0.0监控本地部署+springboot接入cat例子

说明

目标

1.192.168.10.133上安装mysql,新建数据库cat(cat的数据保存地方)
2.192.168.10.132上安装tomcat,运行cat.war
3.win10本地的idea运行springboot项目,cat日志可以在 http://192.168.10.132/cat上看到

前提

  • jdk1.8
  • mysql5.7.22,安装参考:https://blog.csdn.net/sndayYU/article/details/96450591;虚拟机参考https://blog.csdn.net/sndayYU/article/details/96745748
  • win10已安装maven,idea等

cat.war和sql脚本

源码下载

https://github.com/dianping/cat/releases
https://codeload.github.com/dianping/cat/zip/refs/tags/v3.0.0
在这里插入图片描述

编译

mvn clean install -Dmaven.test.skip=true
编译后将…\cat-3.0.0\cat-home\target\cat-alpha-3.0.0.war 改名为 cat.war

sql脚本----mysql这里就配置完了

mysql新建数据库cat,运行…\cat-3.0.0\script\CatApplication.sql

部署cat

1.新建目录/data/appdatas/cat、/data/applogs/cat
2.新建文件/data/appdatas/cat/client.xml

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

3.vim /data/appdatas/cat/datasources.xml

<?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.mysql.jdbc.Driver</driver>
                        <url><![CDATA[jdbc:mysql://192.168.10.133:3306/cat]]></url>  <!-- 请替换为真实数据库URL及Port  -->
                        <user>root</user>  <!-- 请替换为真实数据库用户名  -->
                        <password>123456</password>  <!-- 请替换为真实数据库密码  -->
                        <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
                </properties>
        </data-source>
</data-sources>

4.赋予/data权限777
5.上传tomcat到/root, cat.war上传到/root/apache-tomcat-8.0.28/webapps
6.运行
nohup /root/apache-tomcat-8.0.28/bin/catalina.sh run &
7.访问192.168.10.132:8080/cat, 得到下面结果,会有报错“出问题CAT的服务端:[127.0.0.1]"
在这里插入图片描述

cat浏览器界面上报错“出问题CAT的服务端:[127.0.0.1]"

下面进行配置cat:
1.点击configs进行配置;
2.登录界面:admin/admin
3.点击左边 全局系统配置 -> 服务端配置 -> 修改remote-servers和server节点的id为192.168.10.132,提交
4.客户端配置 -> 把所有的127.0.0.1改为192.168.10.132即可
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
最终,cat成功部署了
在这里插入图片描述

springboot程序接入cat

win10本地配置

D:\data\appdatas\cat\client.xml

<config mode="client">
    <servers>
        <server ip="192.168.10.132" port="2280" http-port="8080"/>
    </servers>
</config>

在这里插入图片描述

my-cat-demo项目

pom.xml

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <!-- 继承spring boot的starter -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
    </parent>
    <dependencies>
        <!-- 添加web starter的依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.dianping.cat</groupId>
            <artifactId>cat-client</artifactId>
            <version>3.0.0</version>
        </dependency>
    </dependencies>

resources/META-INF/app.properties

app.name=my-cat-demo

CatFilterConfigure.java

import com.dianping.cat.servlet.CatFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class CatFilterConfigure {
    @Bean
    public FilterRegistrationBean catFilter() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        CatFilter filter = new CatFilter();
        registrationBean.setFilter(filter);
        registrationBean.addUrlPatterns("/*");
        registrationBean.setName("my-cat-filter");
        registrationBean.setOrder(1);
        return registrationBean;
    }
}

MainApp.java

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class MainApp {

    @Autowired
    private CatServiceImpl catServiceImpl;

    public static void main(String[] args) {
        SpringApplication.run(MainApp.class, args);
    }
    
    @GetMapping("/hello")
    public String hello() {
        return catServiceImpl.getHello();
    }
}

CatServiceImpl.java

import com.dianping.cat.Cat;
import org.springframework.stereotype.Service;

@Service
public class CatServiceImpl {

    public String getHello() {
        Cat.logEvent("catType1", "catName1");
        Cat.logError(new Exception("this is a cat error log"));
        return "hello world!";
    }
}

运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明本地iwin10 idea上的springboot项目能成功把日志写到服务器上的cat上了!

可能导致报错的原因

  • 服务端的时间和程序的不一致,也可能导致cat监控没有日志
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值