AON reports ALB data source failure with FAILED_DATASOURCE_OPERATION
search cancel

AON reports ALB data source failure with FAILED_DATASOURCE_OPERATION

book

Article ID: 440021

calendar_today

Updated On:

Products

VCF Operations for Networks

Issue/Introduction

- Aria Operations for Networks (AON) intermittently reports failures in the application load balancer (ALB) data source.
- Collector Logs at location /var/log/arkin/collector/latest.log shows below error entry:

YYYY-MM-DDTHH:MM:SS.NNNZ INFO impl.dataprovider.AbstractDPOperationsManager DataProviderManager::healthCheck getHealthStatus:514 DPHealthStatus: dpId {
dataProviderIdentifier: "NSXALB_{{ALB_HOSTNAME}}"
customerId: #####
}
healthReport {
health: UNHEALTHY <-----!
healthMessage: "java.lang.NullPointerException_n_tat com.vnera.dp.nsxalb.EventDetails_Builder.setDescription(EventDetails.java:1914)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertUtils.processEvent(NSXALBAlertUtils.java:234)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertFetcher.getDataTransferEntity(NSXALBAlertFetcher.java:74)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertFetcher.getDataTransferEntity(NSXALBAlertFetcher.java:28)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractEntityFetcher.pushPayload(AbstractEntityFetcher.java:102)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractEntityFetcher.pushPayload(AbstractEntityFetcher.java:56)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertPollingTask.fetchAlerts(NSXALBAlertPollingTask.java:98)_n_tat com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertPollingTask.doRun(NSXALBAlertPollingTask.java:66)_n_tat com.vnera.dataproviders.core.common.impl.dataprovider.tasks.AbstractTask.run(AbstractTask.java:165)_n_tat com.vnera.dataproviders.tasker.Tasker_ScheduledTaskWrapper.run(Tasker.java:486)_n_tat com.google.common.util.concurrent.MoreExecutors_ScheduledListeningDecorator_NeverSuccessfulListenableFutureTask.run(MoreExecutors.java:678)_n_tat java.base/java.util.concurrent.Executors_RunnableAdapter.call(Executors.java:539)_n_tat java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)_n_tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor_ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)_n_tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)_n_tat java.base/java.util.concurrent.ThreadPoolExecutor_Worker.run(ThreadPoolExecutor.java:635)_n_tat java.base/java.lang.Thread.run(Thread.java:840)_n"
healthErrorCode: "FAILED_DATASOURCE_OPERATION"
healthPayload: ""
}
::
DPTaskGroupStatusList: [DPTaskGroupStatus
{
collectedDataType=CONFIG
taskGroupExecStatus=UNHEALTHY
taskGroupErrorCode=FAILED_DATASOURCE_OPERATION
taskGroupErrorMsg=java.lang.NullPointerException <-----!
at com.vnera.dp.nsxalb.EventDetails_Builder.setDescription(EventDetails.java:1914)
at com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertUtils.processEvent(NSXALBAlertUtils.java:234)
at com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertFetcher.getDataTransferEntity(NSXALBAlertFetcher.java:74)
at com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertFetcher.getDataTransferEntity(NSXALBAlertFetcher.java:28)
at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractEntityFetcher.pushPayload(AbstractEntityFetcher.java:102)
at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractEntityFetcher.pushPayload(AbstractEntityFetcher.java:56)
at com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertPollingTask.fetchAlerts(NSXALBAlertPollingTask.java:98)
at com.vnera.dataproviders.core.impl.vmware.nsxalb.NSXALBAlertPollingTask.doRun(NSXALBAlertPollingTask.java:66)
at com.vnera.dataproviders.core.common.impl.dataprovider.tasks.AbstractTask.run(AbstractTask.java:165)
at com.vnera.dataproviders.tasker.Tasker_ScheduledTaskWrapper.run(Tasker.java:486)
at com.google.common.util.concurrent.MoreExecutors_ScheduledListeningDecorator_NeverSuccessfulListenableFutureTask.run(MoreExecutors.java:678)
at java.base/java.util.concurrent.Executors_RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor_ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor_Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
::

 

Environment

Aria Operations for Networks 6.14
Advanced Load Balancer 30.2.2

Cause

The issue is caused by a NullPointerException within Aria Operations for Networks when fetching event data from the ALB. 
According to the ALB API documentation: EventLog, the event description field is optional.
However, the AON code did not correctly handle the scenario where the event description field was absent or null in the ALB API response, leading to the data source being marked as unhealthy.

Resolution

This issue is planned to be addressed in a future release.