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_201export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport 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.dzabbix_agentd.d]# mkdir scriptscript]# 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.pyscript]# python jvm.py --list // 如果可查到JSON格式的數據則說明腳本可用script]# python jvm.py -b 'java.lang:type=Memory' -k 'HeapMemoryUsage.committed' -p 304971020067840? ? 3.配置web界面模板,將Qiueer-Template JMX Generic.xml模板下載到本地后導入到zabbix中形成新的模板,模板中配有自動發現規則及各個監控項以及觸發器;
? ? 4.當配置完成后等一段時間即可發現被監控主機上的數據,如下....
注意:模板中有些監控項并不適用我們的服務,此處可以停用。
轉載于:https://www.cnblogs.com/k-free-bolg/p/11511675.html
總結
以上是生活随笔為你收集整理的Zabbix监控多个JVM进程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 加载C++的dll
- 下一篇: 架构设计