How to get support

To get support for the Nx AI Manager, check the following resources

The support pages and community forums

And check the steps in the troubleshooting section below.

Contacting us

If your problem is not solved by the steps in the troubleshooting section you can contact us through the Network Optix support. Please make sure to prepare your question by collecting all relevant logs and system information beforehand.

Logs can be gathered by running the following shell script on the relevant machine:

Shell script to gather logs and system information
#!/bin/bash

# This script is used to gather information about the HW and SW of the system, in addition to information about the AI Manager and the AI Plugin.
# The information is stored in a directory located in ~/nxai_info and then compressed into a file named ~/nxai_info.tgz.

# Enable debug mode
# set -x

# Create directory where the information will be stored
current_dir=$(pwd)
info_dir=~/nxai_info
rm -rf $info_dir >/dev/null 2>&1
rm -rf $info_dir.tgz >/dev/null 2>&1
mkdir -p $info_dir

# Redirect all output and error streams to a log file
log_file="$info_dir/nxai_info.log"
exec > >(tee -a "$log_file") 2>&1

############################### Basic System Information
lsb_release -a >$info_dir/lsb_release.txt
uname -a >$info_dir/uname.txt
lscpu >$info_dir/lscpu.txt
lshw >$info_dir/lshw.txt
lspci >$info_dir/lspci.txt
df -h >$info_dir/df.txt
ldd --version >$info_dir/ldd_version.txt

############################### Check if the mediaserver is installed
plugins_dir=""
if [ -d /opt/networkoptix-metavms/mediaserver/bin/plugins/ ]; then
    plugins_dir="/opt/networkoptix-metavms/mediaserver/bin/plugins/"
elif [ -d /opt/networkoptix/mediaserver/bin/plugins/ ]; then
    plugins_dir="/opt/networkoptix/mediaserver/bin/plugins/"
else
    echo "MediaServer is not installed."
    exit 1
fi
# get MediaServer installed version
cat $plugins_dir/../../build_info.txt >$info_dir/mediaserver_info.txt

############################### Check if AI Plugin is installed
if [ -f $plugins_dir/nxai_plugin/libnxai_plugin.so ]; then
    echo "AI Plugin is installed."
else
    echo "AI Plugin is not installed."
    exit 2
fi
libnxai_plugin_dir=$plugins_dir/nxai_plugin/
# Check if tree is installed
if command -v tree >/dev/null 2>&1; then
    echo "Using tree to list files in the AI Plugin directory"
    tree -h --du "$libnxai_plugin_dir/" >"$info_dir/nxai_plugin_tree.txt"
else
    echo "Using du to list file sizes in the AI Plugin directory"
    du -ah "$libnxai_plugin_dir/" >"$info_dir/nxai_plugin_du.txt"
fi

# Gather all log files in the AI Plugin directory
find $libnxai_plugin_dir -name "*.log" -exec cp {} $info_dir/ \;
find $libnxai_plugin_dir -name "*.log.*" -exec cp {} $info_dir/ \;

############################### Check if AI Manager is installed
if [ -d $libnxai_plugin_dir/nxai_manager/bin ]; then
    echo "AI Manager is installed."
else
    echo "AI Manager is not installed."
    exit 3
fi
nxai_manager_dir=$libnxai_plugin_dir/nxai_manager/
bin_dir=$nxai_manager_dir/bin/

############################### Check AI Manager configuration
if [ -f $bin_dir/installed_runtime.txt ]; then
    echo "Runtime might be installed."
else
    echo "Runtime not installed."
    exit 4
fi
# Get the installed runtime information
cp $bin_dir/installed_runtime.txt $info_dir/installed_runtime.txt
# Get the settings file
cp $bin_dir/../etc/settings.json $info_dir/settings.json

############################### Check if AI Manager is running
# get running processes
ps aux | grep sclbl >$info_dir/nxai_manager_ps_aux.txt
ps aux | grep nxai >>$info_dir/nxai_manager_ps_aux.txt
# start the ai manager manually and stop it after 5 seconds
echo "Running AI Manager for 5 seconds..."
cd $bin_dir
timeout 5s ./sclblmod >$info_dir/ai_manager_run.txt 2>&1
# Use the following line if the ai manager doesn't exit after 5 seconds
# timeout --signal=SIGKILL 5s ./sclblmod >$info_dir/ai_manager_run.txt 2>&1

############################### Check connectivity to the Nx AI Cloud
# Check if curl or wget is available
if command -v curl >/dev/null 2>&1; then
    echo "Using curl"
    # check if Nx AI Cloud is reachable
    curl -s https://api.sclbl.nxvms.com/dev/ >$info_dir/nxai_cloud_connectivity.txt
    # Download a file from the Nx AI Cloud to measure the download speed
    echo "Downloading a test file from the Nx AI Cloud to measure download speed..."
    curl -s -m 10 "https://cdn.sclbl.nxvms.com/benchmark.bin?size=10" -o /dev/null -w "%{speed_download}" |
        awk '{print "Model download speed: " $1/1048576 " MB/sec"}' \
            >$info_dir/nxai_cloud_download_speed_1.txt
    curl -s -m 10 "https://artifactory.nxvms.dev/artifactory/nxai_open/files/23MB.bin" -o /dev/null -w "%{speed_download}" |
        awk '{print "Runtime download speed: " $1/1048576 " MB/sec"}' \
            >$info_dir/nxai_cloud_download_speed_2.txt
elif command -v wget >/dev/null 2>&1; then
    echo "Using wget"
    wget -q -O "$info_dir/nxai_cloud_connectivity.txt" https://api.sclbl.nxvms.com/dev/
    wget --timeout=10 "https://artifactory.nxvms.dev/artifactory/nxai_open/files/23MB.bin" -O /dev/null >$info_dir/nxai_cloud_download_speed_1.txt 2>&1
    wget --timeout=10 "https://cdn.sclbl.nxvms.com/benchmark.bin?size=10" -O /dev/null >$info_dir/nxai_cloud_download_speed_2.txt 2>&1
else
    echo "ERROR: Neither curl nor wget is installed."
fi

wget -q -O "./nxai_cloud_connectivity.txt" https://api.sclbl.nxvms.com/dev/

############################### tar compress the information
cd $info_dir/..
tar -cvf $info_dir.tgz "$(basename $info_dir)" >/dev/null || echo "ERROR: Failed to compress the information."

echo "System information gathering complete."
echo "The collected information is stored in $info_dir.tgz"
cd "$current_dir"

This will create a file called nxai_info.tgz in the home directory. Attaching this file to your support question will make it much easier for us to help you.

Last updated