snmp监控 jvm

snmp监控 jvm
我只用过TOMCAT,以此记录
一、原理:JAVA在设计之初已实现通过SNMP协议来提供查询JAVA运行程序情况,经过对被监控的主机一番配置后,JAVA会启动一个UDP协议监听的端口(大于1024,须自定义)用于提供自身性能查询服务


二、配置如下:
1) vi $JRE_HOME/lib/management/management.properties 开启如下参数:
   com.sun.management.snmp.interface=0.0.0.0    <--- 监听端口
   com.sun.management.snmp.acl=true       <-- 开启验证方式
   com.sun.management.snmp.acl.file=/opt/jdk1.7.0_40/jre/lib/management/snmp.acl  <--指定验证文件


2) cp $JRE_HOME/lib/management/snmp.acl.template $JRE_HOME/lib/management/snmp.acl


3) vi  $JRE_HOME/lib/management/snmp.acl
启用如下配置:
 acl = {
  {
    communities = public, private     <----snmp 协议团体串
    access = read-only                <---- 访问权限
    managers = localhost              <----  指定可访问 的机器,可以是IP,多个访问用逗号隔开
  }
 }


4)  修改上述文件系统权限
    chmod 600 snmp.acl  management.properties 


    -rw------- 1 uucp  143 14207 Mar 19 23:16 management.properties
    -rw------- 1 root root  3369 Mar 19 23:17 snmp.acl


5)  添加TOMCAT启动参数
     vi $TOMCAT_HOME/bin/startup.sh 添加如下:
    CATALINA_OPTS="-Dcom.sun.management.snmp.port=9161"
    export CATALINA_OPTS 


6) 重启 TOMCAT,并查看指定端口的服务是否有已在监听
 netstat -antulp  | grep 9161
udp        0      0 :::9161                     :::*                                    2450/java 


7) 下载JVM MIB数据文件放至/usr/share/snmp/mibs/
下载地址;http://download.csdn.net/detail/nerissa/7066733


8) 修改snmpd.conf文件,让其代理访问jvm 9161 端口

vi /etc/snmp/snmpd.conf  添加如下:

mibs +JVM-MANAGEMENT-MIB
proxy -v 2c -c public localhost:9161 .1.3.6.1.4.1.42   <----.1.3.6.1.4.1.42 是JVM OID段



 9)重启SNMPD服务,测试
  snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.4.1.42.2.145.3.163.1.1.3.1.0
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.3.1.0 = Gauge32: 14


完成------------------


附:几个常用的OID

VariableOID
jvmMemoryHeapUsed1.3.6.1.4.1.42.2.145.3.163.1.1.2.11
jvmMemoryHeapCommitted1.3.6.1.4.1.42.2.145.3.163.1.1.2.12
jvmMemoryHeapMaxSize1.3.6.1.4.1.42.2.145.3.163.1.1.2.13
jvmMemoryNonHeapUsed1.3.6.1.4.1.42.2.145.3.163.1.1.2.21
jvmMemoryNonHeapCommited1.3.6.1.4.1.42.2.145.3.163.1.1.2.22
jvmMemoryNonHeapMaxSize1.3.6.1.4.1.42.2.145.3.163.1.1.2.23
jvmThreadCount1.3.6.1.4.1.42.2.145.3.163.1.1.3.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus是一个开源的监控系统,它可以用于监控各种不同的应用和服务。对于监控JVM,Prometheus提供了一些特定的工具和指标,以便收集和展示与JVM相关的监控数据。 要监控JVM,你可以使用Prometheus的Java客户端库,该库提供了一些内置的指标和方法来收集JVM的性能数据。你需要在你的应用程序中引入该库,并使用它来注册和暴露指标。 以下是一些常见的步骤来监控JVM: 1. 引入Prometheus Java客户端库:在你的项目中添加Prometheus Java客户端库的依赖。 2. 注册指标:使用Prometheus Java客户端库的API,在你的应用程序中注册需要监控的指标。这些指标可以是内置的,也可以是自定义的。 3. 暴露指标:将注册的指标通过HTTP接口暴露给Prometheus服务器。你可以使用Prometheus提供的HTTP服务器或者将指标暴露为一个HTTP接口。 4. 配置Prometheus服务器:在Prometheus服务器的配置文件中添加你的应用程序的地址和端口信息,以便Prometheus可以定期拉取指标数据。 5. 查询和展示数据:使用Prometheus提供的查询语言(PromQL)来查询和展示JVM监控数据。你可以使用Prometheus自带的Web界面或者其他可视化工具来展示数据。 通过以上步骤,你就可以使用Prometheus监控JVM的性能数据了。你可以收集和展示一些常见的指标,如内存使用情况、垃圾回收情况、线程数等,以便及时发现和解决潜在的性能问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值