一、监控安装部署

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的更多相关文章

  1. visualvm 监控 远程 机器上的 Java 程序

    JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...

  2. 转:visualvm监控远程机器上的Java程序

    转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...

  3. 一个机器上运行两个tomcat

    一.   在一台计算机上配置2个tomcat是可以的,关键是tomcat里的server.xml文件中三个端口必须不同.需要修改conf/server.xml使两个tomcat占用的端口不相同,在缺省 ...

  4. 把一个机器上1天内新增的文件用rsync传送到另外一台机器

    我的shell很菜,只好用shell和php结合来做 1.查找新增的文件,构造rsync的参数,把结果写入到log中 find /data/bmob/test/teststorage/data/ -m ...

  5. visualvm监控远程机器上的Java程序

    源文:http://hanwangkun.iteye.com/blog/1195526

  6. 如何在同一台机器上安装多个MySQL的实例

    转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...

  7. 如何在同一台机器上安装多个MySQL的实例 转

    https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...

  8. 如何在同一台机器上安装多个MySQL的实例(转)

    最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务 ...

  9. 一个机器绑两个IP可能存在的问题

    1.同一网段两个ip 无法绑到一个机器上. 因为会生成两条该网段路由,两个路由用于同网段报文相应,而实际ip选路时只会选择其中一条路由(估计会选择前面那一条)从一个网卡走.这样不管哪个网卡来的局域网内 ...

随机推荐

  1. 洛谷 P2725 邮票 Stamps

    题目传送门 解题思路: f[i]表示凑总面值i所需的最少邮票张数,然后快乐的跑完全背包. AC代码: #include<iostream> #include<cstdio> # ...

  2. Day6 - L - Mokia HYSBZ - 1176

    维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000. Input 第 ...

  3. Java之反射 — 用法及原理

    Java之反射 - 用法及原理 定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象 ...

  4. Google的搜索API的Delphi封装

    这个东西实现了已经有一段时间了,那个时候谷歌还没有退出中国内地呢!而现在呢,谷歌都退了有一些日子了!紧以此纪念一番! 话说谷歌API,我相信很多人应该都知道!不晓得在实际应用中,用的人多不多(我说的不 ...

  5. 学校算法作业X——(日期问题)

    最近一直在忙项目,难得有时间写一下作业,所以断了,现在赶紧续上 题目如下: 日历问题 问题描述 在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外, ...

  6. 史无前例!一季度Facebook移除22亿假账号

    导读 北京时间5月26日上午消息,Facebook表示平台在第一季度移除了22亿虚假账号.这一创纪录的数据显示了这家公司正在与大量试图破坏全球最大社交网络真实性的负面因素进行斗争. 北京时间5月26日 ...

  7. 【linux】linux系统安全设置

    1.下载安装安全软件 2.取消Telnet登录采用SSH方式并更改ssh服务端远程登录的配置 1)Telnet登录协议是明文不加密不安全,所以采用更安全的SSH协议. 2)更改ssh服务端远程登录相关 ...

  8. Mybatis 向MySql数据库插入带有日期类型字段的数据

    我们的实体类里面一个字段的日期类型是util.Date,在向数据库插入该实体时会报错,说是 日期哪个字段 Data truncation.所以需要做些更改在mybatis的MAPPER映射文件中对插入 ...

  9. PlayJava SpringMVC与Struts2杂谈

    一 先做一个简单对比: 1. SpringMVC的入口是Servlet,核心是DispatcherServlet,Struts2是Filter,核心是FilterDispatcher 2. Sprin ...

  10. 八十七、SAP中ALV事件之一,事件的声明

    一.我们双击"REUSE_ALV_GRID_DISPLAY",来到SE37界面, 二,来到这儿,点击SLIS_T_EVENT, 三.可以看到SLIS_T_EVENT的定义,有一个n ...