一、Cat的项目背景

  CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。

  Gthub链接:https://github.com/dianping/cat/blob/master/README.md

二、Cat集群部署

  1,需求  

    1.1  服务机器需求:3台。(172.17.16.27,172.17.16.25,172.17.16.19)使用的是内网地址,其中172.17.16.27为主服务端。

  1.2  服务需求:Centos 7,jdk1.8,Tomcat,Mysql 5.6+。其中Mysql部署一个即可。

    1.3  软件包下载:

        git clone https://github.com/dianping/cat.git

        wget http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/3.0.0/cat-home-3.0.0.war

        其中下载下来后,cat-home-3.0.0.war是cat的项目包,cat为配置文件包

  2,配置

    2.0  配置cat环境变量(红色区域为自己设置区域,根据服务器内存设置,建议生产10G+,其他2G+)

      export CAT_HOME=/data/appdatas/cat/

                     CATALINA_OPTS="$CATALINA_OPTS -server -DCAT_HOME=$CAT_HOME -Djava.awt.headless=true -Xms25G -Xmx25G -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewSize=10144m -XX:MaxNewSize=10144m -XX:SurvivorRatio=10 -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=13 -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+ScavengeBeforeFullGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:-ReduceInitialCardMarks -XX:+CMSPermGenSweepingEnabled -XX:CMSInitiatingPermOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrent -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="$CATALINA_HOME\conf\logging.properties" -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -Xloggc:/data/applogs/heap_trace.txt -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/applogs/HeapDumpOnOutOfMemoryError -Djava.util.Arrays.useLegacyMergeSort=true"

    2.1  创建/data目录(3台都要)

      mkdir /data/{appdatas,applogs} -p

      mkdir /data/appdatas/cat -p

      其中/data/appdatas/cat为cat项目的配置目录

      需要在/data/appdatas/cat目录下创建3个配置文件(服务端配置文件server.xml,客户端配置文件client.xml,数据库配置文件datasources.xml)

      【注意:】我们的3个服务端配置,客户端配置文件和数据库配置文件一致,服务端配置文件不同

      client.xml文件内容:

        <?xml version="1.0" encoding="utf-8"?>

<config mode="client">

<servers>
                            <server ip="172.17.16.109" port="2280" http-port="8080"/>
                            <server ip="172.17.16.85" port="2280" http-port="8080"/>
                            <server ip="172.17.16.32" port="2280" http-port="8080"/>
                            </servers>
                            </config>

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

      主server的配置文件为:【主要是job-machine和alert-machine的不同,主为true,其余两个为false即可】       

<?xml version="1.0" encoding="utf-8"?>
                              <!-- Configuration for development environment-->
                              <config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="true">
                              <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">
                              <!--将172.16.90.114修改为部署CAT的内网IP,请不要写127.0.0.1和外网IP -->
                              <remote-servers>172.17.16.109:8080,172.17.16.85:8080,172.17.16.32:8080</remote-servers>
                              </console>
                              </config>

    2.2 授权目录(3台都要)

      chmod 777 -R /data

    2.3 导入sql

      将/cat/script/CatApplication.sql导入数据库即可,需要创建cat库

    2.4 启动服务

      将cat-home-3.0.0.war改名为cat.war,之后移动到tomcat/webapps/下

      sh tomcat/bin/startup.sh   启动即可

    2.5 访问服务

      浏览器输入server.xml中job-machine和alert-machine为true那台服务器的公网即x.x.x.x:8080/cat,用户名密码admin

  3,配置路由

    3.1  服务端路由配置

      

     3.2 客户端路由配置

    

  

    3.3 查看状态

      

  4,客户端集成

    创建/data/appdatas/cat目录,之后将服务端的client.xml文件放到这个目录底下即可,之后chmod 777 -R /data

  【注意:】客户端路由或其他服务端配置文件修改,重启cat

