关闭

监控系统cat安装和配置demo ubuntu 14.04

标签: cat-democat
10712人阅读 评论(5) 收藏 举报
分类:

(1) 配置jdk安装环境

需要jdk1.7_79以下的jdk版本,以上的不兼容。我以前本地的是jdk1.7_80 ,编译好后,放到tomcat下不行。
edit 2016.12.29
(最新的1.4.0的cat已经可以用jdk8编译了,应该jdk版本的bug已经修复,可以不用依赖jdk1.7_79 以下的版本)

jdk环境安装的过程如下:
1:获得jdk1.7.67

>wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz

解压

>tar -xvf jdk-7u67-linux-x64.tar.gz

2:配置环境变量

>vi /etc/profile

在最后一行添加你的jdk的安装目录

export JAVA_HOME=/home/k12ct/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH

保存退出,并使载入最新配置

source /etc/profile

查看jdk版本

>java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

(2):安装maven

2.1:下载maven包

wget http://apache.fayea.com/apache-mirror/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz

2:解压

>tar -xvf  apache-maven-3.2.3-bin.tar.gzba

3:配置环境变量

>vi /etc/profile
在最后一行添加你的maven的安装目录
export M2_HOME="/home/k12ct/apache-maven-3.2.5"
export M2="$M2_HOME/bin"
export PATH="$M2:$PATH"

保存退出,并使载入最新配置

>source /etc/profile

4:查看maven版本号

>mvn -v
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
Maven home: /home/k12ct/apache-maven-3.2.5
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /home/k12ct/jdk1.7.0_67/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-25-generic", arch: "amd64", family: "unix"

(3)安装git

1:安装

>sudo apt-get install git

2:查看git版本

>git --version
git version 1.9.1

(4)安装mysql

tips: 如果有mysql的可以跳过这一步

请参考我的另外一篇文章 ubuntu 14.04 安装 mysql 5.6 :http://blog.csdn.net/chenpy/article/details/50344085

在此就不多说了。
当然如果想图方便,可以在本机先安装个mysql的服务端

>sudo apt-get install mysql-server

输入mysql的root的密码
root

如果你是centos
安装命令如下

>yum -y install mysql-server
>/etc/rc.d/init.d/mysqld restart
>/usr/bin/mysqladmin -u root password ‘root'
>cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

删除所有的内容,添加如下内容
http://blog.csdn.net/chenpy/article/details/51556673

(5)下载最新的cat源码,并编译,发布

>mkdir git
>cd git
>git clone https://github.com/dianping/cat.git

等待下载完毕

cat依赖的jar包有些事墙外的,因此需要把cat依赖的jar包安装到本地仓库
下载分支:mvn-repo
这里写图片描述

>wget https://codeload.github.com/dianping/cat/zip/mvn-repo

其实下载的是一个压缩包

>mv mvn-repo mvn-repo.zip
解压
>unzip ./mvn-repo.zip

>cd cat-mvn-repo/
把里面的文件复制到本地仓库
cp  -r ./com/ ~/.m2/repository/
cp  -r ./org/ ~/.m2/repository/
如发现没有maven的目录,请创建之。
如果发现本地仓库有这些文件夹,请强制覆盖
利用管道符:
>yes | cp -fr ./org/ ~/.m2/repository/

复制完毕后就可以编译cat了

>mvn clean install -DskipTests

完毕后请安装:cat

>mvn cat:install

如果发现安装出错,可能是没有/data 目录的权限。

请修改data目录的权限

>cd /data/
>chmod -R 777 ./appdatas/
>chmod -R 777 ./applogs/

重新安装

>mvn cat:install

安装需要输入mysql的配置
按照提示输入:
1:jdbc:xxx:ip:3306
root
root
就可以

(6)配置cat

下载tomcat7

>wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz
>tar -xvf apache-tomcat-7.0.69.tar.gz

把在cat-home/target/里面打包好的cat-alpha-1.3.6.war 放到tomcat 的webapp中,并改名为cat.war
进入 /data/appdatas/cat/ 目录

<1>检查并修改client.xml

如果该目录下没有, 则拷贝 cat/script 目录下的client.xml 到该目录下

这里写图片描述

Mode默认为client不需要修改
servers标签 里面的 server 标签 里面的ip需要修改为你服务端的ip,端口也是要修改为服务端的端口,默认是2280,http-port 是tomcat端口,
如果是默认的tomcat则是8080

<2>检查并修改 datasources.xml

如果能正确的执行 mvn cat:install 命令,则这里的数据源的配置都是正确的,不需要修改
如下是正确的配置截图
这里写图片描述

配置完毕后,查看是否在数据库中已经建立了cat的数据库,如果没有建立,请执行 script 文件夹里面的cat.sql手动建库

<3> 配置server.xml

这里写图片描述
Local-mode :为本地模式,设置为false,否则将不会使用数据库和hdfs存储
Hdfs-machine: 是否启用hdfs存储,设为false
Job-machine:当前服务为报告工作机,当有多台服务器时,开启一台即可
Alert-machine :定义为报警机,同样开启一台即可,如没有一台开启,告警功能将不能够正常使用。
Storage :定义数据存储相关信息,这里定义了本地目录/data/appdatas/cat/buket/为存储目录,本地报告及本地日志保存时间均为7天。
Console:控制台信息,定义默认的domain为Cat(每个cat应用要求都需要有一个domain,Cat本身的domain为Cat),并显示cat的domain
Remote-servers:定义http服务列表,我这里就一台机器 192.168.1.203

