简介

CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。

已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。

开源地址:https://github.com/dianping/cat/

Docker 部署CAT

一、环境

已安装服务

  • 服务1:docker-compose Version 1.25.0-rc2
  • 服务2:Docker Version: 19.03.4
  • 服务3:Mysql 5.7
  • 服务4:git 1.8.3.1

二、通过Docker安装

1、创建CAT目录、进入到该目录下

mkdir -p /opt/cat/
cd /opt/cat

2、下载cat

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

3、进入到Docker目录

/cat/docker

4、创建Dockerfile文件

vim Dockerfile

FROM centos:centos6

USER root

#UTILITIES
RUN yum install -y wget
RUN yum install -y tar #JAVA (OPENJDK 7)
ENV JAVA_VERSION 1.7.0 RUN yum install -y java-1.7.0-openjdk java-1.7.0-openjdk-devel ENV JAVA_HOME /usr/lib/jvm/java #TOMCAT 7
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME ENV TOMCAT_MAJOR_VERSION 7
ENV TOMCAT_MINOR_VERSION 7.0.79 RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \
wget -qO- https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && \
tar zxf apache-tomcat-*.tar.gz && \
mv apache-tomcat-${TOMCAT_MINOR_VERSION}/* . && \
rm -rf apache-tomcat-* #MAVEN
ENV MAVEN_VERSION_MAJOR 3
ENV MAVEN_VERSION_MINOR 5.2 RUN wget http://archive.apache.org/dist/maven/maven-${MAVEN_VERSION_MAJOR}/${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}/binaries/apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN tar xvf apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN rm apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN mv apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR} /usr/local/apache-maven
ENV M2_HOME=/usr/local/apache-maven
ENV M2=$M2_HOME/bin
ENV PATH=$M2:$PATH
CMD java -version && mvn -version COPY . /root/workspace/cat
WORKDIR /root/workspace/cat RUN set -ex && mvn clean install -DskipTests
RUN cp cat-home/target/*.war $CATALINA_HOME/webapps/cat.war
ADD docker/datasources.xml /data/appdatas/cat/datasources.xml
ADD docker/datasources.sh /datasources.sh
RUN sed -i "s/port=\"8080\"/port=\"8080\"\ URIEncoding=\"utf-8\"/g" $CATALINA_HOME/conf/server.xml EXPOSE 8080

Dockerfile

5、创建docker-compose文件

vim docker-compose.yaml

version: '2.2'

services:
cat:
container_name: cat ######## build from Dockerfile ###########
build:
context: ../
dockerfile: ./docker/Dockerfile
######## End -> build from Dockerfile ########### environment:
# if you have your own mysql, config it here, and disable the 'mysql' config blow
- MYSQL_URL=192.168.0.197 # links will maintain /etc/hosts, just use 'container_name'
- MYSQL_PORT=3306
- MYSQL_USERNAME=cat
- MYSQL_PASSWD=cat123
- MYSQL_SCHEMA=cat working_dir: /app
volumes:
# 默认127.0.0.1,可以修改为自己真实的服务器集群地址
- "./client.xml:/data/appdatas/cat/client.xml"
# 默认使用环境变量设置。可以启用本注解,并修改为自己的配置
- "./datasources.xml:/data/appdatas/cat/datasources.xml"
- "/etc/localtime:/etc/localtime"
#command: /bin/sh -c 'chmod +x /datasources.sh && /datasources.sh && catalina.sh run'
command: /bin/sh -c 'catalina.sh run'
ports:
- "8080:8080"
- "2280:2280"
network_mode: "host"

docker-compose.yaml

6、修改datasources.xml配置文件链接数据库使用

vim 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://192.168.0.9:3306/cat]]></url>
<user>cat</user>
<password>xxxxxxx</password>
<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
</properties>
</data-source>
</data-sources>

datasources.xml

7、修改client.xml配置文件用于指定监控端

vim client.xml

<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
<servers>
<server ip="192.168.0.9" port="2280" http-port="8080"/>
</servers>
</config>

client.xml

8、将cat数据库导入sql文件

数据库位置:/cat/script/CatApplication.sql

9、执行命令构建启动服务

docker-compose up

10、设置开机自启动

docker update --restart=always cat

11、开启防火墙端口

firewall-cmd --zone=public  --permanent --add-port=2280/tcp
firewall-cmd --zone=public --permanent --add-port=8080/tcp

12、测试访问

http://ip:8080/cat

13、配置cat

config 默认用户名:admin 密码:admin

<?xml version="1.0" encoding="utf-8"?>
<router-config backup-server="192.168.0.9" backup-server-port="2280">
<default-server id="192.168.0.9" 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="192.168.0.9"/>
</server-group>
<domain id="cat">
<group id="default">
<server id="192.168.0.9" port="2280" weight="1.0"/>
</group>
</domain>
</router-config>

路由配置

参考文章:https://www.cnblogs.com/provence666/p/11029329.html

参考文章:https://article.itxueyuan.com/BJ2KdG

参考文章:https://zhuanlan.zhihu.com/p/46399761

参考文章:https://www.cnblogs.com/softidea/p/5719331.html

CAT 监控搭建的更多相关文章

  1. cat监控平台环境搭建

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  2. cat监控平台环境搭建 专题

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  3. 部署点评Cat监控项目(转)

    原文地址:http://www.bubuko.com/infodetail-986338.html 在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat, ...

  4. LNMP+zabbix分布式监控搭建及版本升级

    LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...

  5. Ganglia监控搭建

    一.Ganglia介绍: Ganglia是一个监控服务器.集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标.Ga ...

  6. 部署点评Cat监控项目

    在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat,总会遇到各种问题,讲解的也不够简明清楚,现在用一个单机来部署运行cat监控项目. 首先,到项目的Gi ...

  7. 美团点评CAT监控平台研究

    1. 美团点评CAT监控平台研究 1.1. 前言 此文根据我对官方文档阅读并记录整理所得,中间可能会穿插一些自己的思考和遇坑 1.2. 简介 CAT 是基于 Java 开发的实时应用监控平台,为美团点 ...

  8. 搭建大众点评CAT监控平台

    CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控.关于CAT的具体介绍可移步到CAT官网进行查阅. 1. 环境清单 C ...

  9. 大众点评cat监控平台搭建

    参考官方文档:https://github.com/dianping/cat/wiki/readme_server 1.数据库相关 (1)创建数据库cat,并执行以下sql创建相关表: CREATE ...

随机推荐

  1. 用POI 3.17 导出EXECL

    代码参考 https://www.cnblogs.com/bmbm/archive/2011/12/08/2342261.html 效果 导入jar包 <dependency> <g ...

  2. Eclipse使用Maven jetty/tomcat:run命令启动web项目

    Eclipse安装好m2e插件,使用Maven构建项目后,启动web项目就行就非常简单了,如下所示. 操作步骤: 1.右键你的项目 -> Run As -> Run Configurati ...

  3. 挑战10个最难回答的Java面试题(附答案)

    译者:Yujiaao segmentfault.com/a/1190000019962661 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容 ...

  4. ASP.NET MVC教程一:ASP.NET MVC简介

    一.MVC模式简介 MVC模式是一种流行的Web应用架构技术,它被命名为模型-视图-控制器(Model-View-Controller).在分离应用程序内部的关注点方面,MVC是一种强大而简洁的方式, ...

  5. Mybatis+Spring框架整合

    1.整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得sqlsession对象. 3.Mapper代 ...

  6. ArcGIS Server10.4 service发布步骤

    准备内容 安装环境:win10*64位专业版 安装文件:ArcGIS_Server_Ent_Windows_1041_150998.iso 破解文件:Lic10.4.1.ecp #安装Server前, ...

  7. web渗透测试

    信息收集 网络搜索 目录遍历:site:域名 intitle:index.of 配置文件泄露:site:域名 ext:xml | ext:conf | ext:cnf | ext:reg | ext: ...

  8. Eclipse的Git插件Egit: merge合并冲突具体解决方法

    http://www.cnblogs.com/wavky/p/3504060.html 稍微总结下弄了半个下午的egit的merge合并冲突解决方法,网上看的都是一个模板出来的,看的糊里糊涂,花了很多 ...

  9. ABP入门教程11 - 展示层实现增删改查-视图

    点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的Views下新建文件夹Course //用以存放Course相关视图 创建视图 在JD.CRS.Web.Mvc/Vi ...

  10. mssql sqlserver 将逗号分隔的一列数据转换为多列数据的方法分享

    转自:http://www.maomao365.com/?p=10278  摘要: 下文讲述sqlserver中将使用逗号组合的单列数据,分隔为多列数据的方法 实验环境:sql server 2012 ...