细说tomcat之应用监控
官网:http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html
Java应用程序的监控通过JMX实现,详见:https://docs.oracle.com/javase/tutorial/jmx/。
一. 监控配置
对于Java Web应用程序而言,如果需要监控其当前运行状态,比如:内存,线程等情况。有2种方式:
(1)如果Web应用使用嵌入式容器(如:嵌入式Jetty或Tomcat),则在启动应用时启用JMX远程监控即可。
test-javamonitor是一个使用了嵌入式Servlet容器的Java Web应用,启动时开启JMX远程监控。
java -jar -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
test-javamonitor.jar
(2)如果Web应用直接部署在容器中,则不能直接监控到应用本身。这时可以开启容器的JMX远程监控,间接地监控应用的运行状态。
在Tomcat下,开启JMX远程监控很简单,分为在Windows平台和Linux平台2种情况说明。
其一,在Windows平台,开启Tomcat JMX远程监控:
新建文件${CATALINA_HOME}/bin/setenv.bat,内容如下:
set CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=%my.jmx.port% -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
其二,在Linux平台,开启Tomcat JMX远程监控:
新建文件${CATALINA_HOME}/bin/setenv.sh,内容如下:
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=%my.jmx.port% -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
特别说明:
参见上述开启JMX远程监控示例,并没有开启远程访问认证,即:-Dcom.sun.management.jmxremote.authenticate=false。
如果需要开启访问认证,还需要指定相应认证参数,如下所示:
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
在${CATALINA_HOME}/conf/jmxremote.access文件中定义访问用户身份信息,格式如下:
monitorRole readonly
controlRole readwrite
如上,定义了2个用户:monitorRole只能读取监控信息,controlRole具备读写权限,可以执行JMX管理操作。
在${CATALINA_HOME}/conf/jmxremote.password文件中定义访问用户密码信息,格式如下:
monitorRole tomcat
controlRole tomcat
monitorRole用户密码为:tomcat,controlRole用户密码为:tomcat。
注意:在开启Tomcat远程监控访问认证的情况下,${CATALINA_HOME}/conf/jmxremote.password文件只能允许被运行Tomcat实例的操作系统用户访问,且只能有读权限。
否则无法启动Tomcat,报错:
错误: 必须限制口令文件读取访问权限: ../conf/jmxremote.password
以root用户启动tomcat实例,查看tomcat进程:
显然,tomcat实例是操作系统root用户启动的。则${CATALINA_HOME}/conf/jmxremote.password文件只能对root用户具备可读权限,即:
二. 查看监控数据
jdk中已经自带了非常方便的监控工具,如:jconsole,jvisualvm。
运行jconsole,新建连接:
如果配置了监控访问认证,输入对应用户名和口令。
完毕!
细说tomcat之应用监控的更多相关文章
- Tomcat开启JMX监控 visualvm
Tomcat开启JMX监控 https://blog.csdn.net/dongdong2980/article/details/78476393
- Tomcat java zabbix 监控
排除汤姆猫错误的步骤 ps-ef | grep java或jps –lvm 查看java pid进程 netstat –lntup | grep java 查看java 端口有没有启动 查看 tomc ...
- linux 配置tomcat运行远程监控(JMX)
在实际使用中,我们经常要监控tomcat的运行性能.需要配置相应的参数提供远程连接来监控tomcat服务器的性能.本文详细介绍如何一步一步的配置tomcat相应参数.允许远程连接监控. 工具/原料 v ...
- Tomcat 配置 Probe 监控
转至:http://9771104.blog.163.com/blog/static/19446622009811112836524/ 手上接触Tomcat的项目越来越多,虽说tomcat的manag ...
- 【监控】使用probe对tomcat服务进行监控
1.运行环境(博主本地) JDK:jdk1.6 Tomcat:tomcat7 OS:Windows10 2.下载 点击下载 3.安装运行 1.解压,将probe文件夹复制放进tomcat里面的weba ...
- zabbix监控tomcat(使用jmx监控,但不使用系统自带模版)
一,zabbx使用jmx监控tomcat的原理分析 1.Zabbix-Server找Zabbix-Java-Gateway获取Java数据 2.Zabbix-Java-Gateway找Java程序(j ...
- JaCoCo在Tomcat服务器上监控代码覆盖率的使用方法
简介 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第三方的工具提 ...
- tomcat健康检查监控脚本
#!/bin/sh#自动监控tomcat脚本并且执行重启操作#获取tomcat_IDTomcatID=`ps -ef|grep tomcat|grep -v "grep"|grep ...
- cacti系列(二)之cacti添加对tomcat服务器的监控
cacti添加对tomcat的监控 1.首先下载监控tomcat的模板 TomcatStats-0.1.zip 2.导入模板 (cacti_host_template_tomcat_server ...
随机推荐
- Markdown 使用技巧
懒得复制,直接贴网页吧 懒得复制,直接贴网页吧*2 懒得复制,直接贴网页吧*3
- Hdoj 2044.一只小蜜蜂... 题解
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的第一 ...
- python3基础概念
数: str:使用单引号或双引号表达,不可变的,一旦创建不可更改,可以使变量赋予不同的字符串,但字符串本身是没有更改的: list:有序的集合,可变的基础数据类型: clear(),copy(),ap ...
- css- @media @font-face 的理解
在我的博客园定制的css中有2个之前没有遇到的csss属性@font-face @media @media 在css文件中的使用如下 ` @media screen and (max-width: 1 ...
- LOJ#6280. 数列分块入门 4
另外开一个数组维护每一个块内的总和. 给区间加值是,残余的块一个一个点更新,整个的块一次性更新 查询的时候也是,残余的块一个一个点加,整个的块一次性加 #include<map> #inc ...
- #1014 : Trie树 HihoCoder(字典树)
描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题: ...
- QML学习笔记(二)-纯qml画图实现canvas画板-鼠标画图
作者: 狐狸家的鱼 Github: 八至 版权声明:如需转载请获取授权和联系作者 用纯qml实现canvas画板功能,用鼠标进行画图,可以画直线,画圆,画矩形,画弧线. 由于canvas画图会有延迟和 ...
- Arch Linux下韩文重叠显示
解决方法 sudo pacman -S wqy-microhei-kr-patched
- QTREE6&&7 - Query on a tree VI &&VII
树上连通块 不用具体距离,只询问连通块大小或者最大权值 可以类比Qtree5的方法,但是记录东西很多,例如子树有无0/1颜色等 一个trick,两个LCT分离颜色 每个颜色在边上. 仅保留连通块顶部不 ...
- 5.1、按键SW1控制LED1亮灭
从图中可以看出,P1_2引脚可以感知SW1的状态,SW1未按下P1_2=1高电平,按下后P1_2=0接地. 注意:P1_2引脚只是感知SW1,不影响SW1. #include "ioCC25 ...