监控系统cat安装和配置demo ubuntu 14.04
(1) 配置jdk安裝環(huán)境
需要jdk1.7_79以下的jdk版本,以上的不兼容。我以前本地的是jdk1.7_80 ,編譯好后,放到tomcat下不行。
edit 2016.12.29
(最新的1.4.0的cat已經(jīng)可以用jdk8編譯了,應(yīng)該jdk版本的bug已經(jīng)修復(fù),可以不用依賴jdk1.7_79 以下的版本)
jdk環(huán)境安裝的過程如下:
1:獲得jdk1.7.67
解壓
>tar -xvf jdk-7u67-linux-x64.tar.gz2:配置環(huán)境變量
>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.gzba3:配置環(huán)境變量
>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/profile4:查看maven版本號(hào)
>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 git2:查看git版本
>git --version git version 1.9.1(4)安裝mysql
tips: 如果有mysql的可以跳過這一步
請(qǐng)參考我的另外一篇文章 ubuntu 14.04 安裝 mysql 5.6 :http://blog.csdn.net/chenpy/article/details/50344085
在此就不多說了。
當(dāng)然如果想圖方便,可以在本機(jī)先安裝個(gè)mysql的服務(wù)端
輸入mysql的root的密碼
root
如果你是centos
安裝命令如下
刪除所有的內(nèi)容,添加如下內(nèi)容
http://blog.csdn.net/chenpy/article/details/51556673
(5)下載最新的cat源碼,并編譯,發(fā)布
>mkdir git >cd git >git clone https://github.com/dianping/cat.git等待下載完畢
cat依賴的jar包有些事墻外的,因此需要把cat依賴的jar包安裝到本地倉庫
下載分支:mvn-repo
其實(shí)下載的是一個(gè)壓縮包
>mv mvn-repo mvn-repo.zip 解壓 >unzip ./mvn-repo.zip>cd cat-mvn-repo/ 把里面的文件復(fù)制到本地倉庫 cp -r ./com/ ~/.m2/repository/ cp -r ./org/ ~/.m2/repository/ 如發(fā)現(xiàn)沒有maven的目錄,請(qǐng)創(chuàng)建之。 如果發(fā)現(xiàn)本地倉庫有這些文件夾,請(qǐng)強(qiáng)制覆蓋 利用管道符: >yes | cp -fr ./org/ ~/.m2/repository/復(fù)制完畢后就可以編譯cat了
>mvn clean install -DskipTests完畢后請(qǐng)安裝:cat
>mvn cat:install如果發(fā)現(xiàn)安裝出錯(cuò),可能是沒有/data 目錄的權(quán)限。
請(qǐng)修改data目錄的權(quán)限
>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
進(jìn)入 /data/appdatas/cat/ 目錄
<1>檢查并修改client.xml
如果該目錄下沒有, 則拷貝 cat/script 目錄下的client.xml 到該目錄下
Mode默認(rèn)為client不需要修改
servers標(biāo)簽 里面的 server 標(biāo)簽 里面的ip需要修改為你服務(wù)端的ip,端口也是要修改為服務(wù)端的端口,默認(rèn)是2280,http-port 是tomcat端口,
如果是默認(rèn)的tomcat則是8080
<2>檢查并修改 datasources.xml
如果能正確的執(zhí)行 mvn cat:install 命令,則這里的數(shù)據(jù)源的配置都是正確的,不需要修改
如下是正確的配置截圖
配置完畢后,查看是否在數(shù)據(jù)庫中已經(jīng)建立了cat的數(shù)據(jù)庫,如果沒有建立,請(qǐng)執(zhí)行 script 文件夾里面的cat.sql手動(dòng)建庫
<3> 配置server.xml
Local-mode :為本地模式,設(shè)置為false,否則將不會(huì)使用數(shù)據(jù)庫和hdfs存儲(chǔ)
Hdfs-machine: 是否啟用hdfs存儲(chǔ),設(shè)為false
Job-machine:當(dāng)前服務(wù)為報(bào)告工作機(jī),當(dāng)有多臺(tái)服務(wù)器時(shí),開啟一臺(tái)即可
Alert-machine :定義為報(bào)警機(jī),同樣開啟一臺(tái)即可,如沒有一臺(tái)開啟,告警功能將不能夠正常使用。
Storage :定義數(shù)據(jù)存儲(chǔ)相關(guān)信息,這里定義了本地目錄/data/appdatas/cat/buket/為存儲(chǔ)目錄,本地報(bào)告及本地日志保存時(shí)間均為7天。
Console:控制臺(tái)信息,定義默認(rèn)的domain為Cat(每個(gè)cat應(yīng)用要求都需要有一個(gè)domain,Cat本身的domain為Cat),并顯示cat的domain
Remote-servers:定義http服務(wù)列表,我這里就一臺(tái)機(jī)器 192.168.1.203
(7):啟動(dòng)cat服務(wù),并配置客戶端路由
進(jìn)入tomcat的bin目錄,啟動(dòng)tomcat
進(jìn)入http://192.168.1.203:8080/cat
如果發(fā)現(xiàn)如下界面,說明啟動(dòng)成功
點(diǎn)擊紅色的 “配置”按鈕
輸入:catadmin catadmin
進(jìn)入 全局告警配置 -》 客戶端路由
到此為止,服務(wù)端已經(jīng)配置完畢。
(8) 客戶端配置
也就是本機(jī)要做demo的配置
注意:本工程是web工程
新建demo的maven工程
主要的配置如下:
8.1:配置基礎(chǔ)的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依賴發(fā)現(xiàn)沒有加載到j(luò)ar包,
說明你本地倉庫里面沒有cat的包。
需要安裝cat到本地倉庫
具體方法和安裝服務(wù)端一樣
下載分支:mvn-repo, 安裝cat依賴到本地倉庫
執(zhí)行maven命令安裝
mvn clean install -DskipTests8.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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://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相關(guān)
在src/main/resources 包下
新建 META-INF 文件夾
在此文件夾中新建 app.properties文件 ,里面內(nèi)容如下 :
app.name=demo
在META-INF文件夾中,新建cat文件夾,
然后在cat文件夾中,新建client.xml ,里面內(nèi)容如下:
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 {// 請(qǐng)求-頁面渲染前Transaction pt = pageLocal.get();pt.setStatus(Transaction.SUCCESS);pt.complete();// 總計(jì)Transaction t = tranLocal.get();t.setStatus(Transaction.SUCCESS);t.complete();}}8.6 配置cat的client
進(jìn)入cd /data/appdatas/cat/ 目錄,我本機(jī)是mac系統(tǒng),就直接進(jìn)入的這個(gè)目錄,如果你是windows系統(tǒng),
請(qǐng)進(jìn)入和eclipse同級(jí)的同目錄下。例如,你的eclipse是d盤,則在d盤的 /data/appdatas/cat/
編寫client.xml
然后啟動(dòng)項(xiàng)目,隨便訪問一下鏈接,
進(jìn)入cat的服務(wù)端,你就會(huì)看到,你的demo項(xiàng)目的東西
tips:要點(diǎn)擊搜索欄旁邊的全部和常用,要不,你發(fā)現(xiàn)不了你自定義的domain,我當(dāng)時(shí)就是沒有點(diǎn)擊這個(gè),查問題查了一上午。其實(shí)已經(jīng)
成功了,就是沒有點(diǎn)擊這個(gè)按鈕。
下面是我做的demo的源碼包。
http://download.csdn.net/download/chenpy/9537955
有些網(wǎng)友發(fā)現(xiàn)demo工程里面沒有mainclass,
回答:這是個(gè)web工程,沒有主類。請(qǐng)?jiān)趖omcat中運(yùn)行。
簡(jiǎn)單的demo做完了,下一篇文章是深入學(xué)習(xí)cat。并加入到項(xiàng)目中。
如果文章中有問題,或者你安裝配置中出現(xiàn)了問題,請(qǐng)聯(lián)系本人QQ:397352642。
謝謝 ~~~~
總結(jié)
以上是生活随笔為你收集整理的监控系统cat安装和配置demo ubuntu 14.04的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lterator的初体验
- 下一篇: 用MATLAB画圣诞树的源代码