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都如下操作。
1 2 3 4 5 6 7 8 9 10 | ~] # 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都需这么操作)
1 2 3 4 5 6 7 8 9 | 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.当配置完成后等一段时间即可发现被监控主机上的数据,如下....
注意:模板中有些监控项并不适用我们的服务,此处可以停用。
本文作者:k-free
本文链接:https://www.cnblogs.com/k-free-bolg/p/11511675.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步