Showing posts with label SNMP. Show all posts
Showing posts with label SNMP. Show all posts

Tuesday, October 14, 2008

SNMP utility tools.

Using WLS SNMP utilities (for verification and troubleshooting).

Steps:

1. Start WLS 10.0.1.

2. Open a windows command prompt (cmd.exe).

3. Then, set environment variables for java by invoking the following:

C:\wlw10\user_projects\domains\base_domain\bin\setDomainEnv.cmd

4. Reference edocs for deprecated utils:

http://e-docs.bea.com/wls/docs100/admin_ref/snmpcli.html (Deprecated)

5. Use snmpgetnext and snmpget to see if the OID is implemented/available or not.

Look up the OID of the mbean/attribute first, eg:

Mbean: executeQueueRuntime

Attribute: ExecuteThreadCurrentIdleCount

OID: .1.3.6.1.4.1.140.625.180.1.25

http://edocs/wls/docs100/snmp/index.html

Note: Make sure you have the snmp agent and monitor targeted to server properly.


Invoke snmpgetnext to find the exact OID, eg:

C:\test>java snmpgetnext 66.92.88.90 .1.3.6.1.4.1.140.625.360.1.60

Response PDU received from /66.92.75.165, community: public

Object ID: .1.3.6.1.4.1.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.188.119.88

STRING: RUNNING

The exposed OID for attribute serverRuntimeState of serverRuntime mbean is .1.3.6.1.4.1.140.625.360.1.60. I use snmpgetnext to find out exact OID.

If I use snmpget on the exact OID, I get:

C:\test>java snmpget 66.92.88.90 .1.3.6.1.4.1.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.188.119.88

Response PDU received from /66.92.75.165, community: public

Object ID: .1.3.6.1.4.1.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.1

21.36.203.188.119.88

STRING: RUNNING

6. I can also use snmpwalk to verify an OID for attribute ExecuteThreadCurrentIdleCount under mbean executeQueueRuntime, is correct:

C:\test>java snmpwalk -c public@examplesServer 66.92.88.90 1.3.6.1.4.1.140.625.180.1.25

Object ID: .1.3.6.1.4.1.140.625.180.1.25.16.101.103.82.137.181.191.243.93.39.42.

219.18.187.126.125.191

INTEGER: 0

7. Use snmptrapd and snmpv1trap to verify the trap destination are configured properly (listen on port, loop continuously), eg:

C:\test>java snmptrapd -p 165

Trap received from: /127.0.0.1, community: public

Enterprise: .1.3.6.1.4.1.140.625

Agent: /0.0.0.0

TRAP_TYPE: 6

SPECIFIC NUMBER: 75

Time: 17248

VARBINDS:

Object ID: .1.3.6.1.4.1.140.625.100.5

STRING: Wed May 28 00:46:12 EDT 2008

Object ID: .1.3.6.1.4.1.140.625.100.10

STRING: examplesServer

Object ID: .1.3.6.1.4.1.140.625.100.55

STRING: jmx.monitor.gauge.high

Object ID: .1.3.6.1.4.1.140.625.100.60

STRING: 0

Object ID: .1.3.6.1.4.1.140.625.100.65

STRING: 0

Object ID: .1.3.6.1.4.1.140.625.100.70

STRING:

Object ID: .1.3.6.1.4.1.140.625.100.75

STRING: ExecuteQueueRuntime

Object ID: .1.3.6.1.4.1.140.625.100.80

STRING: ExecuteThreadCurrentIdleCount

8. Reference docs for WLS 10.0 utils:

http://edocs.bea.com/wls/docs100/snmpman/snmpcli.html#wp1181263

9. Set up environment, by invoking:

${WL_HOME}\server\bin\setWLSEnv.cmd

For examples:

SnmpGet –

C:\test>java weblogic.diagnostics.snmp.cmdline.Manager SnmpGet .1.3.6.1.4.1.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.188.119.88

