Cascading Business Criticality To Child CIs

rkmullis
Kilo Contributor

We assign a business criticality to all applications ('business systems') managed in our CMDB. For example, 'SAP' may have a business criticality of 'Important', 'PeopleSoft' may have a criticality of 'Mission Critical', and so forth. This criticality is factored into an overly complex algorithm (another issue) that determines Risk on a change request (the CI for a change request being the business system). As we're maturing our change and configuration management processes, I'd like to cascade (through automation/business rule) the criticality rating from the business system to the servers used by that system.

The closest example I can reference, thus far, is from the 'Useful Task Scripts' wiki (http://wiki.servicenow.com/index.php?title=Useful_Task_Scripts) and the 'Close and Cascade Comments to Child Tasks' business rule. Modified for our purpose, it looks likes this:

cascadeImpact();
function cascadeImpact(){

var imp = current.u_business_impact;
var bus = new GlideRecord("systems");
bus.addQuery("parent", "=", current.sys_id);
bus.query();
while (bus.next()) {
bus.u_business_impact = imp;
bus.update();
}
}

I've tested in our sub-prod environment with no success. Thoughts/suggestions are welcomed.

Thanks.

3 REPLIES 3

Glenn Goldman2
Kilo Contributor

This is a much more sustainable way to capture criticality for the infrastructure supporting the business systems (business services or application) than tracking at the individual server level. Keep us posted on how you make out.


williamsun
Mega Guru

Remember that the cmdb_ci table is a series of extended tables.
All child tables have the field as the table it extends from, but not viceversa.
If you created this field in the cmdb_ci_appl (Applications) it will not create the field in the cmdb_ci_computer table.

I am trying to add this feature too, but to start, you would have to create the u_business_impact field directly in the cmdb_ci table (base Configuration Item table) and delete it from the table you had created it on.
This way you would have the field throughout all your CI's.

I know that the Business Services has an out of the box Business Criticality field, but once again, it's the extended table, if you need to cascade this to other elements, you need to make sure each of those elements has the field too.

ws


rkmullis
Kilo Contributor

Thanks William. We actually engaged ServiceNow Technical Services to assist with this issue. It was a much more detailed but effective solution utilizing business rules and script includes. I'm very pleased with the result.