CAT下载和安装

1, github源码下载

要安装CAT,首先需要从github上下载最新版本的源码。
官方给出的建议如下:

  • 注意cat的3.0代码分支更新都发布在master上,包括最新文档也都是这个分支
  • 注意文档请用最新master里面的代码文档作为标准,一些开源网站上面一些老版本的一些配置包括数据库等可能遇到不兼容情况,请以master代码为准,这份文档都是美团点评内部同学为这个版本统一整理汇总。内部同学已经核对,包括也验证过,如果遇到一些看不懂,或者模糊的地方,欢迎提交PR。

所以本次学习中将会使用master分支的3.0版本。CAT的官方github地址:
https://github.com/dianping/cat/tree/master
打开页面之后,进行如下操作:

image.png

也可以在git bash控制台使用命令进行下载:
git clone https://github.com/dianping/cat.git

2模块介绍

  • cat-client: 客户端,上报监控数据

  • cat-consumer: 服务端,收集监控数据进行统计分析,构建丰富的统计报表

  • cat-alarm: 实时告警,提供报表指标的监控告警

  • cat-hadoop: 数据存储,logview 存储至 Hdfs

  • cat-home: 管理端,报表展示、配置管理等

3 服务端安装

CAT服务端的环境要求如下:

  • Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5
  • Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持
  • Maven 3及以上
  • MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性
  • J2EE容器建议使用tomcat,建议使用推荐版本7..或8.0.*
  • Hadoop环境可选,一般建议规模较小的公司直接使用磁盘模式,可以申请CAT服务端,500GB磁盘或者更大磁盘,这个磁盘挂载在/data/目录上

应用打包

  • 源码构建

    1. 在cat的源码目录,执行mvn clean install -DskipTests

    2. 如果发现cat的war打包不通过,CAT所需要依赖jar都部署在 http://unidal.org/nexus/

    3. 可以配置这个公有云的仓库地址到本地Maven配置(一般为~/.m2/settings.xml),理论上不需要配置即可,可以参考cat的pom.xml配置:

    <repositories>
    <repository>
    <id>central</id>
    <name>Maven2 Central Repository</name>
    <layout>default</layout>
    <url>http://repo1.maven.org/maven2</url>
    </repository>
    <repository>
    <id>unidal.releases</id>
    <url>http://unidal.org/nexus/content/repositories/releases/</url>
    </repository>
    </repositories>

官方下载

  1. 如果自行打包仍然问题,请使用下面链接进行下载:
    http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/3.0.0/cat-home-3.0.0.war

  2. 官方的cat的master版本,重命名为cat.war进行部署,注意此war是用jdk8,服务端请使用jdk8版本

程序对于/data/目录具体读写权限

  1. 要求/data/目录能进行读写操作,如果/data/目录不能写,建议使用linux的软链接链接到一个固定可写的目录。所有的客户端集成程序的机器以及CAT服务端机器都需要进行这个权限初始化。(可以通过公司运维工具统一处理)

  2. 此目录会存一些CAT必要的配置文件以及运行时候的数据存储目录。

  3. CAT支持CAT_HOME环境变量,可以通过JVM参数修改默认的路径。

    mkdir /data
    chmod -R 777 /data/

配置/data/appdatas/cat/client.xml ($CAT_HOME/client.xml)

mkdir -p /data/appdatas/cat
cd /data/appdatas/cat
vi client.xml

编写程序运行盘下的/data/appdatas/cat/client.xml,代码如下:

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

</data-sources>
安装mysql

虚拟机上已经使用docker安装了mysql,直接启动即可。

docker start mysql

使用sqlyog等工具测试连接,账号密码root/root,端口号为3306。

创建数据库,导入sql脚本

image.png

安装tomcat
把cat的war包放到Tomcat的webapps文件中
以下操作已完成:

修改中文乱码 tomcat conf 目录下 server.xml

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

启动tomcat:

//cd到Tomcat的bin目录下启动
./startup.sh 

服务端配置

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


image.png

输入账号密码admin/admin进行登录

