Centos 7部署大众点评CAT(二)——双服务器部署

在单机上部署CAT,只是在做实验,在生产环境则不可能只用单台服务器监控多个应用。

下面简单介绍一下双服务器的部署,各位有更多硬件资源作为监控服务端的朋友,如果对CAT集群有兴趣,可以参看这篇拙作。

资源准备:

服务器2台:

10.113.130.111

10.113.130.112

 数据库1台:

10.113.130.115,安装MySQL 5.7

 

1. 安装MySQL好数据库后,登录mysql,创建cat表空间

mysql> create database cat; 

执行监控系统源码/source/cat/script/Cat.sql脚本完成表结构的创建

mysql> use cat;
mysql> source /root/cat-master/script/Cat.sql;

# 事后证明不需要手动创建表结构,当执行自动安装CAT的mvn install:cat命令时,会要求咱们输入数据库连接配置信息,并创建表结构。只需要执行创建数据库和用户即可。

创建catadmin数据库及用户,登录root用户执行下面语句:

mysql> CREATE USER catadmin@'%' IDENTIFIED BY 'catadmin-1234';
mysql> GRANT ALL PRIVILEGES ON *.* TO catadmin@'%';

mysql> FLUSH PRIVILEGES;
mysql> quit;

2. MVN编译安装CAT

首先在10.113.130.111上进行解压和编译的过程,请参看前一篇,此处不赘述。

配置CAT的环境,填写数据库地址、用户名、密码:

# mvn cat:install

Please input jdbc url: [jdbc:mysql://127.0.0.1:3306]
jdbc:mysql://10.113.130.115:3306

Please input username:
catadmin

Please input password:[]
catadmin-1234

耐心等待安装完成。

3. 修改配置文件

修改/data/appdatas/cat/目录下的配置文件,稍后拷贝文件到10.113.130.112上,两台服务器的配置文件要完全一样。

 - Server.xml

<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">
                <hdfs id="logview" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="logview"/>
                <hdfs id="dump" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="dump"/>
                <hdfs id="remote" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="remote"/>
        </storage>
 
        <console default-domain="Cat" show-cat-domain="true">
                <remote-servers>10.113.130.111:8080,10.113.130.112:8080</remote-servers>
        </console>

        <ldap ldapUrl="ldap://10.113.130.111:389/DC=dianpingoa,DC=com"/>

</config>

注意几处:

1)local-mode="false":表示运行在多节点服务器环境。

2)hdfs-machine="false":没有开启HDFS存储,下方HDFS的配置内容不会生效 、于是我没有修改;CAT将收集到的信息保存在本地文件的系统。各位根据实际情况来配置。

 

 - Client.xml

<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
        <servers>
        <!-- Local mode for development -->
        <!-- <server ip="127.0.0.1" port="2280" http-port="8080" /> -->

        <!-- If under production environment, put actual server address as list. -->
          <server ip="10.113.130.111" port="2280" http-port="8080" />
          <server ip="10.113.130.112" port="2280" />
    </servers> 
</config>

这里将多台服务器的地址添加到列表,如果不需要从浏览器访问,则不用配置http-port。

 像本案的配置,理论上只能通过http://10.113.130.111:8080/cat/来访问,另一台服务器的地址无法显示。

 

4. 部署到Tomcat

如同前一篇的操作,需要完成:

 - 将cat-alpha-1.4.0.war文件拷贝到Tomcat的对应目录下;

确认配置文件无误,即可启动Tomcat,从浏览器*问集群。

 

而在第二台Server上完成CAT部署到Tomcat的操作,是完全一致的。

而且在第二台服务器上,并不需要重新下载、编译,只需要完成:

 - 复制第一台服务器上的cat-alpha-1.4.0.war到tomcat/webapps/目录、并更名为cat.war;

 - 复制第一台服务器上的/data/目录下所有的配置文件、上传到一致的路径下,即可。

 

在应用服务器上部署CAT:

可能有的初学者要问了,部署完了CAT的监控中心,需要监控的应用端应该如何操作呢?

其实很简单,步骤就和第二台服务器上的操作完全一致,唯一需要修改的是server.xml中的:

job-machine="false"

保存配置文件后,重启应用服务器上的Tomcat。CAT运行之后,会自动连接Server列表中的服务器。

写在最后:

在完成搭建之前,参阅了网上很多篇安装部署的文章,很感谢,但同时对比较旧的信息有一些遗憾。

经过几天的折腾,分别使用了以下的组件进行部署:

 - CAT:1.4.0

 - JDK:1.7_80,1.8_131_x64,1.8_131_x86

 - Tomcat:7,8,8.5,9

并没有遇到需要更换JDK到1.7才能编译、执行的错误。

而且在JDK 1.8_131_x64环境编译的cat.war,拷贝到JDK 1.7_60、Tomcat 7的应用服务器上,同样能在CAT的页面上正常显示系统信息。

上一篇:我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。


下一篇:黑客利用“我是查理”运动传播恶意软件