Docker化CAT监控系统

栏目: 服务器 · 发布时间: 6年前

内容简介:CAT是点评开源的监控系统,可以统计到粒度非常细,而且也支持hadoop,可以应对企业应用。CAT底层使用的是MySQL,需要预先初始化数据库,而且还附带了几个配置文件,总之并不是一个war包就可以启动的。为了本地快速调试和集成,还是Docker化一下吧。为了简单起见就只准备一个单机模式的镜像。

CAT是点评开源的监控系统,可以统计到粒度非常细,而且也支持hadoop,可以应对企业应用。

CAT底层使用的是MySQL,需要预先初始化数据库,而且还附带了几个配置文件,总之并不是一个war包就可以启动的。

为了本地快速调试和集成,还是 Docker 化一下吧。为了简单起见就只准备一个单机模式的镜像。

首先是准备几个xml文件,因为是单机模式,就全部只想要127.0.0.1了。

<?xml version="1.0" encoding="utf-8"?>
 
<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd" xmlns="">
    <servers>
        <server ip="127.0.0.1" port="2280" http-port="8080"/>
    </servers>
</config>
<?xml version="1.0" encoding="utf-8"?>
 
<config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="false">
 
    <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">
        <remote-servers>127.0.0.1:8080</remote-servers>
    </console>
</config>

最关键的就是数据库的准备了,CAT仓库准备了一个 SQL 文件。我的操作是在连接数据库的时候先检查数据库是否有表,没有就先建表。之后再替换datasource配置中的文件信息

#!/usr/bin/env bash
 
RESULT=`mysqlshow -u ${DATABASE_USER} --password=${DATABASE_PASSWORD} --port 3306 --host ${DATABASE_HOST} cat | grep -v Wildcard | grep -o dailygraph`
if [ "$RESULT" != "dailygraph" ]; then
    mysql -u ${DATABASE_USER} --password=${DATABASE_PASSWORD} --port 3306 --host ${DATABASE_HOST} cat < /app/Cat.sql
    echo 'Init database from Cat.sql'
fi
 
sed -i "s/jdbcHost/$DATABASE_HOST/g" /data/appdatas/cat/datasources.xml
sed -i "s/jdbcUser/$DATABASE_USER/g" /data/appdatas/cat/datasources.xml
sed -i "s/jdbcPassword/$DATABASE_PASSWORD/g" /data/appdatas/cat/datasources.xml
 
catalina.sh run

最终的使用方法如下:

version: '3'
 
services:
  database:
    image: mysql:5
    environment:
      - MYSQL_ROOT_PASSWORD=0
      - MYSQL_DATABASE=cat
  cat:
    image: htynkn/dianping-cat
    depends_on:
      - database
    ports:
      - 8080
    environment:
      - DATABASE_USER=root
      - DATABASE_HOST=database
      - DATABASE_PASSWORD=0

如果要快速体验的话可以用PWD: http://play-with-docker.com/?stack=https://raw.githubusercontent.com/htynkn/dockerfiles/master/dianping-cat/stack.yml


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法导论

算法导论

[美] Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest、Clifford Stein / 高等教育出版社 / 2002-5 / 68.00元

《算法导论》自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。 这本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分析......一起来看看 《算法导论》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具