Discovery and CI Relationship

Amit Sharma4
Mega Expert

Hi There,

 

When we perform discovery there are few relationships which are created automatically by discovery.

Trying to understand, how those relationships are created. Like what all probes / scripts are used for this and how it is decided, what type of a relationship it is...

Please guide.

 

Thanks

Amit

1 ACCEPTED SOLUTION

Hi Amit,

 

You will be able to find some of this information Under pattern designer - Discovery pattern

if you take F5 Big IP as example so under Pattern tab  - you will be able to find the relationship rules and how the relationship type has been defined

Thanks

View solution in original post

12 REPLIES 12

Hi Amit -- I'm not sure if you are asking a general question regarding the relationship records in the cmdb_rel_ci table, or if you have a more specific question about IP connections?   

 A little background, this relationship table can be populated in a bunch of ways.  Discovery (specifically CI Classifiers) is 1 way... when they find a App running on a Host, it records that relationship.  But admins can manually create relationships betwween CI's (although not really scalable...), inbound integrations (SCOM, Altris, etc.) could create relationships, system imports could be building CI to CI relations.  

The CI relationships table (cmdb_rel_ci) is there to track A) a connection by any 2 CI's and B) the type of relationship. Any source (Discovery, SCOM, etc) can create the relationship and then its this table that is referred to when a dependency map is built... showing a graphical view of how these items are chained together.find_real_file.png

 

Does this help?  Or is your question more specific?

Hi Dave

Thanks for the response. So, i deleted a CI and rediscovered it. This was a quick discovery (not scheduled). This creates few different types of relationships like, Runs on::Runs, IP Connection::IP Connection, Provides:: Provided By , please refer the snap shot. All of these are created by midserver (our midserver user) but IP Connection::IP Connection, which is created by System.

Now, I want to check what process / classifier / BR creating these relationships. Runs on:: Runs is from Process classifier as you explained and i could match it. 

I tried to see the business rules applied on cmdb_re_ci table to see if there is a business rule creating this, but i did not find any which i could recognize. 

Should i look for something like {type', '!=', 'sys_id_of_the_relation_type } i.e. relationship type in the scripts?

 

I am trying to under this, as i am interested to know, how discovery decides type of relationship.

I hope, i could explain the question better.

 

find_real_file.png

Amit - based on what you describe, I don't think Business Rules are involved in this.  To help diagnose, note the created, updated and times that the cmdb_rel_ci records were touched.... it can provide clues to what is touching these relationship records.

For the IP Connection:: relationships, I don't think these are typically recorded but can be... by adding a system property glide.discovery.L3_mapping  Read up on this doc Data collected by Discovery on relationships .  Check your instance to see if that property has been defined... which could explain why Disco might be creating the IP Connection relations...  (I have no idea why "System" would be the updater rather than the mid server user acct)

You may want to consider taking a ServiceNow Discovery class to get a deeper dive into how Discovery works, process classifiers, etc.  If you are working in this space a lot, the 3-day class can really help solidify some of these concepts.

Hope this helps?  If so, please mark the question as helpful and/or Correct 

Thanks, Dave

Hi Dave,

This one is very close what i'm looking for. As you mentioned L3 Mapping property, i recalled one of my issues and IP Connection:: IP Connection type relationship.

With all your guidance, i understand my question is really a wide open question and what every information you shared me here is really very useful. 

Thanks for all the responses and i really appreciate it.

Regards

Amit

One Example

 

find_real_file.png