排除汤姆猫错误的步骤

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. C++ pair(对组)的简单了解

    类模板:template<class T1,class T2> struct pair 参数:T1是第一个值得数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, 这 ...

  2. java基础 五 java注释 关键字 标识符

    一:java有三大注释: 1:当行注释: 使用://开始进行注释. 2:多行注释: /**/  在/*和*/之间的内容 会被编译器忽略. 3:文档注释: /***/  /**注释信息*/和多行注释是一 ...

  3. js input框输入1位数字后自动跳到下一个input框聚焦

    // input框输入1位数字后自动跳到下一个input聚焦 function goNextInput(el){ var txts = document.querySelectorAll(el); f ...

  4. JSONP - 从理论到实践

    同源策略 ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略.即,一个页面的ajax只能获取这个页面相同源或者相同域的数据. 如何叫“同源”或者“同域”呢?——协议.域名.端口号都必须相同.例如 ...

  5. ios 开发UI篇—UITextView

    概述 UITextView可滚动的多行文本区域 UITextView支持使用自定义样式信息显示文本,并支持文本编辑.您通常使用文本视图来显示多行文本,例如在显示大型文本文档的正文时. UITextVi ...

  6. ios宏定义学习

    宏简介: 宏是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串).这种替换在预编译时进行,称作 ...

  7. iOS 用KVC设置结构体

    iOS 用KVC设置结构体 在Fundation中KVC提供的键值路径只能访问对象,不能访问结构体.这很不面向对象. 执行下面的语句将会报错: [self setValue:@() forKeyPat ...

  8. Django:表单字段如何在模板中用中文显示

    在处理中文显示的时候,刚开始接触django时,很容易弄混表单汉化和Admin后台汉化. 1.表单汉化:是针对用户的.用户浏览网页时,表单的名称如果是英文的,不够友好,所以需要显示为中文,虽然代码编写 ...

  9. 【python】Selenium隐藏控制台解决办法

    一.起因: 使用selenium 驱动浏览器的时候,如果使用headless模式,会有dos窗口弹出,输出监听信息,有时不想看到,很是麻烦. 二.解决办法: 修改源码:Lib \ site-packa ...

  10. 【BZOJ1041】[HAOI2008]圆上的整点

    [BZOJ1041][HAOI2008]圆上的整点 题面 bzoj 洛谷 题解 不妨设\(x>0,y>0\) \[ x^2+y^2=r^2\\ y^2=(x+r)(x-r) \] 设\(r ...