zabbix监控一个机器上的多个java进程的jvm
一、监控安装部署
1.1 JVM端口配置
(/bqhexin/tomcat/bin/catalina.sh)在安装的tomcat路径,找到catalina.sh文件。
vim编辑并添加:
catalina.sh.
CATALINA_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=host ip \ 本机IP
-Dcom.sun.management.jmxremote.rmi.port=12346
-Dcom.sun.management.jmxremote.port=12345"
其中:
Host ip修改为本机器IP
当一台机器有多个tomcat实例时,在不相同的实例的catalina.sh配置不相同的jmxremote.rmi.port和jmxremote.port数值,但注意端口冲突问题
注:修改后重启tomcat生效
1.2监控依赖包获取以及说明:
(1)获取包含监控依赖py脚本、jar包、程序包以及用户自定义key配置文件的包文件(提供FTP下载方法)
(2)文件用途说明
cmdline-jmxclient-0.10.3.jar:用于获取内存池等监控数据依赖包;
jstat.py:用于获取垃圾回收统计数据,如幸存区大小、年轻代大小、老年代大小、垃圾回收次数等数据脚本;
jvm.py:用于获取堆内存、非堆内存、类加载、线程状态等通用数据脚本;
tomcat.py:用于获取session信息等数据脚本;
1.3监控配置步骤
(1)解压之前获取的包文件 tar –zxvf zabbix.tar.gz
(2)移动解压包中的py脚本和cmdline-jmxclient-0.10.3.jar包到指定目录(/.script/zabbix,若未创建,请自行创建),并增加脚本可执行权限(chmod +x /.script/zabbix/*.py)
(3)安装解压包中的zabbix-sender-3.2.6-1.el6.x86_64.rpm
#rpm -ivh zabbix-sender-3.2.6-1.el6.x86_64.rpm ,并检查是否安装成功,
#rpm -qa | grep zabbix_sender
(4)修改jstat.py脚本的端口配置
第23行,默认8080(tomcat服务端口),请按需修改此端口,若有多个tomcat实例,多个服务端口以分隔符|隔开,如8080|8081
jvmport_cmd = "sudo netstat -tpnl|grep -oP '(?<=:)\d+.*\d+(?=/java)'|awk '{print $1,$NF}'|grep -E '8080'"
第24、25行,检查配置的程序文件的路径是否与当前机器的程序文件实际路径相同,
武汉生产环境机器zabbix_agentd.conf文件路径大部分如上所示,无需修改。
(5)移动用户自定义key配置文件到zabbix用户自定义key文件存放目录目录
#mv userparameter_tomcat.conf /etc/zabbix/zabbix_agentd.d/
(6)设置允许tty终端执行sudo命令
vi /etc/sudoers (最好用visudo命令)
注释掉 Default requiretty 一行
#Default requiretty
约第55行,!visiblepw去掉!,修改为以下:
Defaults visiblepw
(7)修改/etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
修改Zabbix server的ip:
Server=10.40.1.26 #若已有其它IP,以逗号隔开,增加server端IP
ServerActive=10.40.1.26 #若已有其它IP,以逗号隔开,增加server端IP
Hostname=ZABBIX03-SRV #修改客户端的机器名,已有则不修改
增加配置文件路径,约在第255行位置:
Include=/etc/zabbix/zabbix_agentd.d/
注:server IP为10.40.1.26,武汉生产环境机器大部分已配置Hostname、Include项,若已配置可省略。
增加允许agent以root采集数据,约第237行位置:
AllowRoot=1
二、验证采集数据
获取jmxport列表
获取数据
python jvm.py -b 'java.lang:type=Memory' -k 'HeapMemoryUsage.committed' -p 12345
三、主机添加监控模板
需监控的主机添加以下三个模板
注:若只监控JVM,使用 JVM Generic Template和JVM Status Template 即可;若监控tomcat,则使用全部三个模板。
四、获取值截图展示
zabbix监控一个机器上的多个java进程的jvm的更多相关文章
- visualvm 监控 远程 机器上的 Java 程序
JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...
- 转:visualvm监控远程机器上的Java程序
转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...
- 一个机器上运行两个tomcat
一. 在一台计算机上配置2个tomcat是可以的,关键是tomcat里的server.xml文件中三个端口必须不同.需要修改conf/server.xml使两个tomcat占用的端口不相同,在缺省 ...
- 把一个机器上1天内新增的文件用rsync传送到另外一台机器
我的shell很菜,只好用shell和php结合来做 1.查找新增的文件,构造rsync的参数,把结果写入到log中 find /data/bmob/test/teststorage/data/ -m ...
- visualvm监控远程机器上的Java程序
源文:http://hanwangkun.iteye.com/blog/1195526
- 如何在同一台机器上安装多个MySQL的实例
转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...
- 如何在同一台机器上安装多个MySQL的实例 转
https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...
- 如何在同一台机器上安装多个MySQL的实例(转)
最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务 ...
- 一个机器绑两个IP可能存在的问题
1.同一网段两个ip 无法绑到一个机器上. 因为会生成两条该网段路由,两个路由用于同网段报文相应,而实际ip选路时只会选择其中一条路由(估计会选择前面那一条)从一个网卡走.这样不管哪个网卡来的局域网内 ...
随机推荐
- PHP截取指定字符前的字符串
$str = 'A|B||C|D'; echo substr($str,0,strpos($str, '||')); 输出:A|B
- Java Math.round()函数小结
Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...
- 杭电oj1859:最小长方形(水题)
最小长方形 题目链接 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- Django null=True和blank=True的区别
今天遇到一个问题: 在restframework框架中开发,数据库了创建了一个model的属性如下所示: remarks = models.CharField(verbose_name=u" ...
- 031.SAP上查看所有的用户账号,查询SAP用户账号的后台数据库表
01. 输入事务代码SU11, 然后输入SAP用户账号数据表USER_ADDR 02. 点击实用程序,再点击内容 03.点击查询 04. 将查看到的结果通过Excel表格导出 不忘初心,如果您认为这篇 ...
- ios端简单改变webView的黑白夜模式
extension HTController:WKUIDelegate, WKNavigationDelegate,WKScriptMessageHandler { func userContentC ...
- Django(四) 后台管理:创建管理员、注册模型类、自定义管理页面显示内容
后台管理 第1步.本地化:设置语言.时区 修改project1/settings.py #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' #设置语言 ...
- LeetCode1005 K次取反后最大化的数组和(贪心+Java简单排序)
题目: 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次.(我们可以多次选择同一个索引 i.) 以这种方式修 ...
- Web基础之日志
Web基础之日志 日志在企业开发中有着不可或缺的作用,它可以用以记录用户操作.系统运行状态和错误信息.日志记录的好坏直接关系到系统出现问题时定位的速度. 最开始的日志一般使用log4j,后来s ...
- linux下安装redis,按照redis官网安装不成功需要提前安装c++环境(安装成功并可以测试)
这个安装是一种便捷的安装,没有几句,但是完全按照官网上的来没有安装成功,有前提条件的 打开linux root登录 然后在usr下面建文件夹redis,进入 在该文件加下,直接按照官网的指导进行安装即 ...