一些概念:
SNMP:
简单网络管理协议,SNMP
使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP
接收随机消息(及事件报告)网络管理系统获知网络出现问题。目前, SNMP 有 3 种: SNMPV1 、 SNMPV2 、 SNMPV3。第
1 版和第 2 版没有太大差距,但 SNMPV2 是增强版本,包含了其它协议操作。与前两种相比, SNMPV3
则包含更多安全和远程配置。为了解决不同 SNMP 版本间的不兼容问题, RFC3584 种定义了三者共存策略。
SNMP OID:
SNMP Object
Identifiers(对象标示符),SNMP对象标识符(OID)是定义在特定MIB模式中的值,来定义一个特定的在MIB数据库中SNMP目标。
SNMP
OID是划界序列数字组成a.b.c...x.y.z的周期。它对信息的一个项目是一个独特的标识符,其是一个MIB的一部分。典型的OIDs能够有与它
们相关的名字。OIDs在自然中是分等级的。因此1.2.3出现在1.3之前但是在1.2之后。MIB
会为其描述的每个受管对象分配一个唯一的、不可变的编号,称为对象标识符(Object Identifier,简称 OID)。每个 OID
包含一个从左到右的整数序列。此序列定义 MIB
树中的对象的位置,并指定通过树到达此对象的唯一路径。此路径中的每个节点均有一个编号和一个与编号关联的名称。
路径 .1.3.6.1.4.1 定义 private.enterprises OID,树上此节点下的每个编号代表树中为特定供应商(如
BEA)保留的分支。BEA MIB 注册在树中的位置 .1.3.6.1.4.1.140,WebLogic Server MIB 包含
.1.3.6.1.4.1.140.625 下的所有 OID
管理信息库(MIB)
是一个具有分层特性的信息的集合,我们可以通过 SNMP 去存取它。MIB 的成员是一些被管理的对象(Managed Object),以对象标示符(Object Identifiers)来区分它们。
在bea目录下有一个BEA-WEBLOGIC-MIB.asn1文件,保存了snmp的配置,具体配置的含义可以参照:http://e-docs.bea.com/wls/docs81/snmp/index.html
如果想加入自己的OID,可以将将OID 相应的包放到 %WL_HOME%\server\lib\mbeantypes 目录下就可以了(这个我也没有试过)
要使用weblogic的snmp功能首先要在weblogic的控制台中启用snmp功能,然后就可以使用oid来获得堆栈、内存等使用信息了
在weblogic中提供了1万多的oid可以给第三方软件使用,我们也可以使用unix自带的snmpwalk命令去取得各个oid的值,以下列出几个例子:
# jvm runtime Heap size
snmpwalk
-
v 2c
-
c
public
192.168
.
88.160
:
161
.
1.3
.
6.1
.
4.1
.
140.625
.
340.1
.
30
#host used memory (by jrockit jdk)
snmpwalk
-
v 2c
-
c
public
192.168
.
88.160
:
161
1.3
.
6.1
.
4.1
.
140.625
.
302.1
.
40
#The number of idle threads assigned to the queue
snmpwalk
-
v 2c
-
c
public
192.168
.
88.160
:
161
1.3
.
6.1
.
4.1
.
140.625
.
180.1
.
25.32
.
48.101
.
49.102
.
50.102
.
52.97
.
51.101
.
102.102
.
100.98
.
57.56
.
55.53
.
57.54
.
56.98
.
98.101
.
51.53
.
54.100
.
101.52
.
57.53
#The date and time that the longest waiting request was placed
in
the queue
--
900563304
snmpwalk
-
v 2c
-
c
public
192.168
.
88.160
:
161
.
1.3
.
6.1
.
4.1
.
140.625
.
180.1
.
30.32
.
48.101
.
49.102
.
50.102
.
52.97
.
51.101
.
102.102
.
100.98
.
57.56
.
55.53
.
57.54
.
56.98
.
98.101
.
51.53
.
54.100
.
101.52
.
57.53
其中第二个oid和jrockit有关,所有和jrockit有关的oid在默认情况下都是不可以使用的,必须在weblogic启动时将jdk改为jrockit jdk才可以,这个是bea公司自己的jdk
在java中我们也可以使用snmp4j去存取snmp的值,进行远程控制,下面一段代码就是用来取得所有的oid的:
package test;
import java.io.IOException;
import java.net.InetAddress;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.
event
.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public
class
test1
{
public
static
void
main(String[] args)
{
try
{
Snmp snmp
=
new
Snmp(
new
DefaultUdpTransportMapping());
CommunityTarget target
=
new
CommunityTarget();
//
agent对象
target.setCommunity(
new
OctetString(
"
public
"
));
//
设置共同体名,没发现设置RWCommnity的方法,大概只能设一个.
target.setVersion(SnmpConstants.version1);
//
设置版本
target.setAddress(
new
UdpAddress(
"
127.0.0.1/161
"
));
//
设置IP地址和端口号,这里竟然用'/'来分隔,当初确实没有料到,JDOC的说明等于没有.
target.setRetries(
1
);
//
设置重试次数
target.setTimeout(
5000
);
//
设置超时
snmp.listen();
//
监听
String m_oid
=
"
1.3.6.1.4.1.140.625.10.1.0
"
;
int
w
=
0
;
while
(
true
)
{
w
++
;
//
set pud type and set oid
PDU request
=
new
PDU();
//
new request PDU包
request.setType(PDU.GETNEXT);
//
设置PDU类型,
//
request.add(new VariableBinding(new OID("1.3.6.1.2.1.1")));
//
OID添加
//
request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1")));
//
OID添加
request.add(
new
VariableBinding(
new
OID(m_oid)));
//
System.out.println("request UDP:" + request);
//
请求包内内容输出,
PDU response
=
null
;
//
定义response包
ResponseEvent responseEvent
=
snmp.send(request, target);
//
发出request PDU
//
接收response PDU
response
=
responseEvent.getResponse();
//
response PDU包解析
if
(response
!=
null
)
{
if
(response.getErrorIndex()
==
response.noError
&&
response.getErrorStatus()
==
response.noError)
{
//
System.out.println("no error.");
String pause
=
responseEvent.getResponse()
.getVariableBindings().toString();
String getvalue
=
pause.substring(
pause.indexOf(
"
=
"
)
+
2
, pause.indexOf(
'
]
'
));
String oid
=
pause.substring(pause.indexOf(
"
VBS[
"
)
+
2
,
pause.indexOf(
"
=
"
)
-
1
);
System.
out
.println(oid);
//
System.out.println(response);
m_oid
=
oid;
}
else
{
System.
out
.println(
"
get error:
"
+
response.getErrorStatusText());
break
;
}
}
else
{
System.
out
.println(
"
get response error
"
);
break
;
}
if
(m_oid.equals(
"
1.3.6.1.4.1.140.625.10.1.0
"
))
{
break
;
}
}
System.
out
.println(
"
:::::::
"
+
w);
}
catch
(IOException e)
{
//
TODO Auto-generated catch block
e.printStackTrace();
}
}
}
要特别注意ip、端口、版本号、community和配置的一致
分享到:
相关推荐
1. **监控方式选择**:LR支持多种监控WebLogic的方式,包括SNMP和JMX两种主要模式。其中,JMX(Java Management Extensions)方式更适用于WebLogic 6.0及更高版本。 2. **JMX简介**:JMX是一种Java技术,用于管理与...
我们可以使用Node Manager来远程控制我们的服务器,我们也可以使用SNMP协议来监控服务器的状态。 WebLogic Server是一个功能强大且灵活的application server,可以满足大型分布式Web应用、网络应用和数据库应用的...
资料是公司内部培训的,非常真贵,包括从weblogic的介绍、安装、管理、domain的创建管理,程序的部暑、JMS、JDBC、JNDI、JTA、SNMP、集群(Cluster)、服务器的负载均衡、weblogic的日常维护、性能调优、故障排查,...
- **Simple Network Management Protocol (SNMP)**:WebLogic Server还支持SNMP版本1和2,允许使用诸如HP OpenView、BMC Patrol或CA Unicenter等第三方监控工具来监视WebLogic Server实例。 **重要性** 了解和掌握...
此外,许多网络设备,如路由器、交换机,以及服务级产品,如Oracle数据库和WebLogic服务器,都有SNMP进程,允许通过管理站进行管理。 6. SNMP 角色 SNMP 定义了三种角色:管理者、代理和代理服务器(Proxy)。管理...
2. **管理和监控**:介绍如何使用WebLogic Server的内置工具进行管理,如控制台、WLST(WebLogic Scripting Tool)、JMX(Java Management Extensions)和SNMP(Simple Network Management Protocol)。同时探讨监控...
例如,服务器可通过运行网管进程实现,而Oracle、WebLogic等服务级产品也可通过集成SNMP模块来支持网络管理。 #### 五、SNMP的角色定义 - **管理站(NMS)**:提供用户界面,执行管理操作; - **代理(Agent)**:...
- SNMPv2正式版发布,定义了在基于OSI的网络中使用SNMP的方法。 - RMON扩展为RMON2。 - **1998年**: SNMPv3发布,引入了一系列关于安全性的改进,并定义了未来发展的框架。 综上所述,SNMP作为一种成熟的网络...
在实际应用中,许多网络设备可以通过添加SNMP模块来实现网络管理功能,而服务器和其他服务级产品(如Oracle数据库、WebLogic服务器)则通常通过运行SNMP进程来提供管理接口。此外,还有一种特殊的角色——代理服务器...
- **配置向导启动方式**:可通过脚本、图形界面和控制台模式启动,分别对应`<WEBLOGIC_HOME>/common/bin`目录下的脚本、`Windows Start menu`中的`config.cmd`以及带有`mode=console`参数的命令行。 - **配置被管理...
首先,文章概述了集成电路制造行业中CIMS的基本架构,特别提到了基于Tuxedo、Weblogic和MBX的系统结构。接着,详细阐述了性能监测系统的设计,包括数据采集、数据存储和数据展示三个核心方面。数据采集利用SNMP...
554的RTSP用于实时流媒体,1080的Socks代理服务,以及数据库服务如Oracle通常使用的1521端口,Web服务器如WebLogic和WebSphere使用的端口等。 了解这些端口号对于网络管理和故障排查至关重要,它们帮助我们识别和...
- SNMP Trap 通常使用 UDP 端口 162 发送,用于设备向管理站发送告警或事件通知。 5. **OSI 模型**: - FTP, SMTP, 和 HTTP 等应用层协议工作在 OSI 模型的第 7 层,即应用层,负责数据的最终呈现和用户交互。 6...
WebSphere和WebLogic常用于大型企业的关键应用,而JBoss和Tomcat则在中小型应用中广泛应用。 在国内,虽然近年来多家企业开始关注中间件监控技术的研究与开发,但多数产品针对特定应用,缺乏统一的解决方案和全面的...
例如,第四天的系统攻击部分,学生会学习NetBIOS枚举、SNMP枚举、MAC攻击、DHCP攻击和ARP攻击,以及嗅探工具如cain和Ettercap的使用。第六天,学生将深入研究中间件的安全问题,如tomcat和weblogic的war包木马利用,...
- **启用SNMP**:介绍如何在Resin中启用SNMP支持。 - **MIB变量**:解释了如何理解MIB变量。 - **自定义SNMP到MBean映射**:允许用户定义自己的SNMP映射规则。 #### 十三、REST API管理 - **概述**:介绍了Resin...
与 SNMP 和其他管理标准一样,JMX 是一个公共规范,许多常用监控产品的供应商都支持它。 WebLogic Server 提供了一组 MBean,可用于通过 JMX 配置、监视和管理 WebLogic Server 资源。 Ruby 版本 - 仅在 JRuby ...
snmp信息泄露 weblogic弱口令 SVN信息泄露 域传送漏洞 Rsync hadoop对外 nagios信息泄露 ftp弱口令或支持匿名访问导致信息泄露 RTX泄露信息 Ganglia信息泄露 j2ee应用架构开始占主流,典型的web服务器搭配配置失误 ...