enterprises.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.18

8.119.88=RUNNING

SnmpGetAll –

C:\test>java weblogic.diagnostics.snmp.cmdline.Manager SnmpGetAll .1.3.6.1.4.1.140.625.360.1.60

----------------------------------------------

enterprises.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.18

8.119.88=RUNNING

----------------------------------------------

DONE

SnmpGetNext –

C:\test>java weblogic.diagnostics.snmp.cmdline.Manager SnmpGetNext .1.3.6.1.4.1.140.625.360.1.60

enterprises.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.18

8.119.88=RUNNING

SnmpWalk –

C:\test>java weblogic.diagnostics.snmp.cmdline.Manager SnmpWalk .1.3.6.1.4.1.140.625.360.1.60

enterprises.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.18

8.119.88=RUNNING

enterprises.140.625.360.1.60.16.171.5.160.79.30.237.108.44.247.215.121.36.203.18

8.119.88=RUNNING

DONE

SnmpTrapMonitor (run continuously in loop, listing on port) –

C:\test>java weblogic.diagnostics.snmp.cmdline.Manager SnmpTrapMonitor -p 165

Listening on port:165

--- Snmp Trap Received ---

Version : v1

Source : UdpEntity:127.0.0.1:161

Community : public

Enterprise : enterprises.140.625

TrapOID : enterprises.140.625.0.75

RawTrapOID : 1.3.6.1.4.1.140.625.0.75

Trap Objects : {

{ enterprises.140.625.100.5=Wed May 28 00:43:42 EDT 2008 }

{ enterprises.140.625.100.10=examplesServer }

{ enterprises.140.625.100.55=jmx.monitor.gauge.low }

{ enterprises.140.625.100.60=0 }

{ enterprises.140.625.100.65=0 }

{ enterprises.140.625.100.70= }

{ enterprises.140.625.100.75=ExecuteQueueRuntime }

{ enterprises.140.625.100.80=ExecuteThreadCurrentIdleCount }

}

Raw VarBinds : {

{ enterprises.140.625.100.5=Wed May 28 00:43:42 EDT 2008 }

{ enterprises.140.625.100.10=examplesServer }

{ enterprises.140.625.100.55=jmx.monitor.gauge.low }

{ enterprises.140.625.100.60=0 }

{ enterprises.140.625.100.65=0 }

{ enterprises.140.625.100.70= }

{ enterprises.140.625.100.75=ExecuteQueueRuntime }

{ enterprises.140.625.100.80=ExecuteThreadCurrentIdleCount }

}

--- Snmp Trap Received ---

Version : v1

Source : UdpEntity:127.0.0.1:161

Community : public

Enterprise : enterprises.140.625

TrapOID : enterprises.140.625.0.75

RawTrapOID : 1.3.6.1.4.1.140.625.0.75

Trap Objects : {

{ enterprises.140.625.100.5=Wed May 28 00:43:52 EDT 2008 }

{ enterprises.140.625.100.10=examplesServer }

{ enterprises.140.625.100.55=jmx.monitor.gauge.high }

{ enterprises.140.625.100.60=0 }

{ enterprises.140.625.100.65=0 }

{ enterprises.140.625.100.70= }

{ enterprises.140.625.100.75=ExecuteQueueRuntime }

{ enterprises.140.625.100.80=ExecuteThreadCurrentIdleCount }

}

Raw VarBinds : {

{ enterprises.140.625.100.5=Wed May 28 00:43:52 EDT 2008 }

{ enterprises.140.625.100.10=examplesServer }

{ enterprises.140.625.100.55=jmx.monitor.gauge.high }

{ enterprises.140.625.100.60=0 }

{ enterprises.140.625.100.65=0 }

{ enterprises.140.625.100.70= }

{ enterprises.140.625.100.75=ExecuteQueueRuntime }

{ enterprises.140.625.100.80=ExecuteThreadCurrentIdleCount }

}