Docker化CAT监控系统

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

Head First Web Design

Head First Web Design

Ethan Watrall、Jeff Siarto / O’Reilly Media, Inc. / 2009-01-02 / USD 49.99

Want to know how to make your pages look beautiful, communicate your message effectively, guide visitors through your website with ease, and get everything approved by the accessibility and usability ......一起来看看 《Head First Web Design》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具