Unable to get inventory from remote NFS file system
A client needs to include inventory from remote file system mounted as directories on some Linux systems. FlexNet agent version 2020 R2.3 (16.3) is installed on RHEL version 7.9 systems.
Using this command run from each system
ndtrack -t machine -o IncludeNetworkDrives=True -o IncludeFileSystemType=nfs -o Recurse=True -o IncludeDirectory=/opt/wls -o IncludeDirectory=/opt/tomcat -o IncludeFile=jdk*
We are looking for jdk evidence. Linux tools show us the files are there yet we get no relevant unrecognized evidence or inventory from the agents.
Does anyone have experience with this situation?
First, try a single IncludeDirectory directive with the directories separated by commas OR use semi-colon but must then include in quotes which I've seen used more often - examples are below:
Second, I don't believe the IncludeFile directive allows wildcards as it's not specified that way in the documentation. Try removing that and see if you're getting files from those directories. We should pick up executable files from there. So try the command below:
ndtrack -t machine -o IncludeNetworkDrives=True -o IncludeFileSystemType=nfs -o Recurse=True -o IncludeDirectory="/opt/wls;/opt/tomcat"
Full documentation for the commands is here for reference: https://docs.flexera.com/fnms/EN/GatherFNInv/index.html#SysRef/FlexNetInventoryAgent/topics/PMD-ChIn...
Are the files you're looking to get information for appearing in the .ndi file that is generated when you run ndtrack? I'm wondering whether the breakdown in the process is that you're not getting file details into the .ndi file, or whether the details are getting into the file but not being imported by the inventory import process.
As @dhoagland1 has noted, specify multiple IncludeDirectory values as -o IncludeDirectory=a,b rather than -o IncludeDirectory=a -o IncludeDirectory=b.
Also check that the jdk* files you are seeking to find have the "executable" bit set. ndtrack does not gather details of files on Linux unless they are executable.
@dhoagland1 was unsure whether a "*" wildcard can be used in the IncludeFile setting. I can confirm that "*" and "?" can be used here with normal wildcard matching semantics (matching multiple characters or a single character respectively).
The details are not showing in the ndi file. Looking at the Linux file system we can see executables in the /nfs/opt/wls/jdk18.104.22.1681/bin file path. These are what is needed for application recognition of the jdk applications. See the attached screenshot from the server.
The command being run is as suggested.
Question: This is on an nfs file share mounted as a directory on the individual servers: Should /nfs be used in the command option string, or not?
Like this: -o /nfs/opt/wls/jdk22.214.171.1241/bin
Or this: -o /opt/wls/jdk126.96.36.1991/bin
Thank you Dawn and ChrisG
The full path (from the root directory) should be included in the IncludeDirectory preference setting. So in your case the path should start with "/nfs". For example:
ndtrack -t machine -o IncludeNetworkDrives=True -o IncludeFileSystemType=nfs -o Recurse=True -o IncludeDirectory=/nfs/opt/wls/jdk188.8.131.521/bin,/opt/some-other-path-you-want-to-track -o IncludeFile=jdk*
During a recent lengthy support case (#01944043) related to NFS file system scanning, I learned that in addition to the documented 'nfs' file system type, there is a number of additional NFS related file system types (tmpfs,ufs,lofs,cifs) that you can use as options for the 'IncludeFileSystemType' command line parameter for the Flexera agent.
As an example, on many Unix/Linux systems, the root-directory "/" is mounted as a FS from type "tmpfs".
In case the command line statement for running the Flexera agent provided by @dhoagland1 does not run successfully, can you try to modify the statement to include additional NFS file system types please, like in:
ndtrack -t machine -o IncludeNetworkDrives=True -o IncludeFileSystemType=tmpfs,nfs -o IncludeDirectory="/opt/wls;/opt/tomcat"