排除汤姆猫错误的步骤

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

在C:\Program Files\Java\jdk1.8.0_31\bin下 找 jconsole.exe

开启tomcat远程监控功能

  1. vim /application/tomcat8_1/bin/catalina.sh +97

  1. CATALINA_OPTS="$CATALINA_OPTS
  2. -Dcom.sun.management.jmxremote
  3. -Dcom.sun.management.jmxremote.port=12345
  4. -Dcom.sun.management.jmxremote.authenticate=false
  5. -Dcom.sun.management.jmxremote.ssl=false
  6. -Djava.rmi.server.hostname=10.0.0.17"

做解析不然报错

  1. 需要做解析 echo     "10.0.0.17 web03 " >> /etc/hosts

重启汤姆猫查看端口

  1. /application/tomcat8_1/bin/shutdown.sh
  2. /application/tomcat8_1/bin/startup.sh
  3. netstat -tunlp|grep 12345
  4. tcp6 0 0 :::12345 :::* LISTEN 24388/java

用jconsole连接

端口12345

jvisualvm远程链接

右键添加主机

右键添加jvm

zabbix 监控 tomcat

zabbix需要开启java监控

修改zabbix-server配置文件

  1. 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)

yum 安装自动安装

启动 zabbix_java_gateway

  1. systemctl start zabbix-java-gateway.service
  2. netstat -tunlp|grep java

tomcat开启远程监控功能(每个实力都要做)

新键主机

搜索jmx 添加两默认模板

jmx连接了

Tomcat安全优化

降权启动

先杀掉java进程

[root@web03 ~]# pkill java

[root@web03 ~]# pkill java

  1. [root@web03 ~]# useradd tomcat 新建一个用户
  2. [root@web03 ~]# cp -a /application/tools/tomcat8_1 /home/tomcat/ 把测试文件复制到 home目录下
  3. [root@web03 ~]# chown -R tomcat.tomcat /home/tomcat/tomcat8_1/ 给文件权限
  4. [root@web03 ~]# su -c '/home/tomcat/tomcat8_1/bin/startup.sh 'tomcat 以tomcat用户启动
  5. Using CATALINA_BASE: /home/tomcat/tomcat8_1
  6. Using CATALINA_HOME: /home/tomcat/tomcat8_1
  7. Using CATALINA_TMPDIR: /home/tomcat/tomcat8_1/temp
  8. Using JRE_HOME: /application/jdk
  9. Using CLASSPATH: /home/tomcat/tomcat8_1/bin/bootstrap.jar:/home/tomcat/tomcat8_1/bin/tomcat-juli.jar
  10. Tomcat started.
  11. [root@web03 ~]# ps -ef|grep tomcat 查看tomcat进程用户

其他安全优化都在http://www.cnblogs.com/jksbaduen/p/7903539.html

Tomcat优化

上策: java 代码优化

中策: jvm 优化机制 垃圾回收机制,把不需要的内存回收。

优化jvm—就是优化垃圾回收机制

下策: 买买买加内存

下下策: 定时重启tomcat

简单的jvm优化

1G内存优化

内存给tomcat 75%左右或者 3/4

修改核心配置文件

  1. vim/home/tomcat/tomcat8_1/bin/ catalina.sh +97

插入下面的代码

  1. 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"
  1. server:一定要作为第一个参数,在多个CPU时性能佳
  2. -Xms:初始堆内存Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
  3. -Xmx:初始堆内存heap最大值,使用的最大内存
  4. 上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
  5. -XX:PermSize:设定内存的永久保存区域
  6. -XX:MaxPermSize:设定最大内存的永久保存区域
  7. -XX:MaxNewSize:
  8. -Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
  9. +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
  10. -Xss:每个线程的Stack大小
  11. -verbose:gc 现实垃圾收集信息
  12. -Xloggc:gc.log 指定垃圾收集日志文件
  13. 、4分之一
  14. -XX:+UseParNewGC :缩短minor收集的时间
  15. -XX:+UseConcMarkSweepGC :缩短major收集的时间

重启服务

  1. su -c '/home/tomcat/tomcat8_1/bin/ shutdown.sh ' tomcat
  2. su -c '/home/tomcat/tomcat8_1/bin/ startup.sh ' tomcat

