登录 |  注册
首页 >  中间件·网站架构 >  Cat监控平台学习教程 >  Cat监控平台的环境搭建

Cat监控平台的环境搭建

1. 环境清单

  • CentOS 7 

  • Java 8 

  • Maven 3.5 

  • MySQL 5.7 

  • CAT 2.0.0 

  • Tomcat 7.0

2. 安装 CAT

2.0 下载CAT安装包:

CAT的官方github地址:

https://github.com/dianping/cat/tree/master

打开页面之后,进行如下操作:

download.png

2.1 配置 CAT

在Linux系统安装时,CAT应用要求对/data/appdatas/cat和/data/applogs/cat路径有读写权限。

# mkdir -p /data/appdatas/cat && mkdir -p /data/applogs/cat

CAT服务端应用会对这两个目录进行读写操作,因此需要首先创建这两个目录。并且应确保启动CAT应用的用户对这两个目录有读写权限。

下载CAT的源码包:

$ wget -O cat-2.0.0.tar.gz https://codeload.github.com/dianping/cat/tar.gz/v2.0.0

解压缩:

# tar zxvf cat-2.0.0.tar.gz

解压缩完成后得到cat-2.0.0目录。其中cat-2.0.0/script目录中存放的是CAT客户端和服务端安装所需的一些配置文件:

文件说明
client.xml所有的CAT客户端都需要配置这个配置文件。它用于配置CAT部署的服务端信息。只有客户端配置了这个配置文件,客户端才能正确连接到CAT服务器端。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改,并且启动客户端的程序的用户需要对此目录有读写权限)。
特殊的,部署CAT应用的服务端同时也是一个客户端,也需要配置该配置文件。
server.xmlCAT服务端的配置文件。即安装CAT应用的服务器才需要配置。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改,并且启动CAT应用的用户需要对此目录有读写权限)。
datasources.xmlCAT服务端的配置文件。即安装CAT应用的服务器才需要配置。该配置文件用于配置CAT链接MySQL数据库的信息。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改)。
Cat.sqlCAT应用所需的MySQL数据库脚本。需将此脚本导入MySQL数据库中。

将cat-2.0.0/script目录中的client.xml、datasources.xml、server.xml配置文件复制到目录/data/appdatas/cat中:

$ cp client.xml server.xml datasources.xml /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>
         <!-- ip:部署CAT应用的服务器IP
              port:CAT服务端接收客户端数据的端口(不允许更改)
              http-port:CAT应用部署到的容器的端口(tomcat的端口)
         -->
         <server ip="10.10.10.121" port="2280" http-port="8080" />
     </servers>
</config>

服务端server.xml的配置内容如下:

 <?xml version="1.0" encoding="utf-8"?>
 <!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
      hdfs-machine:是否启用HDFS存储
      job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
      alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
 -->
 <config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="false">
     <!-- local-base-dir:本地数据存储目录, 建议不要修改
          local-report-storage-time:本地报告文件存放时长, 单位为(天)
         local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>
    <console default-domain="Cat" show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080</remote-servers>
    </console>
</config>

数据源datasources.xml的配置内容如下:

 <?xml version="1.0" encoding="utf-8"?>
 <data-sources>
     <data-source id="cat">
         <maximum-pool-size>8</maximum-pool-size>
         <connection-timeout>3s</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://10.10.10.121:3306/cat_schema]]></url>
            <!-- 用户名 -->
            <user>root</user>
            <!-- 密码 -->
            <password>123654</password>
            <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
        </properties>
    </data-source>
    <data-source id="app">
        <maximum-pool-size>8</maximum-pool-size>
        <connection-timeout>3s</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://10.10.10.121:3306/cat_schema]]></url>
            <!-- 用户名 -->
           <user>root</user>
            <!-- 密码 -->
            <password>123654</password>
            <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
        </properties>
    </data-source>
</data-sources>

创建cat_schema数据库:

CREATE DATABASE IF NOT EXISTS cat_schema DEFAULT CHARSET utf8 COLLATE utf8_general_ci

选择数据库cat_schema:

USE cat_schema

导入Cat.sql到cat_schema数据库:

SOURCE /home/fanlychie/cat-2.0.0/script/Cat.sql

编辑tomcat配置文件:

$ vim tomcat-7.0.90/conf/server.xml

找到Connector的配置行,添加URIEncoding="utf-8"。如下:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="utf-8" />

3 启动 CAT

启动tomcat:

$ ./tomcat-7.0.90/bin/startup.sh

重要:

配置链接:http://{ip:port}/cat/s/config?op=serverConfigUpdate

说明:这个只需要更新一次,配置是保存在mysql的数据库里面。

访问:http://10.10.10.121:8080/cat

cat.jpg

配置操作需要用户登入系统,每次的登录账户名和密码保持一致即可。如catadmin/catadmin。

 3.1客户端路由设置

依次打开配置 --> 全局告警配置 --> 客户端路由修改id为CAT部署的服务器ip:

cat.png

4 集群搭建

