系統: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