This article explains how to fix a VMware element that was automatically added to Uptime Infrastructure Monitor through the vSync process but is only collecting performance metrics provided by vCenter for the VM and not from the UIM Agent.

When a new VM is created in a vCenter system that is monitored by UIM, that VM is automatically added to UIM. If the UIM Agent is installed on that VM (or if WMI collection is an option), then the UIM Monitoring Station will notice that on a regularly scheduled vSync scan.

When the Agent (or WMI) is discovered, the VM element is converted from using VM-basic collection to use VM+Agent (or VM+WMI) collection. VM-basic collection only collects performance metrics for the VM element from vCenter, whereas VM+Agent collection means that performance metrics for that VM element are collected from vCenter as well as the UIM Agent.

Occasionally, the process of converting the element from VM-basic collection to VM+Agent (or VM+WMI) collection only partially completes. There are a few symptoms of this occurring.

  • The Poll Agent tool found under the Info tab for the VM element returns a Java exception starting with "java.lang.NullPointerException"
  • The Poll Agent link exists but the Configuration Update Gatherer (CUG)and Platform Performance Gatherer (PPG) monitors do not appear on the Manage Services page (small Services tab)

The CUG and PPG monitors are background monitors that are required for proper and regular collection of the Agent and WMI elements. If those monitors are missing for a VM element, the following SQL statements can be used to change the VM element from VM+Agent collection back to VM-basic collection. The next time the vSync process runs, the Agent (or WMI) will be discovered again and the element will be converted to VM+Agent (or VM+WMI) collection again - most likely, successfully this time.

  • get a list of VM elements that should be using VM+Agent or VM+WMI collection but are missing the CUG monitor.
    SELECT e.entity_id, e.name, e.display_name, (e.monitored+0) AS "Monitored" FROM entity e 
    LEFT JOIN entity_subtype es ON e.entity_subtype_id=es.entity_subtype_id
    LEFT JOIN erdc_base eb ON e.defining_erdc_base_id=eb.erdc_base_id 
    LEFT JOIN vmware_object vo ON e.entity_id=vo.entity_id
    WHERE es.name='Virtual Machine'
    AND eb.name != 'MonitorDummyVmware'
    AND e.entity_id NOT IN
    (SELECT entity_id FROM erdc_instance WHERE name LIKE 'Configuration Update Gatherer');
  • using an UPDATE statement very similar to the SELECT statement above, we'll switch the affected elements to use VM-basic collection again
    MySQL
    UPDATE entity e, (
         SELECT e2.entity_id FROM entity e2
         LEFT JOIN entity_subtype es ON e2.entity_subtype_id = es.entity_subtype_id 
         LEFT JOIN erdc_base eb ON e2.defining_erdc_base_id = eb.erdc_base_id
         LEFT JOIN vmware_object vo ON e2.entity_id = vo.entity_id 
         WHERE es.name = 'Virtual Machine'
         AND eb.name != 'MonitorDummyVmware' 
         AND e2.entity_id NOT IN (
              SELECT entity_id FROM erdc_instance WHERE name LIKE 'Configuration Update Gatherer'
         )
    ) t
    SET e.defining_erdc_base_id = (SELECT eb1.erdc_base_id FROM erdc_base eb1 WHERE eb1.name = 'MonitorDummyVmware') 
    WHERE e.entity_id = t.entity_id;MySQL
    Oracle / MySQL
    UPDATE entity
    SET defining_erdc_base_id = (
        SELECT eb1.erdc_base_id FROM erdc_base eb1 WHERE eb1.name = 'MonitorDummyVmware'
    )
    WHERE entity_id IN (
        SELECT e2.entity_id FROM entity e2
        LEFT JOIN entity_subtype es ON e2.entity_subtype_id = es.entity_subtype_id
        LEFT JOIN erdc_base eb ON e2.defining_erdc_base_id = eb.erdc_base_id
        LEFT JOIN vmware_object vo ON e2.entity_id = vo.entity_id
        WHERE es.name='Virtual Machine'
        AND eb.name != 'MonitorDummyVmware'
        AND e2.entity_id NOT IN
        (SELECT entity_id FROM erdc_instance WHERE name LIKE 'Configuration Update Gatherer'
        )
    );

It is very unusual for the failed conversion to happen again for the same element but if the symptom mentioned above (NPE error in Poll Agent output) appear again, try the SQL statements again.

If a day passes after running the SQL UPDATE statement and the Poll Agent link has not appeared again, use the Agent Scanner tool to verify that the Agent service is accessible. It is probably best to reach out to UIM Support for assistance interpreting the results from the Agent Scanner to determine if there is any issue communicating with the Agent service. 

  1. In the UIM UI, click the dropdown button beside your username in the top right corner, and then select Support.
  2. Scroll down and click the Agent Scanner link.
  3. Type the hostname of the agent system.
  4. Select Uptime Agent.
  5. Type 9998 in the Port field.
  6. Select each of the Agent Command checkboxes.
  7. Click the Query button (above the Agent Command boxes).
  • No labels