Zabbix监控多个JVM进程
一、场景说明:
我们这边的环境用的是微服务,每个程序都是有单独的进程及单独的端口号,但用jps查询出来的结果有些还会有重名的情况,所以某些脚本不太适用本场景;
二、需求说明:
需使用Zabbix-server监控每个Agent上的jvm进程(监控项具体在模板中展示)
三、准备环境:
1.jvm.py脚本(非本人原创,从Github上直接copy的,此处附上Github地址,可直接去目标地址查看相关说明)
2.https://github.com/qiueer/zabbix/blob/master/Tomcat/usage.txt(zabbix/Tomcat/{jvm.py|Qiueer-Template JMX Generic.xml}模板和脚本地址)
3.jdk-8u201-linux-x64.tar.gz
4.iptables配置或关闭
四、正式安装
1.在各个Agent安装JDK,且配置环境变量(首先上传至指定目录下), 每个Agent都如下操作。
~]# tar zxvf jdk-8u201-linux-x64.tar.gz
~]# vim /etc/profile // 增加以下内容
#JAVA环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
~]# source /etc/profile
~]# ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java // 如果不做此链接,则无法获取到jvm些许信息
2.上传cmdline与jvm.py到指定目录下测试(每个Agent都需这么操作)
zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
zabbix_agentd.d]# mkdir script
script]# ll
-rw-r--r-- 1 wenkai person 20124 Sep 10 18:55 cmdline-jmxclient-0.10.3.jar // 上传到/etc/zabbix/zabbix_agentd.d/script目录
-rw-r-xr-x 1 root root 13941 Sep 10 18:57 jvm.py
script]# python jvm.py --list // 如果可查到JSON格式的数据则说明脚本可用
script]# python jvm.py -b 'java.lang:type=Memory' -k 'HeapMemoryUsage.committed' -p 30497
1020067840
3.配置web界面模板,将Qiueer-Template JMX Generic.xml模板下载到本地后导入到zabbix中形成新的模板,模板中配有自动发现规则及各个监控项以及触发器;
4.当配置完成后等一段时间即可发现被监控主机上的数据,如下....
aaarticlea/png;base64,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" alt="" />
![](/Users/Administrator/AppData/Local/Temp/enhtmlclip/Image(1).png)
注意:模板中有些监控项并不适用我们的服务,此处可以停用。
Zabbix监控多个JVM进程的更多相关文章
- Tomcat 常规配置并通过zabbix 监控 jvm状态
一:jdk和tomcat基础 apache有两种方式运行php,一是使用模块,二是使用fastcgi nginx也可以通过fastcgi处理动态请求,也可以转发至tomcat tomcat监控主要是监 ...
- Windows zabbix监控远程进程实现机制
最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:za ...
- zabbix 监控特定进程
因为一些server上跑着一些重要程序,须要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中加入自己定义脚本对特定程序进行监控,近期看了zabbix的官方文档,发现原来强大的zab ...
- jprofiler_监控远程linux服务器的JVM进程(转 非常棒)
几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...
- zabbix监控nginx进程
确认nginx有没有安装模块 然后在主站点下添加(二级站点) location /NginxStatus { stub_status on; access_log off; allow 127.0.0 ...
- 利用zabbix监控ogg进程(Linux平台下)
前段时间生产的一个数据库的ogg进程挂了快半个月才被发现,已经起不来了,只有重新初始化再同步.因此很有必要监控下ogg的进程,这里给大家介绍如何使用zabbix监控oracle的ogg的进程.思路就是 ...
- jprofiler_监控远程linux服务器的JVM进程(实践)
几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...
- zabbix监控httpd进程、添加动作、报警媒介类型
1.在server_agent端创建脚本 mkdir -p /usr/local/etc/zabbix_scripts vi /usr/local/etc/zabbix_scripts/check_h ...
- zabbix 监控java程序
http://www.tuicool.com/articles/IRnM7f http://transcoder.baidu.com/from=1012852q/bd_page_type=1/ssid ...
随机推荐
- USACO Sabotage
洛谷 P2115 [USACO14MAR]破坏Sabotage https://www.luogu.org/problem/P2115 JDOJ 2418: USACO 2014 Mar Gold 2 ...
- [LeetCode] 738. Monotone Increasing Digits 单调递增数字
Given a non-negative integer N, find the largest number that is less than or equal to N with monoton ...
- EF Code Frist 执行 nuget命令
1.Enable-Migrations -EnableAutomaticMigrations2.Add-Migration InitialCreate3.Update-Database -Verbos ...
- js原型和原型链,以及__proto__、prototype属性
__proto__和prototype属性: 1.__proto__属性: 在JS里,万物皆对象(函数是对象.原型也是对象...).对象都具有属性__proto__,这个属性会指向该对象的原型. 2. ...
- R语言dai xie
R语言,Python长期招代写,作业量充足,需要一定英文能力,价格满意.有意者请留言联系,谢谢
- 百度前端技术学院task1 总结
1.居中:当使用text-align或者vatical-align无法达到居中的时候,如果知道元素的大小,可以采用先设为left或right为50%,再设置margin-left或者margin-ri ...
- 单词大学CET六四级英语
2012年大学英语六级词汇 baseball n.棒球:棒球运动 basement n.地下室:地窖:底层 basin n.内海:盆地,流域 battery n.炮兵连:兵器群 battle vi.战 ...
- leetcode求峰值,js实现
原题: 最开始是照着提示的思路进行,中规中矩,用时64ms /** * @param {number[]} nums * @return {number} */var findPeakElement ...
- 模板模式创建一个poi导出功能
之前的导出都很乱,直接写在代码中,等到下回还使用导出功能时又不知如何下手,今天用模板模式重写了一个导出功能,方便以后使用: package com.sf.addrCheck.util.export.p ...
- PIE截图方法的优化
因为我们组的项目要通过截图获取数据,所以要经常使用截图工具,之前截图都是根据教程(https://www.cnblogs.com/PIESat/p/10243308.html)用的地图显示范围截图,而 ...