search cancel

UIM - QOS enrichment is not working as expected

book

Article ID: 201161

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

With centralized monitoring probes like vmware, snmp_collector, net_connect, sql_response etc. all alarms, qos data and device info are tagged with the same origin.

The Workaround to tag alarms with the correct origin is using a NAS AO pre-processing rule. For qos data the qos_processor can correct the qos origin. 

We have successfully configured an enrichment.rb script, however, the enriched origin are not populating in the USM or in the Operator Console. Therefore USM groups are not showing as expected. The origin enrichment is happening, but the USM view is not showing the groups.

 

 

 

Cause

The problem is caused by the discovery_server functionality in conjunction with qos enrichment.

The USM views (Or Operator Console views in UIM 20.3) are failing to filter out the devices to be shown. Inventory view is performing well, but the groups view is failing.

The reason is that discovery_server is doing a partial update of the origin in cm tables. The discovery_server is updating the cm_computer_system_attr and cm_computer_system_origin tables but not the cm_computer_system.

 

Steps to reproduce the issue:

a. Deploy qos_processor on primary hub.
b. Deploy some monitoring probe like rsp and generate some qos messages.
c. Now, do the origin enrichment using qos_processor. To that, create a file "Nimsoft\probes\slm\qos_processor\scripts\enrichment.rb" with content like below:

        require 'java'

        $logger.info('Hello, Ruby!')
        $logger.info("Monitor before: origin = '" + $monitor.origin + "'")

        if ($monitor.probe == 'rsp')
            $monitor.origin = 'TEST_ORG1'
        end

        $logger.info("Monitor after:  origin = '" + $monitor.origin + "'")
        $logger.info('Goodbye, Ruby!')

d. Configure qos_processors with following configuration:

       message-receiver-bulk-size = 10
       monitor-enricher-thread-count = 5
       monitor-enrichment-execution-interval = 2
       monitor-enrichment-execution-interval-time-unit = MINUTES
       monitor-db-updater-thread-count = 1
       monitor-db-updater-batch-update-size = 10
       monitor-db-updater-auto-commit = true
       monitor-script-execution-interval = 2
       database-connect-max-attempts = 10
       database-connect-retry-sleep-seconds = 60
       subscriptions-check-interval-seconds = 30
       origin-change-detection-enabled = true
       enrichment-enabled = true
       database-loader-fetch-size = 10
       enrich-script-timeout-millis = 2000

e. After qos_processor restarted, the origin of the qos will be enriched to TEST_ORG1 from default hub_name.

d. Create a new user account account1 from AccountAdmin for Origin TEST_ORG1 and an admin user in that account say user1

g. In USM Inventory, for the monitored device, we will notice two origins: hub_name and TEST_ORG1

h. Now, create dynamic group for account account1, with filter "EnrichedOrigins" =  TEST_ORG1

i. The group members are visible when logged in as administrator and not visible if logged in as user1.

 

 

Environment

Release : UIM 9.x ***

Component : UIM - DISCOVERY_SERVER

Resolution

The hotfix discovery_server-9.20-HF4-20201007.215142-1.zip resolves this issue. 

The discovery_server hotfix can be downloaded here

 

After applying the fix , the group members should be visible for user1 as well and the devices are listed properly.

 

****If you are experiencing this issue with UIM 20.1, UIM 20.3, please engage Tech support to request the 20.* compatible fix (Ref. DE441780)