(7):启动cat服务,并配置客户端路由

进入tomcat的bin目录,启动tomcat
进入http://192.168.1.203:8080/cat
如果发现如下界面,说明启动成功
这里写图片描述

点击红色的 “配置”按钮
输入:catadmin catadmin

进入 全局告警配置 -》 客户端路由
这里写图片描述
到此为止,服务端已经配置完毕。

(8) 客户端配置

也就是本机要做demo的配置
注意:本工程是web工程

新建demo的maven工程
主要的配置如下:

8.1:配置基础的pom.xml文件

主要的依赖

        <dependency>
            <groupId>com.dianping.cat</groupId>
            <artifactId>cat-core</artifactId>
            <version>1.3.6</version>
        </dependency>

        <!-- spring mvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.0.9.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.0.9.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.0.9.RELEASE</version>
        </dependency>

        <!-- jsp -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- jsp -->

如果添加cat core依赖发现没有加载到jar包,
说明你本地仓库里面没有cat的包。
需要安装cat到本地仓库
具体方法和安装服务端一样

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

下载分支:mvn-repo, 安装cat依赖到本地仓库
这里写图片描述

执行maven命令安装

mvn clean install -DskipTests

8.2:配置spring-mvc

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">

<!-- scan the package and the sub package -->
<context:component-scan base-package="com.k12ct.demo" />

<!-- don't handle the static resource -->
<mvc:default-servlet-handler />

<!-- if you use annotation you must configure following setting -->
<mvc:annotation-driven />

<!-- configure the InternalResourceViewResolver -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"

id="internalResourceViewResolver">

<!-- 前缀 -->

<property name="prefix" value="/WEB-INF/jsp/" />

<!-- 后缀 -->

<property name="suffix" value=".jsp" />

</bean>

<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>

<mvc:mapping path="/**" />


<bean class="com.k12ct.demo.CatInterceptor"></bean>


</mvc:interceptor>

</mvc:interceptors>

</beans>

8.3 配置web.xml

<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>class-service</display-name>

<servlet>
<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>


<param-value>classpath:spring-mvc.xml</param-value>


</init-param>

<!-- <load-on-startup>1</load-on-startup> -->

</servlet>

<servlet-mapping>
<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>



</web-app>

8.4 配置cat相关

在src/main/resources 包下
新建 META-INF 文件夹
在此文件夹中新建 app.properties文件 ,里面内容如下 :
app.name=demo

在META-INF文件夹中,新建cat文件夹,
然后在cat文件夹中,新建client.xml ,里面内容如下:

<config mode="client">
<domain id="demo" />
</config>

8.5 配置编写springmvc的拦截器。

public class CatInterceptor implements HandlerInterceptor {

private ThreadLocal<Transaction> tranLocal = new ThreadLocal<Transaction>();
private ThreadLocal<Transaction> pageLocal = new ThreadLocal<Transaction>();

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {


String uri = request.getRequestURI();

Transaction t = Cat.newTransaction("URL", uri);

Cat.logEvent("URL.Method", request.getMethod(), Message.SUCCESS, request.getRequestURL().toString());

Cat.logEvent("URL.Host", request.getMethod(), Message.SUCCESS, request.getRemoteHost());

tranLocal.set(t);

return true;

}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {



String viewName = modelAndView != null ? modelAndView.getViewName() : "无";

Transaction t = Cat.newTransaction("View", viewName);

pageLocal.set(t);

}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {


// 请求-页面渲染前

Transaction pt = pageLocal.get();

pt.setStatus(Transaction.SUCCESS);

pt.complete();


// 总计

Transaction t = tranLocal.get();

t.setStatus(Transaction.SUCCESS);

t.complete();


}

}

8.6 配置cat的client

进入cd /data/appdatas/cat/ 目录,我本机是mac系统,就直接进入的这个目录,如果你是windows系统,
请进入和eclipse同级的同目录下。例如,你的eclipse是d盘,则在d盘的 /data/appdatas/cat/

编写client.xml
这里写图片描述
然后启动项目,随便访问一下链接,

进入cat的服务端,你就会看到,你的demo项目的东西
这里写图片描述
tips:要点击搜索栏旁边的全部和常用,要不,你发现不了你自定义的domain,我当时就是没有点击这个,查问题查了一上午。其实已经
成功了,就是没有点击这个按钮。
这里写图片描述

下面是我做的demo的源码包。
http://download.csdn.net/download/chenpy/9537955

有些网友发现demo工程里面没有mainclass,
回答:这是个web工程,没有主类。请在tomcat中运行。

简单的demo做完了,下一篇文章是深入学习cat。并加入到项目中。
如果文章中有问题,或者你安装配置中出现了问题,请联系本人QQ:397352642。
谢谢 ~~~~

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:317311次
    • 积分:3445
    • 等级:
    • 排名:第9661名
    • 原创:90篇
    • 转载:24篇
    • 译文:0篇
    • 评论:32条
    最新评论