监控-Cat项目部署的更多相关文章

  1. SpringBoot 原理分析、监控、项目部署

    目录 SpringBoot 监控 概述 使用 SpringBoot Admin 概述 使用 SpringBoot 项目部署 SpringBoot 监控 概述 SpringBoot 自带监控功能 Act ...

  2. 大众点评cat实时监控简介及部署

    简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...

  3. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

    背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等 ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目部署:7、微服务节点的监控与告警。

    系统目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  5. Linux操作系统与项目部署

    Linux操作系统与项目部署 注意:本版块会涉及到操作系统相关知识. 现在,几乎所有智能设备都有一个自己的操作系统,比如我们的家用个人电脑,基本都是预装Windows操作系统,我们的手机也有Andro ...

  6. kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)

    kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...

  7. nginx+uwsgi+flask+supervisor 项目部署

    环境 - Linux: Ubuntu 16.04 - uWSGI 2.0.18 - Flask 1.0.2 - supervisor 3.2.0 - nginx/1.8.1 首先区分几个概念 WSGI ...

  8. Django项目部署(django+guncorn+virtualenv+nginx)

    一.说明 为了django项目部署到生产环境上,能够稳定的运行,且能够同时指出http和https的访问,对django的部署进行了一些研究,决定采用django + gunicorn + virtu ...

  9. Linux项目部署发布

    Linux项目部署发布 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/sim ...

随机推荐

  1. excel——VlookUp函数的使用

    VlookUp函数,查询两个表中的相同字段数据,并将需要引用的数据从B表填充到A表 1.打开A表,将需要查询的列选中 在需要引用的列输入 = 在上方,函数选择中选择VLOOKUP函数 Windows: ...

  2. JavaScript判断字符串中出现次数最多的字符,并统计其次数

    要求: 输出一个给定字符串``中出现次数最多的字符,并统计其次数. 实现思路: 利用charA()遍历这个字符串 把每个字符都存储给对象,如果对象没有该属性,就先幅值为1,如果存在了就+1 遍历对象, ...

  3. EDI模拟实验

    EDI模拟实验 [实验目的] ⑴.了解EDI报文的格式和特点. ⑵.掌握EDI报文生成和发送流程. [实验条件] ⑴.个人计算机一台,预装Windows XP操作系统和浏览器 ⑵.计算机通过局域网形式 ...

  4. c语言版去除源代码注释

    去除代码中注释需要注意下面几点 首先注释有"/*"开始到"*/"结束的多行或单行注释 其次还有"//"这种单行注释 另外还需要注意双引号和单 ...

  5. C语言从1打印到100再打印到1该如何编写?我只服最后一种写法!

    我觉得这是一个送分题,奈何人才太多了,给出了各种古怪的写法,如果是做项目的话,我比骄建议一些正常的写法,就是大家都能看得懂的,不要搞什么花里胡哨,不过你要是交流的话,既然是交流,我不觉得要多正规,即使 ...

  6. codevs1298, hdu1392 (凸包模板)

    题意: 求凸包周长. 总结: 测试模板. 代码: #include <iostream> #include <cstdio> #include <cstring> ...

  7. 正式班D14

    2020.10.23星期五 正式班D14 9.5 文件处理三剑客(支持|) 9.5.1 sed流式编辑器 事先制定好编辑文件的指令,让sed自动完成对文件的整体编辑(同一时间内存中只有文件中一条) # ...

  8. java的回收机制

    在java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个: 1.给对象赋值为null,以下没有调用过. 2.给对象赋了新的值,重新分配了内存空间.

  9. 渗透测试全流程靶机vulnhubDC-1完成笔记

    镜像下载地址 https://www.vulnhub.com/entry/dc-1-1,292/ 信息收集 1.可以使用netdiscover -i eth0 发现二层网络信息 发现两个设备(103是 ...

  10. 循序渐进VUE+Element 前端应用开发(24)--- 修改密码的前端界面和ABP后端设置处理

    用户在系统登录后,一般会提供一个入口给当前用户更改当前的密码,其实更改密码操作是很简单的一个处理,不过本篇随笔主要是介绍结合前后端来实现这个操作,后端是基于ABP框架的,需要对密码的安全性进行一个设置 ...