近期看了一下JVM对监控的支持,除了常规的JMX外居然还有SNMP, 有点意思, 这个网管协议适配的地方还真多,那么就先测试一下。
先随便找一个能在后台持续运行的java小程序,如我手头的BIO的socket服务器。
JVM端SNMP的配置
启动SNMP需要两个地方更改,(http://docs.oracle.com/javase/7/docs/technotes/guides/management/snmp.html)
- 在jvm的system properties上加一个
com.sun.management.snmp.port=PORT_NUMBER, PORT_NUMBER指JVM监控的SNMP端口,常规应该是161
- 还需要Copy the ACL template file from JRE_HOME/lib/management/snmp.acl.template to JRE_HOME/lib/management/snmp.acl.
将这个原始的模板文件改一下,解注释掉一些comments,变为以下格式:
acl = { { communities = public, private access = read-only managers = localhost } } trap = { { trap-community = public hosts = localhost } }
然后操作系统改一下,让这个acl文件只有一个owner,就是启动java的这个用户的名字,如何改参考这个文章http://docs.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html
如果这步不搞,启动时会报错
Error: Password file read access must be restricted: C:\Program Files\Java\jre7\
lib\management\snmp.acl
我这里嫌麻烦,直接将启动参数设成不检查(com.sun.management.snmp.acl=false),这样能跳过这个检查
java -Dcom.sun.management.snmp.port=161 -Dcom.sun.management.snmp.acl=false com.tool.server.MyBIOServer
这里JVM这边的配置就都OK了。
SNMP管理端的配置
先到这个地址下JVM的SNMP MIB文件:http://java.sun.com/j2se/1.5.0/docs/guide/management/JVM-MANAGEMENT-MIB.mib
然后找一个SNMP客户端,我用的是iReasoning MIB Browser,load这个下过来的MIB文件。
地址填上localhost, 端口用我们之前设置的161, 直接walk一下被管理端JVM的所有暴露出来的属性
可以看到各种JVM内部信息都有, jvmClassessLoadedCount 等,还支持trap,低内存警告,还是不错。
相关推荐
2. `SampleAgent.bc`:可能是一个样本SNMP代理的配置文件,包含了代理如何响应SNMP请求的设置。 3. `SNMP4JTestAgentBC.cfg`:SNMP4J是Java实现SNMP协议的库,这个文件可能是SNMP4J测试代理的配置文件。 4. `....
在开发过程中,确保正确配置RMI的注册表和安全设置,因为RMI和JMX都涉及跨JVM通信,可能会有潜在的安全风险。同时,合理设计MBean接口,使其暴露的操作简洁明了,符合管理需求。 总的来说,通过RMI和JMX,我们可以...
1. **监控方式选择**:LR支持多种监控WebLogic的方式,包括SNMP和JMX两种主要模式。其中,JMX(Java Management Extensions)方式更适用于WebLogic 6.0及更高版本。 2. **JMX简介**:JMX是一种Java技术,用于管理与...
SNMP模板的配置过程涉及到修改JVM的相关设置,通常需要在JVM启动参数中添加一些特定的配置项,以允许SNMP代理能够访问到JVM的内部状态。为了实现这一点,可能还需要安装或启用与SNMP功能相关的软件组件,比如SNMP...
在提供的“application”文件中,可能包含了用于实现上述监控和邮件提醒功能的应用程序代码或配置文件。通过分析和理解这些文件,我们可以定制适合自己服务器环境的监控方案。 总的来说,服务器监控是确保业务连续...
通过这些预配置的模板,用户可以在Zabbix中快速设置监控,从而及时发现并解决问题,提高系统的可靠性和稳定性。在部署时,需根据实际环境调整模板中的阈值和配置,以实现最佳监控效果。同时,了解每个模板背后的监控...
腾讯织云智能监控实践是腾讯公司推出的一种智能化监控解决方案,通过该实践可以解决企业监控系统中的困境,优化监控数据模型与存储,构建监控平台,并实现智能化开发与应用。 监控困境主要体现在告警疲劳问题,即...
7. **SNMP(简单网络管理协议)集成**:虽然JMX主要用于Java应用程序的管理,但也可以通过SNMP适配器与传统的网络管理系统集成,从而实现跨平台的统一监控。 在压缩包中的"84_Java远程监控系统"可能包含了实现以上...
- 监控虚拟服务器配置、磁盘、网络、性能等指标,并自动评估可用性。 - 监测虚拟服务器上的VM虚拟机状态。 - 特点:统一控制台监控、保障虚拟机正常运行、无代理监控模式。 2. **云中心服务器监控** - 通过监控...
这些资源可以是系统性能指标、配置参数或任何其他需要监控的实体。MBeans在MBean服务器中注册,MBean服务器通常集成在JVM内,使得管理系统可以通过JMX接口访问这些资源。 MBean有两种类型:标准MBean和开放MBean。...
它提供了一种灵活的框架,允许开发者创建、配置和管理应用程序的复杂对象,同时也支持远程监控和控制。`jmxtools.jar` 和 `jmxremote_optional.jar` 是与JMX相关的两个关键库文件,它们在Java应用程序的管理和监控中...
通过JMX,我们可以远程监控和管理Java应用程序,包括Java虚拟机(JVM)的性能指标以及应用服务器的各种性能数据。 JMX的核心组件包括: 1. **MBeans**:MBeans是JMX中的核心元素,它们是可管理的Java对象,代表...
它主要应用于对运行在Java虚拟机(JVM)上的应用程序进行性能监控、故障诊断以及资源管理。JDMK的核心功能包括动态管理代理(JMX)、系统级监控以及网络管理等方面,为开发者提供了强大的工具来确保Java应用的稳定性...
- **应用配置**:动态更改应用程序的配置参数。 - **服务管理**:启动、停止、重启服务,或者执行服务的特定操作。 - **日志和审计**:收集和报告应用程序的运行时信息。 ### 3. 创建和注册MBeans 创建MBean通常...
5. **性能调优**:提供性能分析和调优的策略,包括JVM(Java Virtual Machine)配置、线程池大小、连接池管理和缓存策略的优化。 6. **应用部署**:指导如何部署Java EE应用程序到WebLogic Server,包括WAR文件、...
同时,了解网络性能监控,比如通过SNMP进行设备监控,是确保网络稳定运行的关键。 JAVA程序员方面,你需要掌握JAVA的基础语法、面向对象编程、异常处理、多线程和并发。深入理解JVM(Java虚拟机)的工作原理,包括...
- 在WebLogic环境下,虚拟机(如JVM)为应用提供了执行环境,处理内存管理、线程调度、垃圾回收等任务,是运行WebLogic服务器和部署应用的基础。 #### JNDI(Java Naming and Directory Interface) - **JNDI**是...