Getting DB2instance name using service now discovery

ishant_goyal
Kilo Contributor

Hi All,

We are trying to get DB2 Instances using service now discovery but the only thing we are getting the number of instances. We want to pull the DB2 Instance name. Any idea which probe we can use to achieve the same.

Regards,

ishant

5 REPLIES 5

Ankush13
Kilo Guru

This is indeed a known issue. Try and open an incident on Support.


Jason Wang
ServiceNow Employee
ServiceNow Employee

We have finished the most part of this work, in terms of recognize instance name, relationship between instance and hosting server as well as db2 database catalog name recognition. let's find a better way to run the shell command then we will share it!


sure Jason, I will be working on the script today and hopefully will be ready with the solution very soon.


Jason Wang
ServiceNow Employee
ServiceNow Employee

While working with InfoSys team Ishant Goyal for a Discovery project. During the implementation, we found some limitation of DB2 database discovery, thus we created a custom probe/sensor to address this issues. It works out well, want to share it with you guys. Below is a summary I put together.




Discovery - Custom Probe and Sensor for DB2 database instance/catalog capturing



Current limitations:


1.       Not able to identify and distinguish multiple DB2 instances on AIX server.


Out of box, Discovery is using a method: process classification "DB2 Server" to lookup process contains keyword of "db2tcpcm". However, during implementation, we realized this doesn't return accurate number of DB2 instances. ServiceNow known problem number is PRB601385.



We then changed approach to lookup new keyword "db2sysc". This time the number of returned db2 instances appear accurate. However, they all labeled as format of "DB2@CI Name". i.e:   "DB2 Server@adcrmehp01". If an AIX CI has multiple DB2 instances, multiple identical "DB2@CI Name" records are being created thus there is no way to distinguish them from each other.



2.       Not able to discovery DB2 catalog name.


If a DB2 instance has several databases, we cannot get catalog name discovered.





Solution:


1.         Create a DB2 probe to interrogate against AIX server regarding if there is DB2 installed, list all of DB2 instances and list all of DB2 catalog names from each instance.


i.e. Server||Instance||Database||Version


            mcjunapp6||db2ins10||BPBPCP1||v9.5.0.5, FixPack-5.


            mcjunapp6||db2ins10||BPEVENP1||v9.5.0.5, FixPack-5.


            mcjunapp6||db2ins10||BPMEP1||v9.5.0.5, FixPack-5.


            mcjunapp6||db2ins10||BPWPSP1||v9.5.0.5, FixPack-5.


            mcjunapp6||db2ins11||ARISDB||v9.7.0.4, FixPack-4.


            mcjunapp6||db2ins12||BPMDB||v9.7.0.4, FixPack-4.



2.         Create a DB2 sensor to parse the data


    1. To create/update new DB2 instances with real instance names.
    2. To build relationship between DB2 instance and their hosted AIX
    3. To create/update new DB2 catalogues and associate it with DB2 instances.