通過zabbix-snmp監控jvm

系統:centos 6.4-64bit

環境:

   zabbix-server + snmp                  IP: 192.168.10.5

   zabbix-client + snmp + resin + jdk    IP: 192.168.10.15

前提:安裝zabbix時,編譯安裝支持snmp協議,

步驟:

一. 在客戶端安裝snmp (一般系統都自帶)

# yum -y install net-snmp net-snmp-utils

二. 修改snmp配置文件

# vim /etc/snmp/snmpd.conf

修改第41行 : com2sec notConfigUser  192.168.10.5       public

說明:192.168.10.15爲zabbix服務端ip地址.

三. 重啓snmp

# service snmpd restart

四. 開啓jdk的snmp支持

1)進入$JAVA_HOME/jre/lib/management目錄下,修改management.properties

# vi management.properties  (只有一下兩行足矣)

com.sun.management.snmp.interface=0.0.0.0

com.sun.management.snmp.acl.file=$JAVA_HOME/jre/lib/management/snmp.acl

2) 創建並編輯snmp.acl

# grep -Ev "^$|^#" snmp.acl

acl = {

 {

   communities = public

   access = read-only       ---權限只讀

managers = 192.168.10.5  ---只允許192.168.10.5

 }

}

trap = {

  {

    trap-community = public

hosts = 192.168.10.5

  }

}

3. 修改snmp.scl和management.properties權限爲600.

4. 修改jdk目錄及其文件的屬主數組用戶爲運行java程序的用戶

五.修改java程序啓動項

# vi httpd.sh

snmp_conf="-Dcom.sun.management.snmp.port=<your port>"

args="$jvm_heap_size $other_configuration $snmp_conf"

六.重啓resin

七.查看端口是否打開

# netstat -ulpn | grep <your port>

如果這裏沒看到端口,ok,查看程序的啓動日誌。


八.測試(在zabbix服務端測試獲取數據)

1.在zabbix端測試客戶端端口是否開放

# nc -uvz 192.168.10.15 9999

Connection to 192.168.10.15 9999 port [udp/distinct] succeeded!

2.獲取數據

# snmpwalk -c public -v 2c 192.168.10.15:9999 1.3.6.1.4.1.42.2.145.3.163.1.1.3.1.0


有一次按照如上配置做了監控,發現resin無法正常啓動,報錯信息如下

Listening for transport dt_socket at address: 8000

Error: Unknown SNMP interface: st-web: st-web

解決方法:編輯/etc/hosts文件,輸入自己主機的對應IP和主機名即可!


SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.3.1.0 = Gauge32: 539

本文出自 “技術成就未來” 博客,請務必保留此出處http://jishuweiwang.blog.51cto.com/6977090/1362702

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章