2.Tomcat多站点目录级监控

使用maven编译java项目,测试

1:安装maven,二进制

下载maven

wget http://192.168.13.120/191118/apache-maven-3.6.1-bin.tar.gz

解压

tar xf apache-maven-3.6.1-bin.tar.gz -C /usr/local
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven

给maven配置环境变量

vim /etc/profile
...
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:$PATH

source /etc/profile #环境变量生效

2: java项目的源码

wget  http://192.168.13.120/191118/SpringBootWeb.tar.gz
tar xf  SpringBootWeb.tar.gz

SpringBoot java开发框架

3:使用maven编译打包

cd  SpringBootWeb
mvn package 打包
mvn clean package  先清理缓存文件,再打包

maven源加速:
vim /usr/local/maven/conf/settings.xml
  
      alimaven
      aliyun maven
      http://maven.aliyun.com/nexus/content/groups/public/
      central        
    

4:部署war包

cp target/SpringBootWeb.war /app/apache-tomcat-8.0.27/webapps2/

5.配置多站点目录,新增一个Host

配置conf/server.xml 增加一个Host
      
        
      

zabbix安装,监控Tomcat

1.安装zabbix

ip地址:10.0.0.71   硬件配置:1c1g   主机名:zabbix-server

1:配置zabbix yum仓库
wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm

[root@zabbix-server ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

2:安装zabbix服务端和zabbix-web前端
yum install zabbix-server-mysql zabbix-web-mysql  -y

3:安装mariadb,创建zabbix库,授权zabbix用户
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
回车
n
一路y

mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';

导入zabbix表结构和初始数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix

检查zabbix库是否导入成功
mysql -uroot  zabbix -e 'show tables'

4:配置启动zabbix-server
vi /etc/zabbix/zabbix_server.conf 
DBHost=localhost 
DBName=zabbix
DBUser=zabbix
DBPassword=123456

启动zabbix-server
systemctl start zabbix-server 
systemctl enable zabbix-server

检查:
netstat -lntup

5:修改Zabbix前端的PHP配置,并启动httpd
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

systemctl start httpd
systemctl enable httpd

6:前端zabbix-web的安装
浏览器:http://10.0.0.61/zabbix

后期修改zabbix数据库密码的时候,需要修改的配置文件:
/etc/zabbix/web/zabbix.conf.php

http://10.0.0.61/zabbix/zabbix.php
登录的账号密码;
Admin
zabbix

2.在zabbix上安装java-gateway

#安装 zabbix-java-gateway
yum install zabbix-java-gateway.x86_64  -y

#配置zabbix-server和zabbix-java-gateway
vim /etc/zabbix/zabbix_java_gateway.conf
   START_POLLERS=5
------------
vim  /etc/zabbix/zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

#启动服务
systemctl restart zabbix-java-gateway.service 
systemctl restart zabbix-server.service

3.在tomcat服务器上的catalina.sh脚本添加一条监控信息

CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.0.0.72                #改tomcat本机Ip地址
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

Java内存问题

年轻代: 年轻代内存满了,就会触发年轻代 内存回收,局部,存活下的对象存到年老代
年老代: 年老代内存满了,就会触发全局 内存回收,全部
jvm 内存垃圾回收,是不可避免!

垃圾回收的次数尽可能少:增加内存的容量
垃圾回收的时间尽可能短:减少内存的容量

年轻代最小内存==年轻代最大内存
年老代最小内存==年老代最大内存
堆内存==1年轻代64M+3年老代192M   256M
非堆内存== 持久代

JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC   -XX:NewSize=1G -XX:MaxNewSize=1G"

xms:最小堆内存
Xmx:最大堆内存
-Xss 线程栈的大小
-XX:NewSize    年轻代的最小内存
-XX:MaxNewSize 年轻代的最大内存
-XX:PermSize: 持久代最小内存
-XX:MaxPermSize: 持久代最大内存

你可能感兴趣的:(2.Tomcat多站点目录级监控)