CAT监控以及依赖MySQL,tomcat和JDK安装

Posted 深度Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAT监控以及依赖MySQL,tomcat和JDK安装相关的知识,希望对你有一定的参考价值。

CAT 简介

  • CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
  • CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
  • CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。

CAT官方参考文档:

HOME · dianping/cat Wiki · GitHub

CAT的服务端安装参考文档:

readme_server · dianping/cat Wiki · GitHub

下面是单机安装CAT以及他需要依赖的JDK,tomcat,mysql

一.JDK安装

参考:Linux环境安装卸载JDK以及安装Tomcat和发布Java的web程序_unix21的博客-CSDN博客 

下面是jdk-8u221安装,下载好jdk以后

解压

#tar zxvf ./jdk-8u221-linux-x64.tar.gz -C /usr/lib/jdk
#cd ./jdk/jdk1.8.0_221

设置环境变量

打开/etc/profile文件
#vim /etc/profile

export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_221
export JRE_HOME=/usr/lib/jdk/jdk1.8.0_221/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

#source /etc/profile

验证JDK安装完成

#java -version

 

二.tomcat安装

下载tomcat(https://tomcat.apache.org/download-80.cgi)
#wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz
#cd /usr/local/
#mkdir tomcat
#tar -zxvf apache-tomcat-8.5.82.tar.gz
#cd  ./apache-tomcat-8.5.82/bin
#./startup.sh

启动
#/usr/local/tomcat/apache-tomcat-8.5.82/bin/startup.sh

测试
http://localhost:8080/

#重启tomcat服务需要先关闭再启动就行
#/usr/local/tomcat/apache-tomcat-8.5.82/bin/shutdown.sh 

三.安装MySQL  

下载MySQL :: Download MySQL Community Server (Archived Versions)

 

#tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:
#groups mysql
添加用户组和用户
#groupadd mysql && useradd -r -g mysql mysql

创建数据目录并赋予权限
#mkdir -p /data/mysql
#chown mysql:mysql -R /data/mysql

修改配置文件  vim /etc/my.cnf (没有就新建)

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.35
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
max_allowed_packet = 1024M

注意max_allowed_packet默认很小只有4M需要改大一点,我这是已经安装好之后查出来的。

改之后的:


#mv /usr/local/mysql/mysql-5.7.35 /usr/local/mysql-5.7.35

#cd /usr/local/mysql-5.7.35/bin/
#./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.35/ --datadir=/data/mysql/ --user=mysql --initialize

查看初始密码
#cat /data/mysql/mysql.err
 A temporary password is generated for root@localhost: ccGoWk*/l2NO
 
启动mysql
#cp /usr/local/mysql-5.7.35/support-files/mysql.server /etc/init.d/mysql
#service mysql start
#service mysql restart
----
log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
没有找到日志文件,在相应的目录下创建日志文件后,赋予相应的权限
#mkdir /var/log/mariadb/
#vi /var/log/mariadb/mariadb.log
#chown -R mysql.mysql /var/log/mariadb/mariadb.log
----

登陆
#/usr/local/mysql-5.7.35/bin/mysql -u root -p

第一次需要设置数据库的密码 ,把原始的数据库密码更改一下

更改密码的方法:

mysql> SET PASSWORD = PASSWORD('你的密码'); 这句话重新设置一次密码!

刷新规则允许外部访问
>use mysql      #选择访问mysql库
>update user set host = '%' where user = 'root';      #使root能再任何host访问
>FLUSH PRIVILEGES;       #刷新

退出
#quit

重启服务    
#service mysql restart

用户权限之创建新用户并给授权指定的数据库权限
创建mysql新用户
CREATE USER 'test'@'%' IDENTIFIED BY '123';
备注上面@后的命令解释

'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问
3.给用户授予权限
grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";
备注

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
数据库表 所有的 用*
 

 四.安装CAT

基本参考这个就行,readme_server · dianping/cat Wiki · GitHub

但是这里是集群部署,而且有些地方不注意会浪费时间。

#mkdir /data
#chmod -R 777 /data
#mkdir -p /data/appdatas/cat

#cd /data/appdatas/cat

在/data/appdatas/cat/目录下创建配置文件,client.xml,datasources.xml,server.xml这三个

server.xml可以不用,会用默认文件,如果你要安装HDFS存报表需要。 

#touch client.xml
#touch datasources.xml
#touch server.xml

client.xml

<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
    <servers>
        <server ip="你的内网IP" 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://你的数据库IP:3306/cat]]></url>  <!-- 请替换为真实数据库URL及Port  -->
			<user>root</user>  <!-- 请替换为真实数据库用户名  -->
			<password>你的密码</password>  <!-- 请替换为真实数据库密码  -->
			<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
		</properties>
	</data-source>
</data-sources>

 下载war包部署是最简单的,也可以自己安装包编译。

 下载3.1.0即可:

Releases · dianping/cat · GitHub

Release V3.1.0 · dianping/cat · GitHub

直接下载也行:

https://github.com/dianping/cat/releases/download/3.1.0/cat-home.war

下载好以后改为cat.war。

数据库脚本
https://github.com/dianping/cat/blob/3.1.0/script/CatApplication.sql
https://raw.githubusercontent.com/dianping/cat/3.1.0/script/CatApplication.sql

需要在MySQL建立一个cat的空数据库,然后导入脚本即可。 

将cat.war放入tomcat的webapps:

重启tomcat即可,如果一起都对会出现CAT的页面,如果有哪里不对需要和前面仔细检查,特别是数据库连接和用户名密码不能错。

提示出问题的服务端需要修改配置。 

 修改配置:

http://localhost:8080/cat/s/config?op=serverConfigUpdate
http://localhost:8080/cat/s/config?op=routerConfigUpdate

配置里127.0.0.1的IP 要改为实际内网IP,重启tomcat

这次提示CAT服务端正常了。

五.程序接入CAT客户端

cat/README.zh-CN.md at master · dianping/cat · GitHub

maven配置: 

        <dependency>
            <groupId>com.dianping.cat</groupId>
            <artifactId>cat-client</artifactId>
            <version>3.1.0</version>
        </dependency>

 如果是windows那么需要配置程序所在的盘的根目录下,例如D盘D:\\data\\appdatas\\cat放置client.xml,关于client.xml在前面安装CAT部分已经有。

以上是关于CAT监控以及依赖MySQL,tomcat和JDK安装的主要内容,如果未能解决你的问题,请参考以下文章

CAT监控以及依赖MySQL,tomcat和JDK安装

监控系统cat安装和配置demo ubuntu 14.04

docker的安装以及jdk和tomcat的环境配置

CentOS下yum安装mysql,jdk以及tomcat

linux下安装jdk,tomcat以及mysql

centos搭建LNMP+LAMP环境+(jdk+tomcat+mysql)