搭建 Cat 监控平台集群

1、Cat 简介

Cat 是大众点评开源出来的一个监控平台,很多企业都在使用,比如官方提供的下面这些企业:

最近公司在使用 Cat 作为新的监控平台,通过这个机会,我也尝试去搭建 Cat 集群,下面简单介绍一下搭建的过程。

2、下载 Cat 代码

通过全球最大同性交友网站( https://github.com/dianping/cat )下载 Cat 代码,根据官方的介绍文档,在本地很容易搭建完并跑。生成 cat.war ,也可以不下载代码,直接下载 cat.war。

3、搭建集群

用 4 台 CentOS7 机器来搭建整个 Cat 集群。4 台机器分别如下:

192.168.153.128   Cat 服务

192.168.153.129   Cat 服务

192.168.153.130   Cat 服务

192.168.153.131   MySQL 服务

JDK 和 Tomcat 安装以及Cat数据库导入就不多说了,直接讲一下配置

在每台机器的根目录创建 /data 目录,并授读写权

3 台 Cat 服务的 /data/appdatas/cat 目录放如下 3 个文件

client.xml

<?xml version="1.0" encoding="utf-8"?>
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
xsi:noNamespaceSchemaLocation="config.xsd">

<servers>
   <server ip="192.168.153.128" port="2280" http-port="8080" />
   <server ip="192.168.153.129" port="2280" http-port="8080" />
   <server ip="192.168.153.130" port="2280" http-port="8080" />
</servers>

</config>

datasources.xml

<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.153.131:3306/cat]]></url>
         <user>root</user>
         <password></password>
         <connectionProperties><![CDATA[useUnicode=true&characterEncoding
=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
      </properties>
   </data-source>
   
   <data-source id="app">
      <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.153.131:3306/cat]]></url>
         <user>root</user>
         <password></password>
         <connectionProperties><![CDATA[useUnicode=true&characterEncoding
=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
      </properties>
   </data-source>
</data-sources>


server.xml

<?xml version="1.0" encoding="utf-8"?>
<config local-mode="false" hdfs-machine="false" job-machine="true" 
alert-machine="false">
   <storage  local-base-dir="/data/appdatas/cat/bucket/" 
max-hdfs-storage-time="15" local-report-storage-time="7" 
local-logivew-storage-time="7"></storage>
   <console default-domain="Cat" show-cat-domain="true">
      <remote-servers>192.168.153.128:8080,192.168.153.129:8080,
192.168.153.130:8080</remote-servers>
   </console>
</config>

启动 3 台 Cat 服务,到 Cat 配置界面配置

<?xml version="1.0" encoding="utf-8"?>
<router-config backup-server="192.168.153.128" backup-server-port="2280">
   <default-server id="192.168.153.128" weight="1.0" port="2280" 
   enable="true"/>
   <default-server id="192.168.153.129" weight="1.0" port="2280" 
   enable="true"/>
   <default-server id="192.168.153.130" weight="1.0" port="2280" 
   enable="true"/>
</router-config>

这样子集群就搭建完了

4、Cat 客户端验证

这在客户端运行的磁盘上创建 data/appdatas/cat/client.xml 文件,配置如下

<?xml version="1.0" encoding="utf-8"?>
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
xsi:noNamespaceSchemaLocation="config.xsd">
   <servers>
      <server ip="192.168.153.128" port="2280" http-port="8080" />
      <server ip="192.168.153.129" port="2280" http-port="8080" />
      <server ip="192.168.153.130" port="2280" http-port="8080" />
   </servers>
</config>

maven 引入 cat-client

<dependency>
  <groupId>com.dianping.cat</groupId>
  <artifactId>cat-client</artifactId>
  <version>2.0.0</version>
</dependency>

如果是 Web 项目,在 web.xml 加上 

<filter>
  <filter-name>cat-filter</filter-name>
  <filter-class>com.dianping.cat.servlet.CatFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>cat-filter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
</filter-mapping>

在 META-INF 添加 app.properties 文件,配置应用名

app.name = abc

运行后就可以看到你的应用在图片的红框上

嗯,这样子就搞定啦。。。

猜你喜欢

转载自blog.csdn.net/zou100/article/details/86234632