public

Unable to retrieve the complete inventory of vCenter objects (vCenter DOS alerts)

Unable to retrieve the complete inventory of vCenter objects? Check your vAPI endpoint logs and apply quick fix!

8 months ago

Latest Post VMware Cloud Director OIDC / Import Users and Groups from Workspace One Access (Identity Manager) by Alexey Koznov public

VMware Aria Operations (formerly vRealize Operations) is a powerful tool for managing and monitoring virtualized environments. It provides comprehensive insights into various aspects of your infrastructure, including hosts and virtual machines (VMs) managed by vCenter. However, users may sometimes encounter a frustrating issue where they are unable to retrieve the complete inventory of vCenter objects through vRealize Operations. This article delves into a common cause of this problem and provides a step-by-step guide to fixing it.


When attempting to gather information about hosts and VMs from vCenter through vRealize Operations and not all objects are available at interface you can check logs of the vAPI endpoint to troubleshoot communications.

You will see the couple of messages that are showing some Over Limit connections and delaying of that requests:

2023-08-07T14:10:16.951Z | WARN | jetty-default-2195 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@43c9916[type=IP, id=127.0.0.1, duration=PT0.977020579S, count=1500], session=null, user=null
2023-08-07T14:10:16.951Z | WARN | jetty-default-1799 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@3c8ebf50[type=IP, id=127.0.0.1, duration=PT0.977192879S, count=1500], session=null, user=null
2023-08-07T14:10:16.953Z | WARN | jetty-default-1943 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@dd73aff[type=IP, id=127.0.0.1, duration=PT0.979394814S, count=1500], session=null, user=null
2023-08-07T14:10:16.955Z | WARN | jetty-default-2069 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@2dabfb64[type=IP, id=127.0.0.1, duration=PT0.980555122S, count=1500], session=null, user=null
2023-08-07T14:10:16.955Z | WARN | jetty-default-2197 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@58f223e[type=IP, id=127.0.0.1, duration=PT0.980456018S, count=1500], session=null, user=null
2023-08-07T14:10:16.957Z | WARN | jetty-default-1939 | DoSFilter | DOS ALERT: Request delayed=100ms, ip=127.0.0.1, overlimit=OverLimit@2409bba0[type=IP, id=127.0.0.1, duration=PT0.982484841S, count=1500], session=null, user=null

This error indicates that there is an overload or throttling issue in the communication between vRealize Operations and the vAPI endpoint.


Fortunately, addressing this issue is relatively straightforward, involving a configuration change and a service restart. Follow these steps to resolve the incomplete inventory problem:

Step 1: Edit the vAPI Endpoint Configuration

The vAPI endpoint configuration file is located at /etc/vmware-vapi/endpoint.properties within the vCenter Server Appliance.

Open the endpoint.properties file in a text editor of your choice. Find and change the settings that are related to throttling (limitation of the number of incoming requests to prevent overloading the system).

Make a copy of configuration file and make a commented line copy for all parameters that you will change. Snapshot is also good to have.

You might find settings like and http.request.rate.count , http.request.rate.interval , http.request.maxSize and http.request.inflight.maxCount in this file.

Step 2: Adjust the Settings

Set the values of http.request.rate.count , http.request.rate.interval , http.request.maxSize and http.request.inflight.maxCount to 0 (zero) to allow for an unlimited volume of incoming requests. These values determine how many requests the system can handle concurrently and when to start throttling requests. Increasing these values can help accommodate larger inventory retrieval requests.

http.request.rate.count=0
http.request.rate.interval=0
http.request.maxSize=0
http.request.inflight.maxCount=0 

Also, we have increased heap size for allocated memory for vAPI endpoint service to 1024mb. For checking current settings you can use command cloudvm-ram-size -l | grep vmware-vapi-endpoint . For our installation size heap size was 1024mb.

We've increased that number to 512mb (using article https://kb.vmware.com/s/article/83135):

cloudvm-ram-size -C 1024 vmware-vapi-endpoint

Step 3: Save the Changes

After making the necessary adjustments, save the changes to the endpoint.properties file.

Step 4: Restart the vAPI Endpoint Service

To apply the changes, restart the vAPI endpoint service. You can do this using the appropriate commands from ssh session or using VAMI web interface.

You might use the following commands to stop and start service:

service-control --stop vmware-vapi-endpoint
service-control --start vmware-vapi-endpoint

Step 5: Verify the Fix

Once the service is restarted, attempt to retrieve the vCenter inventory from vRealize Operations again. Monitor the logs for any recurrence of the 'DOS ALERT' error message. If the error no longer appears, and you're able to retrieve the complete inventory, then the issue is successfully resolved.

Alexey Koznov

Published 8 months ago

Comments?

Leave us your opinion.