監控-Cat項目部署

1、Cat的項目背景java

  CAT(Central Application Tracking),是美團點評基於 Java 開發的一套開源的分佈式實時監控系統。美團點評基礎架構部但願在基礎存儲、高性能通訊、大規模在線訪問、服務治理、實時監控、容器化及集羣智能調度等領域提供業界領先的、統一的解決方案,CAT 目前在美團點評的產品定位是應用層的統一監控組件,在中間件(RPC、數據庫、緩存、MQ 等)框架中獲得普遍應用,爲各業務線提供系統的性能指標、健康情況、實時告警等服務。mysql

  Gthub連接:https://github.com/dianping/cat/blob/master/README.mdgit

2、Cat集羣部署github

  1,需求  web

    1.1  服務機器需求:3臺。(172.17.16.27,172.17.16.25,172.17.16.19)使用的是內網地址,其中172.17.16.27爲主服務端。sql

         1.2  服務需求:Centos 7,jdk1.8,Tomcat,Mysql 5.6+。其中Mysql部署一個便可。數據庫

    1.3  軟件包下載:apache

        git clone https://github.com/dianping/cat.git瀏覽器

        wget http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/3.0.0/cat-home-3.0.0.war緩存

        其中下載下來後,cat-home-3.0.0.war是cat的項目包,cat爲配置文件包

  2,配置

    2.0  配置cat環境變量(紅色區域爲本身設置區域,根據服務器內存設置,建議生產10G+,其餘2G+)

      export CAT_HOME=/data/appdatas/cat/

                     CATALINA_OPTS="$CATALINA_OPTS -server -DCAT_HOME=$CAT_HOME -Djava.awt.headless=true -Xms25G -Xmx25G -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewSize=10144m -XX:MaxNewSize=10144m -XX:SurvivorRatio=10 -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=13 -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+ScavengeBeforeFullGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:-ReduceInitialCardMarks -XX:+CMSPermGenSweepingEnabled -XX:CMSInitiatingPermOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrent -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="$CATALINA_HOME\conf\logging.properties" -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -Xloggc:/data/applogs/heap_trace.txt -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/applogs/HeapDumpOnOutOfMemoryError -Djava.util.Arrays.useLegacyMergeSort=true"

    2.1  建立/data目錄(3臺都要)

      mkdir /data/{appdatas,applogs} -p 

      mkdir /data/appdatas/cat -p

      其中/data/appdatas/cat爲cat項目的配置目錄

      須要在/data/appdatas/cat目錄下建立3個配置文件(服務端配置文件server.xml,客戶端配置文件client.xml,數據庫配置文件datasources.xml)

      【注意:】咱們的3個服務端配置,客戶端配置文件和數據庫配置文件一致,服務端配置文件不一樣

      client.xml文件內容:

        <?xml version="1.0" encoding="utf-8"?>

                            <config mode="client">

                            <servers>
                            <server ip="172.17.16.109" port="2280" http-port="8080"/>
                            <server ip="172.17.16.85" port="2280" http-port="8080"/>
                            <server ip="172.17.16.32" port="2280" http-port="8080"/>
                            </servers>
                            </config>

      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://172.17.16.51:3306/cat]]></url> <!-- 請替換爲真實數據庫URL及Port -->
                               <user>xxxxxx</user> <!-- 請替換爲真實數據庫用戶名 -->
                               <password>xxxxxxxxxxxxxxxxxxxx</password> <!-- 請替換爲真實數據庫密碼 -->
                               <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
                               </properties>
                               </data-source>
                               </data-sources>

      主server的配置文件爲:【主要是job-machine和alert-machine的不一樣,主爲true,其他兩個爲false便可】       

                              <?xml version="1.0" encoding="utf-8"?>
                              <!-- Configuration for development environment-->
                              <config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="true">
                              <storage local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="7" local-logivew-storage-time="7">
                              </storage>
                              <console default-domain="Cat" show-cat-domain="true">
                              <!--將172.16.90.114修改成部署CAT的內網IP,請不要寫127.0.0.1和外網IP -->
                              <remote-servers>172.17.16.109:8080,172.17.16.85:8080,172.17.16.32:8080</remote-servers>
                              </console>
                              </config>

    2.2 受權目錄(3臺都要)

      chmod 777 -R /data

    2.3 導入sql

      將/cat/script/CatApplication.sql導入數據庫便可,須要建立cat庫

    2.4 啓動服務

      將cat-home-3.0.0.war更名爲cat.war,以後移動到tomcat/webapps/下

      sh tomcat/bin/startup.sh   啓動便可

    2.5 訪問服務

      瀏覽器輸入server.xml中job-machine和alert-machine爲true那臺服務器的公網即x.x.x.x:8080/cat,用戶名密碼admin

  3,配置路由

    3.1  服務端路由配置

      

 

 

      3.2 客戶端路由配置

    

 

 

  

 

    3.3 查看狀態

 

      

 

   4,客戶端集成

    建立/data/appdatas/cat目錄,以後將服務端的client.xml文件放到這個目錄底下便可,以後chmod 777 -R /data

  【注意:】客戶端路由或其餘服務端配置文件修改,重啓cat

相關文章
相關標籤/搜索