===
- Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
- Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
- Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
- Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。
- Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息
CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
- Linux 2.6以及之上(2.6内核才可以支持epoll),Mac以及Windows环境可以作为开发环境
- Java 6,7,8
- Maven 3.2.3+
- MySQL 5.6
我司的环境配置如下
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Release: 6.5
Codename: Final
Server version: Apache Tomcat/8.0.30
Server built: Dec 1 2015 22:30:46 UTC
Server number: 8.0.30.0
OS Name: Linux
OS Version: 2.6.32-431.el6.x86_64
Architecture: amd64
JVM Version: 1.8.0_111-b14
JVM Vendor: Oracle Corporation
Maven 3.3.3
Mysql 5.6
1、git clone https://github.com/dianping/cat.git
2、cd cat
3、git checkout mvn-repo
4、cp -R * ~/.m2/repository
5、git checkout master
6、mvn clean install -DskipTests
如果下载有问题,可以尝试翻墙后下载
mvn clean install -DskipTests
mvn cat:install
Note:
- Linux\Mac 需要对/data/appdatas/cat和/data/applogs/cat有读写权限
- Windows 则是对系统运行盘下的/data/appdatas/cat和/data/applogs/cat有读写权限,如果cat服务运行在e盘的tomcat中,则需要对e:/data/appdatas/cat和e:/data/applogs/cat有读写权限
此步骤是配置一些cat启动需要的基本数据库配置以及配置文件
4、(Optional)如果安装了hadoop集群,需到/data/appdatas/cat/server.xml中配置对应hadoop信息。将localmode设置为false,默认情况下,CAT在开发模式(localmode=true)下工作。推荐大部分公司使用单机模式,不需要搭建hdfs,部署cat的服务端使用一个大磁盘的机器,比如1TB,这样可以省去很多事情。
================如果上述自动化程序出现问题,可以使用如下部署进行尝试,这步骤其实就是上述自动化程序做的事情==========================
- 检查下/data/appdatas/cat/ 下面需要的几个配置文件,配置文件在源码script,请修改对应的datasources.xml 以及 client.xml 里面对应的IP、PSW部分。
- 在cat目录下执行 mvn install -DskipTests 。
- cat-home打包出来的war包,重新命名为cat.war, 并放入tomcat的webapps 。
- 启动tomcat
- 访问 https://localhost:8080/cat/r
- 具体详细的还可以参考 https://unidal.org/cat/r/home?op=view&docName=deploy
- 请先执行mvn eclipse:eclipse 会自动生成相关的类文件
- 作为普通项目导入eclipse,不要用作为maven项目导入eclipse
Copyright 2013 DianPing, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
更多接入公司,欢迎在dianping#753登记