1、監控安裝部署java
1.1 JVM端口配置python
(/bqhexin/tomcat/bin/catalina.sh)在安裝的tomcat路徑,找到catalina.sh文件。vim
vim編輯並添加:tomcat
catalina.sh.session
CATALINA_OPTS="-Dcom.sun.management.jmxremote \jvm
-Dcom.sun.management.jmxremote.authenticate=false \ui
-Dcom.sun.management.jmxremote.ssl=false \線程
-Djava.rmi.server.hostname=host ip \ 本機IPcode
-Dcom.sun.management.jmxremote.rmi.port=12346server
-Dcom.sun.management.jmxremote.port=12345"
其中:
Host ip修改成本機器IP
當一臺機器有多個tomcat實例時,在不相同的實例的catalina.sh配置不相同的jmxremote.rmi.port和jmxremote.port數值,但注意端口衝突問題
注:修改後重啓tomcat生效
1.2監控依賴包獲取以及說明:
(1)獲取包含監控依賴py腳本、jar包、程序包以及用戶自定義key配置文件的包文件(提供FTP下載方法)
(2)文件用途說明
cmdline-jmxclient-0.10.3.jar:用於獲取內存池等監控數據依賴包;
jstat.py:用於獲取垃圾回收統計數據,如倖存區大小、年輕代大小、老年代大小、垃圾回收次數等數據腳本;
jvm.py:用於獲取堆內存、非堆內存、類加載、線程狀態等通用數據腳本;
tomcat.py:用於獲取session信息等數據腳本;
1.3監控配置步驟
(1)解壓以前獲取的包文件 tar –zxvf zabbix.tar.gz
(2)移動解壓包中的py腳本和cmdline-jmxclient-0.10.3.jar包到指定目錄(/.script/zabbix,若未建立,請自行建立),並增長腳本可執行權限(chmod +x /.script/zabbix/*.py)
(3)安裝解壓包中的zabbix-sender-3.2.6-1.el6.x86_64.rpm
#rpm -ivh zabbix-sender-3.2.6-1.el6.x86_64.rpm ,並檢查是否安裝成功,
#rpm -qa | grep zabbix_sender
(4)修改jstat.py腳本的端口配置
第23行,默認8080(tomcat服務端口),請按需修改此端口,如有多個tomcat實例,多個服務端口以分隔符|隔開,如8080|8081
jvmport_cmd = "sudo netstat -tpnl|grep -oP '(?<=:)\d+.*\d+(?=/java)'|awk '{print $1,$NF}'|grep -E '8080'"
第2四、25行,檢查配置的程序文件的路徑是否與當前機器的程序文件實際路徑相同,
武漢生產環境機器zabbix_agentd.conf文件路徑大部分如上所示,無需修改。
(5)移動用戶自定義key配置文件到zabbix用戶自定義key文件存放目錄目錄
#mv userparameter_tomcat.conf /etc/zabbix/zabbix_agentd.d/
(6)設置容許tty終端執行sudo命令
vi /etc/sudoers (最好用visudo命令)
註釋掉 Default requiretty 一行
#Default requiretty
約第55行,!visiblepw去掉!,修改成如下:
Defaults visiblepw
(7)修改/etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
修改Zabbix server的ip:
Server=10.40.1.26 #若已有其它IP,以逗號隔開,增長server端IP
ServerActive=10.40.1.26 #若已有其它IP,以逗號隔開,增長server端IP
Hostname=ZABBIX03-SRV #修改客戶端的機器名,已有則不修改
增長配置文件路徑,約在第255行位置:
Include=/etc/zabbix/zabbix_agentd.d/
注:server IP爲10.40.1.26,武漢生產環境機器大部分已配置Hostname、Include項,若已配置可省略。
增長容許agent以root採集數據,約第237行位置:
AllowRoot=1
2、驗證採集數據
獲取jmxport列表
獲取數據
python jvm.py -b 'java.lang:type=Memory' -k 'HeapMemoryUsage.committed' -p 12345
3、主機添加監控模板
需監控的主機添加如下三個模板
注:若只監控JVM,使用 JVM Generic Template和JVM Status Template 便可;若監控tomcat,則使用所有三個模板。
4、獲取值截圖展現