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安装的主要内容,如果未能解决你的问题,请参考以下文章