Prevent Discovery from creating CI's with no serial number

tlurvey
Kilo Contributor

Hi all,

 

We have run into an issue where we create duplicate CI's, I was wondering if anyone has come up with a solution that if the Serial number is empty, do not create the CI?

8 REPLIES 8

Community Alums
Not applicable

You have a few options:



1) You can put a business rule on the cmdb_ci_hardware rule to block creation of any CI without a serial number. You don't want to bring it down any further on the cmdb tree since many types of CIs won't have serial numbers (applications, databases, business services). That's the simplest way but lacks fixing the problem at



2) You could try to modify (or copy and modify) each classification probe to prevent this. This is much more difficult and not a good idea. If you modify the classification probes, service-now will not upgrade them when the instance does. If you copy the probe, you would have to modify the probe to prevent the creation AND include any improvements Service-now puts into new patches and versions.



3) You could create a report generated periodically (weekly at least) to see if any CI were created with no serial numbers. This lets you review both the CI record and the raw ECC queue data. Ideally you would fix the issue on the CI itself. This might necessitate creation or modification of additional probes but would solve the problem.



I would recommend #3. It's the best practice approach but might only be appropriate for more mature CMDBs. If this is a frequent problem, I would go with #1 until you can get the problem under control. I'm interested in the type of CIs at the root of this problem. Discovery goes through numerous identifiers (name, serial, IP, MAC, class) before it decides to create a duplicate record. I would recommend examining the generic identifiers available to Discovery before you try any of my options. Activating the generic name identifier might solve your problems without all the hassle.


Hi,


could you please guide me more about this option 1.  


I could not find a proper way of applying this.



Thanks


Amit


tlurvey
Kilo Contributor

I have tried the generic name and generic serial number, but CI's are still being created with empty serial number???   I would think that if you had one blank (or empty) serial number in the cmdb or serial number table, you would always get a match and not create the ci??? I am not sure which approach to take, as adding a BR may cause a performance hit and we have a large CMDB...



Any help is appreciated!!!


Community Alums
Not applicable

As I mentioned in the first post, even with the generic identifiers active, there looks to be enough identifying information for the CI to be created independently. Even if there is no serial, it goes through 10 other identifiers:



Screen Shot 2014-02-19 at 1.00.01 PM.png



As long as you add a condition to the BR (ie don't run if CI has serial) and put in on the Hardware table, it shouldn't have a noticeable effect on the CMDB or instance performance. Your best bet is to review the CI info (device history, ecc queue, and CI record), find the owner, and have them fix the issue. Again this might require custom probes or copying/modifying existing probes. If the ECC queue and device owner show that a serial number does exist and is retrieved by the scan, then that is something you will want to take up with Service-now. It's hard to be much more specific without actually seeing the CI record and the scan results, but hopefully this will help.