RE: [NV-L] Can we break down the var bind further and represent it on the event viewer?
2008-12-04 09:56:16
Rajesh,
1. My scripts execute fine as hidden
applications. I don't have any idea why yours do not. You will
need to pursue that in a PMR if that's what you want. But I should
think console application should work just fine, so perhaps there is no
point.
2. You new trap has to be different
than the incoming one. You must either use a different or slightly
modified enterprise OID or a different specific id so the two traps can
be differentiated. And no, there is no way to alter trapd.conf on
the fly. trapd will already have the processed the trap before you
know it is there.
What you are trying to do here is compensate
for the vendor's shortcomings. He should have broken out all the
significant information into separate varbinds the way most vendors do.
Vendors like Cisco are the industry standard. So there is no harm
in defining a new OID for these traps. They are yours now, not his,
anyway.
James Shanks
Tivoli Network Availability Management Level Three
Network Availability Management
Tivoli Software, IBM Corp
1-919-224-1642 | T/L 687-1642 | ITN 26871642
"Lakka, Rajesh Kumar"
<Rajesh.Lakka AT in.unisys DOT com>
Sent by: nv-l-bounces AT lists.ca.ibm DOT com
12/04/2008 09:32 AM
Please respond to
Tivoli NetView Discussions <nv-l AT lists.ca.ibm DOT com> |
|
To
| "Tivoli NetView Discussions"
<nv-l AT lists.ca.ibm DOT com>
|
cc
|
|
Subject
| RE: [NV-L] Can we break down the var
bind further and represent it on the
event viewer? |
|
James,
Thanks for your reply, tried the below
mentioned procedure.
Incoming trap original trap was 11234 with the same OID .1.3.6.1.4.1.3183.1.1
For the above original trap action command was given as a batch file with
path
The batch file containing the below script
nvsnmptrap 129.227.154.102 .1.3.6.1.4.1.3183.1.1 192.62.182.203 6 11234
0 system.sysDescr.0 octetstring "test trap"
The batch is executed only if it is run as console application. Hidden
application does not execute the above script(batch file), Why the batchfile
does not run as a hidden application?
The incoming trap number and the new message containing the redirected
trap number is same, hence if the original trap is set to logonly the redirected
trap also does not get displayed. If it is set to other than log only then
both the incoming and redirected trap get displayed.
But the problem is both incoming and redirected trap have the same trap
number and OID and hence logonly does not display both.
What we are trying to do is that the incoming trap should not be displayed,
whereas the redirected trap should get displayed.
Is there a way to pass the parsed string in script to the incoming trap
rather than generating another redirected nvsnmptrap event? Can we access
the database and modify the string before trap event getting displayed?
Thanks,
Rajesh
________________________________________
From: nv-l-bounces AT lists.ca.ibm DOT com [mailto:nv-l-bounces AT lists.ca.ibm DOT com]
On Behalf Of James Shanks
Sent: Tuesday, December 02, 2008 1:03 AM
To: Tivoli NetView Discussions
Subject: RE: [NV-L] Can we break down the var bind further andrepresent
iton the event viewer?
Well, I'd start with the NetView documentation. This is not a trivial exercise.
According to the nv-l archives you are using NetView for Windows. In the
User's Guide, read over Chapter 6, Working with events and event filters,
especially the sections on Configuring events, Avoiding security problems
with non-alphanumeric characters in traps and Actions on events. That will
cover the basics of what you have to do.
Then you can configure this trap to launch a hidden command. I'd start
with a simple test case. Put this in a file called "echovar.hidden.bat"
in \usr\ov\bin:
::
:: The purpose of this script is to echo variables to a file
:: to test a hidden application
:: You must pass variables to the script as $E, $1, $2 etc
:: and variables which might contain spaces must be encapsulated
in
:: quotation marks. Invoke it like this as a hidden command:
:: \usr\ov\bin\echovar.hidden.bat $E $A "$1" "$2"
"$3" "$4" "$5"
::
date /t >> \usr\ov\log\echo-hidden.txt
time /t >> \usr\ov\log\echo-hidden.txt
echo "enterprise = " %1 >> \usr\ov\log\echo-hidden.txt
echo "agent = " %2 >> \usr\ov\log\echo-hidden.txt
echo "var1 = " %3 >> \usr\ov\log\echo-hidden.txt
echo "var2 = " %4 >> \usr\ov\log\echo-hidden.txt
echo "var3 = " %5 >> \usr\ov\log\echo-hidden.txt
echo "var4 = " %6 >> \usr\ov\log\echo-hidden.txt
echo "var5 = " %7 >> \usr\ov\log\echo-hidden.txt
And then run trap.exe, select your trap, click on Properties, and at the
bottom of the Trap Properties panel, put
[drive_letter]: \usr\ov\bin\echovar.hidden.bat $E $A "$1" "$2"
"$3" "$4" "$5"
in the box labeled "Run this command when the trap is received".
"Run as" should say "Hidden Application" (which means
it does not require a console for display).
Once you have this working you can set about modifying it. Change the variables
passed in to get just what you want. Then add mode code map them into an
nvsnmptrap command to send a trap. You can look that up in the Netview
for Windows Programmer's Reference. But here's a sample which sends a replica
NetView Node Down trap
::!/bin/ksh
:: ndwn.trap.bat
::
:: sample bat file script to send a replica Node down trap (Version
7 style)
::
:: 1. We are not sending the port (it defaults to 162 udp)
:: 2. we could skip sending community name but here we are using a bogus
one
:: just to show that trapd doesn't care what one you use but
:: you can configure the Log message to show $C and see what it is.
:: 3. Below the first hostname is the trapd destination -- your box or
some other
:: 4. The second hostname is the agent sending the trap -- it cannot be
a bogus
:: hostname, but you can use a bogus IP address to make it easy to spot.
:: 5. The contents of the 4th variable in real life are :
:: -- timestamp -- object id of host --
:: Here they are just made up.
::
nvsnmptrap -c public ^
jshanks1.raleigh.ibm.com .1.3.6.1.4.1.2.6.3.1 ^
jshanks2.raleigh.ibm.com 6 58916865 1 ^
.1.3.6.1.4.1.2.6.3.1.1.2.0 Integer 2 ^
.1.3.6.1.4.1.2.6.3.1.1.3.0 OctetStringascii "jshanks2.raleigh.ibm.com"
^
.1.3.6.1.4.1.2.6.3.1.1.4.0 OctetStringascii "Node Down"
^
.1.3.6.1.4.1.2.6.3.1.1.5.0 OctetStringascii "890775021
256" ^
.1.3.6.1.4.1.2.6.3.1.1.6.0 OctetStringascii "openview"
^
.1.3.6.1.4.1.2.6.3.1.1.7.0 OctetStringascii "jshanks2.raleigh.ibm.com"
^
.1.3.6.1.4.1.2.6.3.1.1.8.0 OctetStringascii "9.27.144.48"
^
.1.3.6.1.4.1.2.6.3.1.1.9.0 OctetStringascii "[9.27.144.48]"
I hope by now you see where to go with this. You are going to have to write
code to parse the variables passed in and map them to the output trap you
want to send. If you program in PERL or REXX rather than Windows batch
file, it will be that much easier. And you can use any enterprise OID you
like, including the original one, or you can use NetView's .1.3.6.1.4.1.2.6.3.1
Specific id's from 1000 to 1100 are reserved for that purpose.
Once you have this working, I'd set the original trap to "Log Only"
using trap.exe and then the event browser will only display your new one
by default.
Happy hacking,
James Shanks
Tivoli Network Availability Management Level Three
Network Availability Management
Tivoli Software, IBM Corp
1-919-224-1642 | T/L 687-1642 | ITN 26871642
_______________________________________________
NV-L mailing list
NV-L AT lists.ca.ibm DOT com
Unsubscribe:NV-L-leave AT lists.ca.ibm DOT com
http://lists.ca.ibm.com/mailman/listinfo/nv-l (Browser access limited to
internal IBM'ers only)
_______________________________________________
NV-L mailing list
NV-L AT lists.ca.ibm DOT com
Unsubscribe:NV-L-leave AT lists.ca.ibm DOT com
http://lists.ca.ibm.com/mailman/listinfo/nv-l (Browser access limited to
internal IBM'ers only)
|
|
|