Telemetry via Sink ubus

The Netify ubus interface enables the real-time export of network telemetry and metadata from the DPI engine to local applications via the ubus messaging system, commonly used on OpenWrt, PrplOS and other embedded Linux distributions. This method provides lightweight, low-latency inter-process communication, making it ideal for local monitoring, automation scripts, and system integration.

For alternative methods of accessing network telemetry, see the related Netify Sink options.


License

The Netify Sink ubus plugin is a proprietary plugin requiring a license. Please contact us for details.


Installation

Netify plugins are distributed through the same packaging workflow as the Netify Agent, allowing for a consistent installation experience using standard package manager syntax. While pre-compiled binaries are readily available for x86_64 architectures via our public mirrors, support for ARM, MIPS, and other specialized architectures is available upon request. Please contact us for details.

Step 1 - Select your installation target:

Step 2 - Add Netify's package signing key and repository:

Terminal - Netify
×
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/24.10/x86' >> /etc/opkg/customfeeds.conf

Step 3 - Install Netify Sink ubus:

Terminal - Netify
×
opkg update
opkg install netify-sink-ubus

Step 2 - Add Netify's package signing key and repository:

Terminal - Netify
×
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/23.05/x86' >> /etc/opkg/customfeeds.conf

Step 3 - Install Netify Sink ubus:

Terminal - Netify
×
opkg update
opkg install netify-sink-ubus

Step 2 - Add Netify's package signing key and repository:

Terminal - Netify
×
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/22.03/x86' >> /etc/opkg/customfeeds.conf

Step 3 - Install Netify Sink ubus:

Terminal - Netify
×
opkg update
opkg install netify-sink-ubus

Step 2 - Add Netify's package signing key and repository:

Terminal - Netify
×
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/21.02/x86' >> /etc/opkg/customfeeds.conf

Step 3 - Install Netify Sink ubus:

Terminal - Netify
×
opkg update
opkg install netify-sink-ubus

Step 2 - Add Netify's package signing key and repository:

Terminal - Netify
×
wget http://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify http://download.netify.ai/5/openwrt/19.07/x86' >> /etc/opkg/customfeeds.conf

Step 3 - Install Netify Sink ubus:

Terminal - Netify
×
opkg update
opkg install netify-sink-ubus

Setup

To use the Netify Sink ubus plugin, ensure your license.json includes the netify-sink-ubus entitlement.

All plugins are disabled by default, and the Netify Sink ubus plugin is no different. Use netifyd's --enable-plugin and --disable-plugin flags to enable or disable the plugin.

Terminal - Netify
×
netifyd --enable-plugin sink-ubus  # Enables loader
netifyd --disable-plugin sink-ubus # Disables loader

For orchestration tools or manual setup, you can also directly update configuration file in the plugins.d subdirectory and set enable to yes.

See the advanced configuration section for details on instantiating multiple instances of the plugin.

Terminal - Netify
×
$ cat 10-netify-sink-ubus.conf
[sink-ubus]
enable = yes
plugin_library = /usr/lib64/libnetify-sink-ubus.so.0.0.0
conf_filename = ${path_state_persistent}/netify-sink-ubus.json

AI Integration

For AI integration and machine learning models, the Netify Sink ubus JSON schema is available for reference.

Configuration

The plugin is configured via the JSON file referenced by its loader (typically /etc/netifyd/netify-sink-ubus.json ).

Global Configuration

channels

object

Channel configurations.

Channel Configuration

path

string

The ubus object path to invoke (e.g., 'netify.metadata').

function

string

The specific ubus method to call for published metadata.

Example ubus Plugin Configuration

{
    "channels": {
        "default": {
            "path": "path",
            "function": "function"
        }
    }
}

Telemetry

With one or more sink outputs configured to receive data, the final step is to configure the agent to send telemetry.

Get Telemetry