View Only

Unlock Ready-To-Use Geospatial Context Views using IBM-Cloud Pak for AIOps

By Krishna Kodali posted 19 days ago


When it comes to Incident Management, IT Operations have the capability to utilize CP4AIOps for a multitude of tasks aimed at regaining control over affected areas. These tasks include, but are not limited to, managing dependencies such as power outages and overlay weather conditions, employing polygons to illustrate boundaries, minimizing truck rolls for maintenance schedules, and numerous others.

With-in CP4AIOps, geographical data, specially Latitude and Longitude for resources can be brought in several ways, such as Out-of-the-box Ciena Blue Plant, IBM Network Manager, File, REST Observers and alternatively leverage file-enrichment rule etc.  

The purpose of this blog is to explore the details of IBM Network Manager and offer insights on refining your discovery outcomes for AIOps utilization through NM Observer. There are two ways to enrich discovery with geographical data in Network Manager:

a)        Use of SysLocation data on actual devices that include Lat, Long specifics.

b)        Enrich discovery with geographical data by tapping onto external system.

While using option ‘#a’ – the Lat, Long attributes would be available with-in Discovery Process at m_ExtraInfo->geographicLocation->latitude & m_ExtraInfo->geographicLocation->longitude as part of workingEntities.finalEntity Table.

To integrate those attributes into the Model extension table, you'll want to add them to the DbEntityDetails configuration file located at $NCHOME/etc/precision/DbEntityDetails.cfg. Ensure that each attribute is appropriately formatted and separated by commas and prefixed with hard-coded keyword 'point'. 

Here is an example:

insert into dbModel.entityDetails
    1,  -- chassis
   geoLocation = "eval(text, 'CAT(`point,`, &m_ExtraInfo-> geographicLocation-->Latitude , `,`, &m_ExtraInfo-> geographicLocation->Longitude)')"

When using option ‘#b’ – the data is available only at DNCIM, you could update $NCHOME/ precision/disco/stitchers/DNCIM/ACMEDeviceLocationEnrich.stch (this is default stitcher name, unless renamed) and append following section at the end of foreach "getACMEGeoLocation" loop i.e.,

     Record geoLocation;
     @geoLocation.entityId = entityId;
     @geoLocation.keyName = "geoLocation";
     @geoLocation.keyValue = eval( text, 'CAT(`point,`,$Latitude,`,`,$Longitude)' );
     DncimInsert( entityId, "entityDetails", geoLocation );
     delete( geoLocation );

If you are making changes to an existing domain, you must stop the domain delete existing DNCIM folder ($NCHOME/ precision/embeddedDb/sqlite/ncp_disco.<domainName>) and restart domain and kick off full Discovery. 

Regardless of the approach, the following query would determine whether the Network Manager possesses the essential Geo-Spatial data suitable for AIOps utilization. You would run this where Network Manager backend processes are running:

#ncp_oql -domain <domainName> -service Model -query "select ENTITYNAME, entityDetails->geoLocation from ncimCache.entityData where ENTITYTYPE=1 and entityDetails like 'point';" -tabular

Last but not least, ensure that the AIOps instance has a defined Map Tile Server. Tile server providers offer various licenses, ranging from free for limited use to paid options.

Once you've confirmed the above steps and successfully loaded data from one of the Observers, you can apply a filter within the 'Resource Management' section to exclusively display devices associated with Geo-Spatial data. Subsequently, you can click on the 'View on Map' icon and opt for 'Zoom fit' to visualize all the resources on the map. 

Leverage Filtering option to see only resources with Geo-Spatial data associated:

Below is an instance of an affected site (Boston) where the Ops team could enhance and improve the overall efficiency of IT Operations by incorporating Geo-Spatial context.