使用Cacti监控JVM

Cacti官方论坛里有几个监控JVM的模板:

导入到Cacti后,需要启用JVM的SNMP Agent,方法如下:
1. 启动JVM的参数里加入-Dcom.sun.management.snmp.port=9998 这个是指定SNMP Agent的监听端口。
2. 设置访问权限

$ sudo cp $JRE_HOME/lib/management/snmp.acl.template $JRE_HOME/lib/management/snmp.acl
$ sudo vi $JRE_HOME/lib/management/snmp.acl

acl = {
  {
    communities = public, private
    access = read-only
    managers = localhost
  }
}

trap = {
  {
    trap-community = public
    hosts = localhost
  }
}

3. 设置配置文件的权限,必须只能为启用JVM的用户只读,否则不能工作。(management.properties不用修改,使用默认配置即可)

$ sudo chmod 600 management.properties snmp.acl
$ sudo chown jetty management.properties snmp.acl

4. 重启JVM,用netstat命令检查9998端口是否已被监听或用snmpwalk命令检查。

$ sudo netstat -tlunp |grep 9998
$ snmpwalk -v 2c -c public localhost:9998 .1.3.6.1.4.1.42

5. 为了让远程的Cacti主机可以访问,可使用snmpd的proxy功能将请求转发到localhost的JVM SNMP Agent上。修改snmpd的配置文件,添加
proxy -v 2c -c public localhost:9998 .1.3.6.1.4.1.42
然后重启snmpd服务。在Cacti主机上以snmpwalk命令检查,应该能得到与上一步中snmpwalk命令一样的输出。snmpwalk -v 2c -c public remotehost .1.3.6.1.4.1.42
6. 至此,可以在Cacti里为JVM主机添加监控图表了,注意Device的SNMP Options配置里SNMP Version要选择Version 2。

参考:

Related posts

登录窗口有多个Xfce会话供选择,怎么回事?

登录窗口里选择会话的地方,一直有两个Xfce Session,登录后似乎略有不同。其实是在/usr/share/xsessions目录有一个符号链接default.desktop指向了xfce.desktop,删掉它后就可以了,也不影响什么。

Related posts

找回消失的Notification Area(Xubuntu)

美化桌面的时候会遇到通知区域(Notification Area)Applet不见了的情况,试图再加一个到面板上也会报类似“通知区域已经存在”的错误。

解决办法是检查~/.config/xfce4/panel目录下有没有名字以systray开头的文件,删掉这些文件。
rm ~/.config/xfce4/panel/systray*
再编辑~/.config/xfce4/panel/panels.xml这个文件,如果有一行包含systray的,也删掉。

再次登入后,重新添加通知区域到面板就可以了。

Related posts

再次遭遇大量CLOSE_WAIT

今天下午线上的Jetty服务又停止响应了。不过与上次不同的是,日志里没有Too many open files的问题(看来ulimit设置管用了),看不出任何问题。于是用netstat检查网络连接,发现了大量CLOSE_WAIT状态的连接,而且都是连接到同一个IP地址。联想到程序里有调用外部网站服务的部分,检查这个IP,正是其中的一个服务。检查代码,发现开发人员使用Commons HttpClient时出了问题,居然忘记关闭连接了(method.releaseConnection();)!!后果就是对方关闭了连接,连接不断地变成CLOSE_WAIT状态,直到耗尽所有的网络资源,没法再建立连接了。

从这个教训看出,项目的研发管理真是没有到位啊!快速反复的需求、几乎可以忽略的设计、缺少代码走查、没有单元测试,怎能保证上线前发现这样的问题!

Related posts

Services not starting on boot

前一段时间笔记本升级到Ubuntu 9.10后遇到了系统服务没有启动的问题,后来得知是upstart的一个bug。具体情况看看我在ServerFault回答的同样问题吧。

Related posts




This work by wolfg is licensed under a Attribution-Noncommercial-Share Alike 2.5 China Mainland.