Tomcat java zabbix 监控的更多相关文章

  1. Zabbix监控Tomcat案例

    今天在这里,我们来聊一聊JMX监控方式, JMX(java管理扩展程序)是java平台上为应用程序,设备,系统等植入管理功能的框架,JMX可以跨越一系列不同的系统平台,更加灵活的服务管理应用: 在za ...

  2. zabbix监控tomcat

    服务端配置修改 编译zabbix的时候需要添加参数--enable-java --enable-java 修改zabbix_java配置文件 vim /usr/local/zabbix-2.4.6/s ...

  3. 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比

    JVM 监控工具有很多,像命令 jstat,jmap,jstack,jinfo 可以根据不同需求查看不同的系统信息,还有图像化界面 jconsole,都是很方便的工具.这些可以参考 JAVA自带监控工 ...

  4. Tomcat 常规配置并通过zabbix 监控 jvm状态

    一:jdk和tomcat基础 apache有两种方式运行php,一是使用模块,二是使用fastcgi nginx也可以通过fastcgi处理动态请求,也可以转发至tomcat tomcat监控主要是监 ...

  5. zabbix监控自动发现监控tomcat(V1)

    背景说明: 由于zabbix监控使用自带的模版,只能监控主机上只有1个tomcat的场景适合,虽然网上很多朋友都是在每个监控项上面添加一个空格来解决问题.但是个人感觉这种方法还是蛮麻烦的,所以写一篇使 ...

  6. Zabbix应用五:Zabbix监控多Tomcat

    利用Zabbix Trapper方式监控多Tomcat实例 Zabbix自带的模版(JMX Tomcat.JMX Generic)默认只能在一台机器上监控一个tomcat实例(因为监控项中的key不能 ...

  7. Zabbix监控Tomcat,Redis

    一 Tomcat监控 1.1.1 Tomcat 端配置 JMX 编辑catalina.sh文件,配置如下: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.m ...

  8. Zabbix 监控PHP-FTPM、Tomcat、Redis应用

    一.zabbix 监控 PHP-FPM应用实战Nginx+PHP-FPM是目前最流行的LNMP架构,在基于PHP开发的系统下,对这些系统性能的监控,主要是关注PHP-FPM的运行状态,那么什么是PHP ...

  9. zabbix监控nginx,mysql,java

    zabbix 支持的主要监控方式(1)agent代理程序 在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息.Agent 监控 ...

随机推荐

  1. python 爬虫 发送每天天气

    #!/usr/bin/python# -*- coding: UTF-8 -*-import requests,bs4,smtplib,sysimport smtplib, sysfrom email ...

  2. ORA-28000 账号被锁定的解决办法

    ORA-28000 账号被锁定的解决办法 错误场景:当使用sqlplus进行登录时报错:ORA-28000 账号被锁定.错误原因:由于oracle 11g 在默认在default概要文件中设置了密码最 ...

  3. ios应用数据存储方式(XML属性列表-plist) - 转

    一.ios应用常用的数据存储方式  1.plist(XML属性列表归档)  2.偏好设置  3.NSKeydeArchiver归档(存储自定义对象)  4.SQLite3(数据库,关系型数据库,不能直 ...

  4. Liunx信息显示与文件搜索

    . uname 显示系统相关信息,如内核版本号,硬件架构 -a # 显示系统所有相关信息 -m # 显示计算机硬件架构 -n # 显示主机名称 -r # 显示内核发行版本号 -s # 显示内核名称 - ...

  5. json_decode($str,true)的结果为null

    //$result为传进来的json值 $result = $this->params['auth_result']; //html_entity_decode进行HTML 实体转换为字符 // ...

  6. python字典键值对转化为相应的变量名和变量值

    将python字典键值对转化为相应的变量名和变量值可以使用以下方法: globals().update({"name":"value"}) locals().u ...

  7. 20155217 《信息安全系统设计基础》week16课堂测试

    20155217 <信息安全系统设计基础>week16课堂测试 在作业本上完成附图作业,要认真看题目要求并提交作业截图. 在set的过程中,我们需要将hour部分进行赋值,赋值我们采用&q ...

  8. 20155308 加分题-mybash的实现(第五周)

    20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管 ...

  9. WPF模拟雷达界面效果图

    原文:WPF模拟雷达界面效果图 iPad塔防的防守兵的效果很炫,2个小时用WPF模拟了一个. 效果图: 关键代码: <Grid> <Grid.Background> <I ...

  10. 【转载】Direct3D HLSL介绍(上)

    原文路径:http://www.csharpwin.com/csharpspace/3087.shtml 写过Direct3D程序的朋友们可能还记得,在以往,大家常为如何表现更多真实的材质(如玻璃.金 ...