以下所有IP地址为127.0.0.1内容,均修改为实际的IP地址!

输入以下内容:把所有的127.0.0.1改为服务器的ip地址

<?xml version="1.0" encoding="utf-8"?>
<server-config>
   <server id="default">
  <properties>
     <property name="local-mode" value="false"/>
     <property name="job-machine" value="false"/>
     <property name="send-machine" value="false"/>
     <property name="alarm-machine" value="false"/>
     <property name="hdfs-enabled" value="false"/>
     <property name="remote-servers" value="127.0.0.1:8080"/>
  </properties>
  <storage local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="2" local-logivew-storage-time="1" har-mode="true" upload-thread="5">
     <hdfs id="dump" max-size="128M" server-uri="hdfs://127.0.0.1/" base-dir="/user/cat/dump"/>
     <harfs id="dump" max-size="128M" server-uri="har://127.0.0.1/" base-dir="/user/cat/dump"/>
     <properties>
        <property name="hadoop.security.authentication" value="false"/>
        <property name="dfs.namenode.kerberos.principal" value="hadoop/dev80.hadoop@testserver.com"/>
        <property name="dfs.cat.kerberos.principal" value="cat@testserver.com"/>
        <property name="dfs.cat.keytab.file" value="/data/appdatas/cat/cat.keytab"/>
        <property name="java.security.krb5.realm" value="value1"/>
        <property name="java.security.krb5.kdc" value="value2"/>
     </properties>
  </storage>
  <consumer>
     <long-config default-url-threshold="1000" default-sql-threshold="100" default-service-threshold="50">
        <domain name="cat" url-threshold="500" sql-threshold="500"/>
        <domain name="OpenPlatformWeb" url-threshold="100" sql-threshold="500"/>
     </long-config>
  </consumer>
   </server>
   <server id="127.0.0.1">
  <properties>
     <property name="job-machine" value="true"/>
     <property name="send-machine" value="true"/>
     <property name="alarm-machine" value="true"/>
  </properties>
   </server>
</server-config>

配置链接:http://{ip:port}/cat/s/config?op=routerConfigUpdate
把所有的127.0.0.1改为服务器的ip地址

<?xml version="1.0" encoding="utf-8"?>
<router-config backup-server="127.0.0.1" backup-server-port="2280">
   <default-server id="127.0.0.1" weight="1.0" port="2280" enable="true"/>
   <network-policy id="default" title="默认" block="false" server-group="default_group">
   </network-policy>
   <server-group id="default_group" title="default-group">
  <group-server id="127.0.0.1"/>
   </server-group>
   <domain id="cat">
  <group id="default">
     <server id="127.0.0.1" port="2280" weight="1.0"/>
  </group>
   </domain>
</router-config>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,882评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,208评论 3 414
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 175,746评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,666评论 1 309
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,477评论 6 407
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,960评论 1 321
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,047评论 3 440
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,200评论 0 288
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,726评论 1 333
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,617评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,807评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,327评论 5 358
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,049评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,425评论 0 26
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,674评论 1 281
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,432评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,769评论 2 372

推荐阅读更多精彩内容

  • 文章首发于微信公众号《程序员果果》地址:https://mp.weixin.qq.com/s/G15cw9yXpq...
    程序员果果阅读 1,788评论 0 9
  • CAT安装环境 CentOS 6.5 Java 6,7,8,服务端推荐是用jdk7的版本,客户端jdk6、7、8都...
    陈阳001阅读 3,190评论 3 1
  • Cat配置 Server 0.需要安装jdk1.8 1.首先去官网下载tomcat8https://tomcat....
    尼尔君阅读 881评论 0 0
  • 1.安装环境要求 l Linux 2.6以及之上 l Java服务端推荐是用jdk7的版本,客户端jdk6、7、8...
    阳光_8af8阅读 2,787评论 0 0
  • 个人专题目录 Dianping CAT 安装说明文档 CAT基于Java开发的实时应用监控平台,包括实时应用监控,...
    Java及SpringBoot阅读 5,442评论 0 2