Technical Blog Post
Abstract
Tivoli Network Manager and Discovery Library Adapter. A "type" of chicken or egg.
Body
IBM Tivoli Network Manger (ITNM IP 3.9) can use the Discovery Library Adapter (DLA) to export data for integration into other systems.
Detailed documentation exists here
One common question with the DLA, is an explanation of this particular "type"
<cdm:Type>ComputerSystem</cdm:Type>
Type should be something like a router or a switch, but what was discovered as a ComputerSystem?
What went wrong with the discovery of this entity? Or is the DLA not working correctly?
Looking at the discovery, or discovered topology in ncim, no "ComputerSystem" is found, so that means it must be the DLA then?
Understand the assignment of "type" to understand whether the source of the problem is ITNM, or the DLA.
$PRECISION_HOME/scripts/sql/data contains a file populateDeviceFunction.sql. At database creation and population this flat file of inserts populates the ncim table ncim.deviceFunction. This table is referenced by the DLA for assigning a "type".
If an entity is found to be "ComputerSystem" in all likelihood, the sysObjectId was not associated correctly during discovery. Take a look at the fields of ncim.deviceFunction in ncim
Look at the populateDeviceFunction.sql or ncim.deviceFunction to see if your sysObjectId (not vendorOID) exists.
To add a new entry to ncim.deviceFunction simply insert a new row using your preferred method for your database access.
Here is an example with ncp_oql from the ITNM core server
[root@server data]# cd $PRECISION_HOME
[root@server precision]# cd bin
[root@server bin]# ./ncp_oql -username ncim -service ncim -password ncim -domain SCOM39
ncp_oql ( IBM Tivoli Network Manager OQL Interface )
Copyright (C) 1997 - 2010 By IBM Corporation. All Rights Reserved. See product license for details.
IBM Tivoli Network Manager Version 3.9 (Build 97) created by ncpbuild at 17:09:54 Fri Feb 8 GMT 2013
Connected to INFORMIX DB schema NCIM
|ncserver:1.> select count(*) from ncim.deviceFunction;
|ncserver:2.> go
{
=3082;
}
1 rows(s)
|ncserver:1.> INSERT INTO deviceFunction VALUES ('Cisco','1.3.6.1.4.1.9','1.3.6.1.4.1.9.1.694','C2960','Router');
|ncserver:2.> go
0 rows(s)
|ncserver:1.> select count(*) from ncim.deviceFunction;
|ncserver:2.> go
{
=3083;
}
1 rows(s)
Once this is done update populateDeviceFunction.sql so that in the event of disaster database restoration with create and populate will update that table automatically.
When using the Discovery Library Adapter it is hard to tell whether a problem is with the DLA or ITNM. In this case ITNM was the chicken.
I mean the egg.
UID
ibm11082427