NSX Advanced Load Balancer Management Pack integration with Aria Operations not working
search cancel

NSX Advanced Load Balancer Management Pack integration with Aria Operations not working

book

Article ID: 323498

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

The purpose of this knowledge base article is to provide a workaround to get the NSX-ALB management pack integration working.

Symptoms:
  • The NSX Advanced Load Balancer management pack is not collecting in Aria Operations. The following state is displayed on the instance:
    "Collecting, Status: Error, Message: Unable to Establish Connection to Endpoint NSX Advanced LB", for the remaining or "State: Collecting, Status: None"

  • The adapter instance in Inventory shows collection state is collecting but collection status shows not collecting
  • Testing the adapter instance show that it can connect to NSX server
  • The same issue persists even after upgrading the NSX Advanced Load Balancer Management Pack from version 1.0 to 1.2 and upgrading Aria Operations from version 8.12 to 8.17.x.

  • Data collection from NSX-ALB does not work. in the NSX-ALB adapter logs, repeated errors as follows are shown:

NSXAdvancedLBAdapter_623150.log.1:Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://vasxxxxxx.edu.gov/api//cluster": PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

ERROR [pool-461879-thread-3] (10943) com.vmware.vcops.NSXAdvancedLBAdapter.getCloud - Error while fetching clouds
org.springframework.web.client.HttpServerErrorException$BadGateway: 502 Bad Gateway: "{"error": "Bad service"}<EOL><EOL>"
        at org.springframework.web.client.HttpServerErrorException.create(HttpServerErrorException.java:108) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:170) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:819) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:777) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:732) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:343) ~[avisdk-21.1.4-jar-with-dependencies.jar:?]
        at com.vmware.vcops.client.AviApi.getForObjectList(AviApi.java:150) ~[nsx-alb.jar:?]
        at com.vmware.vcops.client.AviClient.getCloud(AviClient.java:103) ~[nsx-alb.jar:?]
        at com.vmware.vcops.manager.CloudManager.collect(CloudManager.java:53) ~[nsx-alb.jar:?]
        at com.vmware.vcops.dataprovider.AviDataProvider$2.run(AviDataProvider.java:179) ~[nsx-alb.jar:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
        at java.lang.Thread.run(Unknown Source) ~[?:?]

ERROR [pool-461879-thread-3] (10943) com.vmware.vcops.NSXAdvancedLBAdapter.run - Failed to initiate resource collection
java.lang.NullPointerException: null
        at com.vmware.vcops.manager.CloudManager.collect(CloudManager.java:55) ~[nsx-alb.jar:?]
        at com.vmware.vcops.dataprovider.AviDataProvider$2.run(AviDataProvider.java:179) ~[nsx-alb.jar:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
        at java.lang.Thread.run(Unknown Source) ~[?:?]

  • CPU usage may be high on the Aria Operations appliance(s), and may observe frequent collector crashes as the service spins in an effort to connect to the endpoint

Environment

VMware Aria Operations 8.12.x
VMware Aria Operations 8.14.x
VMware Aria Operations 8.17.x
NSX Advanced Load Balancer (AVI) - 22.1.3 (9096)
NSX Advanced Load Balancer MGMT pack - 1.2.22602622
NSX Advanced Load Balancer (AVI) - 22.1.6 

Cause

Aria Operations 8.X integration with NSX-ALB completes and the test is successful, but after the integration is saved, the cloud proxy status shows "No data receiving" or "Unable to Establish Connection to NSX Advanced LB Endpoint"

Deleting the certificate, and testing the integration, works, and can be saved, but the instance state still shows the same error messages.

Resolution

In some cases, this issue can be resolved by taking the cluster offline, bringing it back online, and rebooting the cloud proxy VM. As it's recommended to take snapshots of the analytics node before following the steps below, verify if the issue persists after taking snapshots.

Best practices for taking snapshots is to take offline snapshots which will include a cluster restart. If the issue is resolved after a cluster/cloud proxy restart, go ahead and delete the snapshots, if it does not resolve, please proceed with the procedure below:

  1. Delete the Integration with the NSX-ALB endpoint
  2. Open the VMware Aria Operations UI, and navigate to Administration / Certificate Management and remove the NSX certificate
  3. Click on import certificate, and manually point it to the location of the save NSX-ALB certificate.

Note: Alternatively, you can navigate to Integrations > Data Sources, and edit the NSX management pack instance(s), click Validate Connection, and accept to pull in the new certificate.