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
Netify 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:
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:
opkg update
opkg install netify-sink-ubus
Step 2 - Add Netify's package signing key and repository:
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:
opkg update
opkg install netify-sink-ubus
Step 2 - Add Netify's package signing key and repository:
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:
opkg update
opkg install netify-sink-ubus
Step 2 - Add Netify's package signing key and repository:
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:
opkg update
opkg install netify-sink-ubus
Step 2 - Add Netify's package signing key and repository:
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/19.07/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install Netify Sink ubus:
opkg update
opkg install netify-sink-ubus
Setup
All plugins are disabled by default, and the Netify Sink ubus plugin is no different. Use the --enable-plugin and --disable-plugin parameters to enable or disable the plugin:
netifyd --enable-plugin sink-ubus
netifyd --disable-plugin sink-ubus
Alternatively, you can edit /etc/netifyd/plugins.d/10-netify-sink-ubus.conf and set enable to yes.
[sink-ubus]
enable = yes
plugin_library = /usr/lib64/libnetify-sink-ubus.so.0.0.0
conf_filename = ${path_state_persistent}/netify-sink-ubus.json
Configuration
Once the plugin has been enabled, it can be configured using the defined JSON configuration file specified in the plugin loader configuration. Let's look at a sample configuration to review the syntax and parts of the file.
channels
objectAn object array that defines one or more ubus channels.
channel.path
stringubus object path to invoke.
channel.function
stringubus function or 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.