当前位置 主页 > 网站技术 > 代码类 >

    Zabbix监控多个JVM进程的方法

    栏目:代码类 时间:2019-09-12 20:04

    一、场景说明:

        我们这边的环境用的是微服务,每个程序都是有单独的进程及单独的端口号,但用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.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.当配置完成后等一段时间即可发现被监控主机上的数据,如下....

    注意:模板中有些监控项并不适用我们的服务,此处可以停用。

     

    总结

    以上所述是小编给大家介绍的Zabbix监控多个JVM进程的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!