1. 程式人生 > >點評CAT 安裝手冊

點評CAT 安裝手冊

CAT 安裝部署:

      

      下文將一步步介紹如何安裝服務端、如何接入客戶端、如何檢視一些監控指標

     

      首先,準備安裝環境

       

       1.確保待安裝環境已經安裝了jdk(1.6,1.7版本)、git、maven(maven 版本需要在 3.2.3以上)mysql、web容器 tomcat,這裡不再贅述

       2.下載cat原始碼:https://github.com/dianping/cat.git,並匯入到eclipse(

匯入過程中可能會遇到一些問題,可以不必在此糾結,繼續下一步

       3.下載master打包後的包,https://github.com/dianping/cat/archive/master.zip,並解壓到本地

       

       其次,安裝服務端

       

        1.打war包:進入到解壓後的 原始碼資料夾,執行maven打包命令: 

[java]
  view plain  copy
  1. mvn clean install -DskipTests  
           PS:打包過程中會在原始碼所在碟符建立 data/appdatas/cat 目錄,所以確保當前使用者擁有讀寫許可權

 

       2. 部署war包:當執行完打包命令,會在每個子模組中,生成打包後的檔案

       

[java]  view plain  copy
  1. * cat-home.war : 服務端元件,負責收集監控資訊,分析處理生成報告、作出警告(<span style="margin: 0px; padding: 0px; list-style: none outside none; word-break: normal; word-wrap: break-word; font-size: 18px; line-height: 27px;">需要的服務端war包</span>)  
  2. * cat-agent.war : 監控端元件,負責收集被監控端資訊,並上傳監控資訊到服務端  
  3. * cat-client.jar : 客戶端元件,負責與服務端進行連線通訊,  
  4. * cat-core.jar : 核心處理元件,負責具體的與客戶端通訊服務,解析資料、輸出報告  
  5. * cat-consumer.jar : 消費處理元件,負責實際的監控資料分析,處理工作  
  6. * cat-hadoop.jar : HDFS儲存元件  
  7. * broker-service.war : 監控服務代理元件  
        將cat-home.war重新命名為cat.war後複製到tomcat 容器webapps目錄下,然後啟動容器,至此服務端已安裝完畢,在瀏覽器中輸入 http://127.0.0.1:8341/cat/r/ 看到下圖,表示安裝成功

 



 

         

       接著,客戶端接入

     

       1.待監控專案pom檔案加入依賴

        

[xml]  view plain  copy
  1.  <dependency>  
  2.      <groupId>com.dianping.cat</groupId>  
  3.      <artifactId>cat-core</artifactId>     
  4.      <version>1.3.6</version>  
  5. </dependency>  
       2. 待監控專案 web.xml 中引入cat 過濾器

 

    

[xml]  view plain  copy
  1. <filter>  
  2.       <filter-name>cat-filter</filter-name>  
  3.       <filter-class>com.dianping.cat.servlet.CatFilter</filter-class>  
  4.   </filter>  
  5.   <filter-mapping>  
  6.       <filter-name>cat-filter</filter-name>  
  7.       <url-pattern>/*</url-pattern>  
  8.       <dispatcher>REQUEST</dispatcher>  
  9.       <dispatcher>FORWARD</dispatcher>  
  10.   </filter-mapping>  
     3.引入配置檔案:在src/main/resources/META-INF下建立app.properties或cat/client.xml

 

  

  

       app.properties 加入一行app.name=專案名(即domain)

 

     3.加入監控邏輯

 

[java]  view plain  copy
  1.  @RequestMapping("index")  
  2.  public ModelAndView index(HttpServletRequest request, HttpServletResponse response){  
  3. Transaction t = Cat.getProducer().newTransaction("your transaction type""your transaction name");  
  4.     try {  
  5.                     System.out.println("debug...");  
  6.                     Cat.getProducer().logEvent("your event type""your event name", Event.SUCCESS, "keyValuePairs");  
  7.                     t.setStatus(Transaction.SUCCESS);  
  8.          } catch (Exception e) {  
  9.                 Cat.getProducer().logError(e);//用log4j記錄系統異常,以便在Logview中看到此資訊  
  10.                 t.setStatus(e);  
  11.                // throw e;   
  12.                     /*  (CAT所有的API都可以單獨使用,也可以組合使用,比如Transaction中巢狀Event或者Metric。) 
  13.                       (注意如果這裡希望異常繼續向上拋,需要繼續向上丟擲,往往需要丟擲異常,讓上層應用知道。) 
  14.                       (如果認為這個異常在這邊可以被吃掉,則不需要在丟擲異常。)*/  
  15.          } finally {  
  16.                t.complete();  
  17.          }  
  18.       
  19.      return new ModelAndView("main");  
  20.  }  
 

 

     4.重啟待監控專案,並訪問一個專案的頁面,同時進入監控平臺(預設使用者catadmin/catadmin)http://127.0.0.1:8341/cat/r/,這時我們會發現,下圖中有了資料(profit為專案名)