Zabbix監控多個JVM進程

1、場景說明:

    咱們這邊的環境用的是微服務,每一個程序都是有單獨的進程及單獨的端口號,但用jps查詢出來的結果有些還會有重名的狀況,因此某些腳本不太適用本場景;java

2、需求說明:

      需使用Zabbix-server監控每一個Agent上的jvm進程(監控項具體在模板中展現)python

3、準備環境:

      1.jvm.py腳本(非本人原創,從Github上直接copy的,此處附上Github地址,可直接去目標地址查看相關說明)linux

      2.https://github.com/qiueer/zabbix/blob/master/Tomcat/usage.txt(zabbix/Tomcat/{jvm.py|Qiueer-Template JMX Generic.xml}模板和腳本地址)git

      3.jdk-8u201-linux-x64.tar.gzgithub

      4.iptables配置或關閉web

4、正式安裝

    1.在各個Agent安裝JDK,且配置環境變量(首先上傳至指定目錄下), 每一個Agent都以下操做。vim

    ~]# 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都需這麼操做)bash

    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中造成新的模板,模板中配有自動發現規則及各個監控項以及觸發器;jvm

    4.當配置完成後等一段時間便可發現被監控主機上的數據,以下....微服務

注意:模板中有些監控項並不適用咱們的服務,此處能夠停用。

相關文章
相關標籤/搜索