NetOps Data Collector is not polling devices after upgrade
search cancel

NetOps Data Collector is not polling devices after upgrade

book

Article ID: 442090

calendar_today

Updated On:

Products

Network Observability CA Performance Management

Issue/Introduction

Following an installation or upgrade of the DX NetOps Performance Management Data Collector, the following symptoms are observed:

*   SNMP data is not populating in Portal charts.
*   The netops-data-collector.log contains the following error:

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /tmp/bc-fips-jni_XXXXXXXXXXX/libbc-probe.so: /tmp/bc-fips-jni_XXXXXXXXXXX/libbc-probe.so: failed to map segment from shared object

Environment

NetOps Performance Management Data Collector

Cause

By default, the Data Collector installer utilizes the system /tmp directory to extract and execute required library files, specifically those within the /tmp/bc-fips* directory used for secure communication. 

If the /tmp partition is mounted with the noexec flag (a common security hardening practice), the Java Virtual Machine (JVM) is unable to map and execute the shared object (.so) files required for FIPS-compliant operations, resulting in an UnsatisfiedLinkError and a failure of the application to initialize polling components.

Resolution

### Immediate Solution ###  
To restore functionality without reinstalling the Data Collector, you must allow execution on the /tmp partition:

Note: Use at your own risk as this is but one possible way to accomplish this.  It is HIGHLY advised to discuss these steps and procedures with you Administration and Security teams as incorrectly performing them could be destructive and may also require policy exceptions.

1.  Remove the noexec flag from the /tmp mount point in /etc/fstab.
2.  Remount the partition:
   
  mount -o remount,exec /tmp
    
3.  Restart the Data Collector services:

    systemctl restart dcmd

### Permanent Solution ###  (Recommended for Next Upgrade)
To maintain security hardening on /tmp, configure the installer to use a different temporary directory that allows execution by setting the IATEMPDIR environment variable before running the installation or upgrade script:

1.  Create a dedicated temporary directory (e.g., /opt/CA/tmp), take note that this directory is not a transient one so ensure you choose a directory that has sufficient space, throughput, and will not be purged either automatically or accidentally.
2.  Set the IATEMPDIR variable and execute the installer:

    export IATEMPDIR=/opt/CA/tmp ./install.bin -i console

This ensures all future application-specific temporary files and libraries are placed in a directory that is not subject to the `/tmp` partition's security restrictions.