如何实现Cat中的Server+client+预警

这篇文章主要讲解了“如何实现Cat中的Server+client+预警”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现Cat中的Server+client+预警”吧!

创新互联是一家专注于网站制作、网站建设与策划设计,永定网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:永定等地区。永定做网站价格咨询:13518219792

一.服务端部署

1.从github上下载源码,导入idea,加载依赖,插件

2.加载完毕之后 maven打包 (打包比较容易失败  失败就多打包几次)
 mvn clean install -DskipTests

3.打成war包之后可以放在linux下tomcat中启动,也可以直接在idea中配置tomcat本地启动(这里以window举例)

4.启动之后会自动生成项目读取配置的目录(此目录需要有读写权限)

/data/appdatas/cat/

5.此时项目会启动失败,因为只有目录没有配置文件

6.在/data/appdatas/cat/目录下创建client.xml,datasources.xml配置文件 内容如下

client.xml



    
		#这里配置的是Cat服务端的地址和端口
        
    

datasources.xml




	
		3
		1s
		10m
		1000
		
			com.MySQL.jdbc.Driver
                         #服务端的Cat数据库地址
			jdbc:mysql://127.0.0.1:3306/cat
			root
			123456
			 
		
	

7.项目的script目录下会有初始化sql  加载进我们上面填的数据库

8.配置完成之后再启动,启动的项目访问路径需要是  /cat  

9.启动成功,访问http://localhost:8080/cat/s/config?op=routerConfigUpdate,成功进入服务端页面

10.默认用户名:admin 默认密码:admin

11.此时服务端就已经接入成功

二.客户端接入(以springBoot项目为例)

1.导入依赖 (根据我们服务端的版本)

       
            com.dianping.cat
            cat-client
            3.0.0
        

2.新增配置类

@Configuration
public class CatFilterConfigure {

    @Bean
    public FilterRegistrationBean catFilter() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        CatFilter filter = new CatFilter();
        registration.setFilter(filter);
        registration.addUrlPatterns("/*");
        // registration.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        registration.setName("cat-filter");
        registration.setOrder(2);
        return registration;
    }
}

3.在resources下建立如下结构,Cat才能找到对应的项目名称

如何实现Cat中的Server+client+预警

app.name=phoenix

4.客户端启动的根目录也要有/data/appdatas/cat/ 目录,此目录中只需要有client.xml即可  里面需要把地址换成服务端的ip+端口,目的是让客户端能找到服务端的地址

5.至此,客户端启动就成功接入到Cat服务端,我们访问客户端接口URL,就能在服务端中看到

三.预警功能,以异常预警为例

1.告警服务端

触发预警之后,它会根据我们配的地址,发送http请求,因此,具体的预警业务需要我们自己去写


      #这里配置我们写的接口地址,预警触发之后会调此接口   #200是指,我们接口的返回需要是"200"
                                                  
      
      
      
      
      
   
   
      
      
      
      
      
   
   
      
   

2.服务端配置



   
      
         
                #别的配置不用动
           #定义当前服务告警是否发送 这两个要为true
          #定义当前服务是否为报警机
         
         
      
      
         
         
         
            
            
            
            
            
            
         
      
      
         
            
            
         
      
   
   
      
         
         
         
      
   

3.异常一般都出现在Event中,因此我们只需要配置Event告警配置即可

如何实现Cat中的Server+client+预警

4.别的配置默认即可,此时回到Event列表,如果1分钟之内出现一次Exception,就会触发报警

5.如果项目被try catch或者是异常被捕捉了 ,是监控不到异常的,需要在异常出现的地方埋点

Cat.logError(e);

5.至此一个简单的异常监控报警就完成了

四.Exception+Event埋点

Event一般用来记录异常多一点,Transaction可以根据业务来记录

# Transaction埋点
Transaction t = Cat.newTransaction("DDDDDType", "DDDDDTypeName");
# Event埋点
Cat.logEvent("dddEventType", "dddEventName", Event.SUCCESS, "keyValuePairs");
try {
    yourBusiness();
    t.setStatus(Transaction.SUCCESS);
} catch (Exception e) {
    t.setStatus(e);
    # Event异常埋点
    Cat.logError(e);
} finally {
    t.complete();
}

这段代码执行之后,我们在Translation和Event列表就能看到

如何实现Cat中的Server+client+预警

五.注意

1.客户端中\data\appdatas\cat  中的 clent.xml 不可缺! 里面配置为指向服务器的ip+端口

2.服务端部署到服务器上后 , 全局系统配置 =>>客户端路由   中的几个ip需要替换为自己服务器的实际ip

3.建议服务端配置中的ip也都替换为服务器的实际ip

4.服务端配置中的server模型 如果有改动,需要重启服务器

感谢各位的阅读,以上就是“如何实现Cat中的Server+client+预警”的内容了,经过本文的学习后,相信大家对如何实现Cat中的Server+client+预警这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:如何实现Cat中的Server+client+预警
浏览路径:http://scyanting.com/article/jogdji.html