docker部署cat監(jiān)控系統(tǒng)

一、介紹

CAT 簡介

  • CAT 是基于 Java 開發(fā)的實時應用監(jiān)控平臺,為美團點評提供了全面的實時監(jiān)控告警服務。
  • CAT 作為服務端項目基礎組件,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端鼠证,已經在美團點評的基礎架構中間件框架(MVC框架,RPC框架靠抑,數據庫框架量九,緩存框架等,消息隊列颂碧,配置系統(tǒng)等)深度集成荠列,為美團點評各業(yè)務線提供系統(tǒng)豐富的性能指標、健康狀況载城、實時告警等肌似。
  • CAT 很大的優(yōu)勢是它是一個實時系統(tǒng),CAT 大部分系統(tǒng)是分鐘級統(tǒng)計诉瓦,但是從數據生成到服務端處理結束是秒級別川队,秒級定義是48分鐘40秒,基本上看到48分鐘38秒數據睬澡,整體報表的統(tǒng)計粒度是分鐘級固额;第二個優(yōu)勢,監(jiān)控數據是全量統(tǒng)計煞聪,客戶端預計算斗躏;鏈路數據是采樣計算。

Cat 產品價值

  • 減少故障發(fā)現時間
  • 降低故障定位成本
  • 輔助應用程序優(yōu)化

Cat 優(yōu)勢

  • 實時處理:信息的價值會隨時間銳減米绕,尤其是事故處理過程中
  • 全量數據:全量采集指標數據瑟捣,便于深度分析故障案例
  • 高可用:故障的還原與問題定位馋艺,需要高可用監(jiān)控來支撐
  • 故障容忍:故障不影響業(yè)務正常運轉栅干、對業(yè)務透明
  • 高吞吐:海量監(jiān)控數據的收集,需要高吞吐能力做保證
  • 可擴展:支持分布式捐祠、跨 IDC 部署碱鳞,橫向擴展的監(jiān)控系統(tǒng)

二、安裝

docker安裝略

1踱蛀、下載cat

地址:https://github.com/dianping/cat

# mkdir -p /data/app/cat
# cd /data/app/cat
# git clone https://github.com/dianping/cat.git

2窿给、安裝docker-compose

# wget https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64
# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose -v
docker-compose version 1.22.0, build f46880fe

3贵白、編輯Dockerfile

# cd /data/app/cat/cat/docker
# vim Dockerfile
FROM centos:centos7

USER root

#UTILITIES
RUN yum install -y wget
RUN yum install -y tar

#JAVA (OPENJDK 8)
ENV JAVA_VERSION 1.8.0

RUN yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

ENV JAVA_HOME /usr/lib/jvm/java

#TOMCAT 7
ENV CATALINA_HOME /data/app/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME


ENV TOMCAT_MAJOR_VERSION 7
ENV TOMCAT_MINOR_VERSION 7.0.96

RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \
    tar zxf apache-tomcat-*.tar.gz && \
    mv apache-tomcat-${TOMCAT_MINOR_VERSION}/* . && \
    rm -rf apache-tomcat-*

#MAVEN
ENV MAVEN_VERSION_MAJOR 3
ENV MAVEN_VERSION_MINOR 6.2

RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-${MAVEN_VERSION_MAJOR}/${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}/binaries/apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN tar xvf apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN rm apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}-bin.tar.gz
RUN mv apache-maven-${MAVEN_VERSION_MAJOR}.${MAVEN_VERSION_MINOR}  /data/app/apache-maven
ENV M2_HOME=/data/app/apache-maven
ENV M2=$M2_HOME/bin
ENV PATH=$M2:$PATH
CMD java -version && mvn -version

COPY . /root/workspace/cat
WORKDIR /root/workspace/cat

RUN set -ex && mvn clean install -DskipTests
RUN cp cat-home/target/*.war $CATALINA_HOME/webapps/cat.war
ADD docker/datasources.xml /data/appdatas/cat/datasources.xml
ADD docker/datasources.sh /datasources.sh
RUN sed -i "s/port=\"8080\"/port=\"8080\"\ URIEncoding=\"utf-8\"/g" $CATALINA_HOME/conf/server.xml

EXPOSE 8080

4、同步docker時區(qū)

# vim docker-compose.yml
在cat 和cat_mysql volumes 節(jié)點下添加
  - "/etc/localtime:/etc/localtime"


# 如
services:
  cat:
    container_name: cat

    ######## build from Dockerfile ###########
    build:
      context: ../
      dockerfile: ./docker/Dockerfile
    ######## End -> build from Dockerfile ###########

    environment:
      # if you have your own mysql, config it here, and disable the 'mysql' config blow
      - MYSQL_URL=cat-mysql # links will maintain /etc/hosts, just use 'container_name'
      - MYSQL_PORT=3306
      - MYSQL_USERNAME=root
      - MYSQL_PASSWD=
      - MYSQL_SCHEMA=cat

    working_dir: /app
    volumes:
      - "/etc/localtime:/etc/localtime"
      # 默認127.0.0.1崩泡,可以修改為自己真實的服務器集群地址
      - "./client.xml:/data/appdatas/cat/client.xml"
      # 默認使用環(huán)境變量設置禁荒。可以啟用本注解角撞,并修改為自己的配置
#      - "./datasources.xml:/data/appdatas/cat/datasources.xml"
    command: /bin/sh -c 'chmod +x /datasources.sh && /datasources.sh && catalina.sh run'
    links:
      - mysql
    depends_on:
      - mysql
    ports:
      - "8080:8080"
      - "2280:2280"

5呛伴、修改client.xml

# vim client.xml
# 修改為宿主機的ip地址
<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
    <servers>
        <server ip="192.168.4.30" port="2280" http-port="8080"/>
    </servers>
</config>

6、運行

1谒所、初始化
# docker-compose up -d
2热康、導入表結構

一次運行以后,數據庫中沒有表結構劣领,需要通過下面的命令創(chuàng)建表

# docker exec cat-mysql bash -c "mysql -uroot -Dcat < /init.sql"
3姐军、設置開機啟動、防火墻
# docker update --restart=always cat
# docker update --restart=always cat-mysql
# iptables -A INPUT -t tcp --dport 2280 -j ACCEPT
# iptables -A INPUT -t tcp --dport 8080 -j ACCEPT

7尖淘、訪問

url:http://ip:8080/cat
config:用戶:admin 密碼:admin
修改配置:紅圈修改為宿主機ip

1570695860394.png

1570695860394.png

注意:務必客戶端與服務端時區(qū)以及時間統(tǒng)一
另外還需要修改docker里面tomcat服務時區(qū)

# docker exec -it cat bash
# cd /data/app/tomcat/bin/
# vim catalina.sh
# 大概233行的樣子
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Duser.timezone=Asia/shanghai"
#加上時區(qū)運行
# docker restart cat
# docker ps
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末奕锌,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子村生,更是在濱河造成了極大的恐慌歇攻,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梆造,死亡現場離奇詭異缴守,居然都是意外死亡,警方通過查閱死者的電腦和手機镇辉,發(fā)現死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門屡穗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人忽肛,你說我怎么就攤上這事村砂。” “怎么了屹逛?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵础废,是天一觀的道長。 經常有香客問我罕模,道長评腺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任淑掌,我火速辦了婚禮蒿讥,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己芋绸,他們只是感情好媒殉,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摔敛,像睡著了一般廷蓉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上马昙,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天苦酱,我揣著相機與錄音,去河邊找鬼给猾。 笑死疫萤,一個胖子當著我的面吹牛,可吹牛的內容都是我干的敢伸。 我是一名探鬼主播扯饶,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼池颈!你這毒婦竟也來了尾序?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤躯砰,失蹤者是張志新(化名)和其女友劉穎每币,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體琢歇,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡兰怠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了李茫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揭保。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖魄宏,靈堂內的尸體忽然破棺而出秸侣,到底是詐尸還是另有隱情,我是刑警寧澤宠互,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布味榛,位于F島的核電站,受9級特大地震影響予跌,放射性物質發(fā)生泄漏搏色。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一匕得、第九天 我趴在偏房一處隱蔽的房頂上張望继榆。 院中可真熱鬧,春花似錦汁掠、人聲如沸略吨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翠忠。三九已至,卻和暖如春乞榨,著一層夾襖步出監(jiān)牢的瞬間秽之,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工吃既, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留考榨,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓鹦倚,卻偏偏與公主長得像河质,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子震叙,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348