上面介绍的是CAT应用的单点模式部署。接下来介绍CAT的集群模式搭建方式。

4.1 部署概览

0.10.10.121控制台、告警端、任务机

10.10.10.122消费机

10.10.10.123消费机

10.10.10.121作为前端控制台,如果使用了域名,只需将域名解析到此IP地址。

按以上搭建单点模式的方式,分别在10.10.10.121、10.10.10.122、10.10.10.123部署CAT。部署完成后,先不要启动tomcat。接下来做集群配置。

4.2 客户端client.xml配置

10.10.10.121、10.10.10.122、10.10.10.123的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>
         <!-- ip:部署CAT应用的服务器IP
             port:CAT服务端接收客户端数据的端口(不允许更改)
              http-port:CAT应用部署到的容器的端口(tomcat的端口)
         -->
         <server ip="10.10.10.121" port="2280" http-port="8080" />
         <server ip="10.10.10.122" port="2280" http-port="8080" />
        <server ip="10.10.10.123" port="2280" http-port="8080" />
    </servers>
</config>

4.3 服务端server.xml配置

10.10.10.121的server.xml配置,具体如下:

 <?xml version="1.0" encoding="utf-8"?>
 <!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
      hdfs-machine:是否启用HDFS存储
      job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
      alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
 -->
 <config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="true">
     <!-- local-base-dir:本地数据存储目录, 建议不要修改
          local-report-storage-time:本地报告文件存放时长, 单位为(天)
         local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>
    <console default-domain="Cat" show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080,10.10.10.122:8080,10.10.10.123:8080</remote-servers>
    </console>
</config>

10.10.10.122、10.10.10.123的server.xml配置一样,具体如下:

<?xml version="1.0" encoding="utf-8"?>
 <!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
      hdfs-machine:是否启用HDFS存储
      job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
      alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
 -->
 <config local-mode="false" hdfs-machine="false" job-machine="false" alert-machine="false">
     <!-- local-base-dir:本地数据存储目录, 建议不要修改
          local-report-storage-time:本地报告文件存放时长, 单位为(天)
        local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>
    <console default-domain="Cat" show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080,10.10.10.122:8080,10.10.10.123:8080</remote-servers>
    </console>
</config>

服务端server.xml的配置主要是job-machine和alert-machine属性值配置的不同。

4.4 启动 CAT

分别启动10.10.10.121、10.10.10.122、10.10.10.123的tomcat:

$ ./tomcat-7.0.90/bin/startup.sh

10.10.10.121作为控制台服务,只需访问:http://10.10.10.121:8080/cat

4.5 客户端路由设置

10.10.10.121作为控制台服务,只需配置这台即可。

依次打开配置 --> 全局告警配置 --> 客户端路由修改id为CAT部署的服务器ip:

cat.png

其中10.10.10.121作为备份,正常情况下不作为消费机(即不起消费数据的作用),仅当CAT集群中的其它节点(如这里的10.10.10.122、10.10.10.123节点)都挂掉之后才会对数据进行消费。

该配置会自动同步到CAT集群中的其它节点(如这里的10.10.10.122、10.10.10.123节点)。

配置完成后,重启10.10.10.121服务器的CAT应用容器(即重启tomcat)。

上一篇: Cat监控是什么?有哪些特点?
推荐文章
  • 1.环境清单CentOS7 Java8 Maven3.5 MySQL5.7 CAT2.0.0 Tomcat7.02.安装CAT2.0下载CAT安装包:CAT的官方github地址:https://github.com/dianping/cat/tree/master打开页面之后,进行如下操作:2.1
  • 一.安装并启动sendmailyum install -y sendmail systemctl start sendmail二.修改Grafana配置文件,设置发件人vim /etc/grafana/grafana.ini在[smtp]标签下修改配置[smtp] enabled = true ho
  • 想用最简单的方式去理解Elasticsearch能为你做什么,那就是使用它了,让我们开始吧!安装并运行Elasticsearch安装Elasticsearch之前,你需要先安装一个较新的版本的Java,最好的选择是,你可以从www.java.com获得官方提供的最新版本的Java。之后,你可以从el
  • 简介:Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为ElasticStack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。版本说明Java环境:JDK1.8.0Elasticsearch:7.2.1OS环境:wi
  • Java9、Java10、Java12和Java13均为短期版本。我们建议您不要使用以上版本,除非您准备好应对这种快速发布节奏。有关JVM支持,请参见Oracle的时间表,网址为:http://www.oracle.com/technetwork/java/eol-135779.html**Elas
  • Elasticsearch是由ShayBanon发起的一个开源搜索服务器项目,2010年2月发布。迄今,该项目已发展成为搜索和数据分析解决方案领域的主要一员,广泛应用于声名卓著或鲜为人知的搜索应用程序。此外,由于其分布式性质和实时功能,许多人把它作为文档数据库。Elasticsearch看名字就能大
学习大纲
 Cat监控是什么?有哪些特点?
Cat监控平台的环境搭建