Tomcat java zabbix 监控
排除汤姆猫错误的步骤ps-ef | grep java或jps –lvm 查看java pid进程
netstat –lntup | grep java 查看java 端口有没有启动
查看 tomcat 日志 tailf /application/tomcat/logs/catalina.out
show-busy-java-threads.sh 打印系统排名前五的java进程,查看那个进程占用内存高。
tomcat java远程监控
下载jkd http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152359034-1925478805.png
在C:\Program Files\Java\jdk1.8.0_31\bin下 找 jconsole.exe
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152533190-1093382376.png
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152400565-991762901.png
开启tomcat远程监控功能
[*]vim /application/tomcat8_1/bin/catalina.sh +97
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152401331-561533818.png
[*]CATALINA_OPTS="$CATALINA_OPTS
[*]-Dcom.sun.management.jmxremote
[*]-Dcom.sun.management.jmxremote.port=12345
[*]-Dcom.sun.management.jmxremote.authenticate=false
[*]-Dcom.sun.management.jmxremote.ssl=false
[*]-Djava.rmi.server.hostname=10.0.0.17"
做解析不然报错
[*]需要做解析 echo "10.0.0.17 web03 " >> /etc/hosts
重启汤姆猫查看端口
[*]/application/tomcat8_1/bin/shutdown.sh
[*]/application/tomcat8_1/bin/startup.sh
[*]netstat -tunlp|grep 12345
[*]tcp6 0 0 :::12345 :::* LISTEN 24388/java
用jconsole连接
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152403440-803616631.png
端口12345
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152404175-1014875763.png
jvisualvm远程链接
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152404519-437646534.png
右键添加主机
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152405144-797486765.png
右键添加jvm
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152405503-1345170658.png
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152405878-1799761407.png
zabbix 监控 tomcat
zabbix需要开启java监控
修改zabbix-server配置文件
[*]sed -i -e '220a JavaGateway=127.0.0.1' -e '236a StartJavaPollers=5' /etc/zabbix/zabbix_server.conf
JavaGateway=127.0.0.1 网关地址(本机ip地址)
StartJavaPollers=5 java线程
在服务端安装zabbix_java_gateway
需要安装jdk(openjdk)
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152406206-181422936.png
yum 安装自动安装
启动 zabbix_java_gateway
[*]systemctl start zabbix-java-gateway.service
[*]netstat -tunlp|grep java
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152406972-2069279141.png
tomcat开启远程监控功能(每个实力都要做)
新键主机
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152408237-1608598167.png
搜索jmx 添加两默认模板
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152409612-266954006.png
jmx连接了
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152410956-2089513554.png
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152411737-405884807.png
Tomcat安全优化
降权启动
先杀掉java进程
# pkill java
# pkill java
[*]# useradd tomcat 新建一个用户
[*]# cp -a /application/tools/tomcat8_1 /home/tomcat/ 把测试文件复制到 home目录下
[*]# chown -R tomcat.tomcat /home/tomcat/tomcat8_1/ 给文件权限
[*]# su -c '/home/tomcat/tomcat8_1/bin/startup.sh 'tomcat 以tomcat用户启动
[*]Using CATALINA_BASE: /home/tomcat/tomcat8_1
[*]Using CATALINA_HOME: /home/tomcat/tomcat8_1
[*]Using CATALINA_TMPDIR: /home/tomcat/tomcat8_1/temp
[*]Using JRE_HOME: /application/jdk
[*]Using>
[*]Tomcat started.
[*]# ps -ef|grep tomcat 查看tomcat进程用户
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152413190-2054920317.png
其他安全优化都在http://www.cnblogs.com/jksbaduen/p/7903539.html
Tomcat优化
上策: java 代码优化
中策: jvm 优化机制 垃圾回收机制,把不需要的内存回收。
优化jvm—就是优化垃圾回收机制
下策: 买买买加内存
下下策: 定时重启tomcat
简单的jvm优化
1G内存优化
内存给tomcat 75%左右或者 3/4
https://images2018.cnblogs.com/blog/1265569/201711/1265569-20171127152413909-1462402310.png
修改核心配置文件
[*]vim/home/tomcat/tomcat8_1/bin/ catalina.sh +97
插入下面的代码
[*] JAVA_OPTS="-Djava.awt.headless=true?-Dfile.encoding=UTF-8?-server?-Xms800m?-Xmx800m?-XX:NewSize=400m?-XX:MaxNewSize=400m?-XX:PermSize=400m?-XX:MaxPermSize=400m"
[*]server:一定要作为第一个参数,在多个CPU时性能佳
[*]-Xms:初始堆内存Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
[*]-Xmx:初始堆内存heap最大值,使用的最大内存
[*]上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
[*]-XX:PermSize:设定内存的永久保存区域
[*]-XX:MaxPermSize:设定最大内存的永久保存区域
[*]-XX:MaxNewSize:
[*]-Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
[*]+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
[*]-Xss:每个线程的Stack大小
[*]-verbose:gc 现实垃圾收集信息
[*]-Xloggc:gc.log 指定垃圾收集日志文件
[*]-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
[*]-XX:+UseParNewGC :缩短minor收集的时间
[*]-XX:+UseConcMarkSweepGC :缩短major收集的时间
重启服务
[*]su -c '/home/tomcat/tomcat8_1/bin/ shutdown.sh ' tomcat
[*]su -c '/home/tomcat/tomcat8_1/bin/ startup.sh ' tomcat
页:
[1]