Netify Sink MQTT Plugin

Introduction

MQTT is used for enabling efficient, scalable, and reliable communication where lightweight, asynchronous messaging is required to connect diverse devices and systems.

License

Netify Message Queue (MQTT) Plugin is a proprietary plugin requiring a license. Please contact us for details.

Installation

Netify plugins are packaged in the same workflow as the agent and can usually be installed using a similar syntax that was implemented during the installation of the Netify agent. Exceptions to this rule occur when the plugin requires a Software License Agreement or if an upgrade or downgrade to a different version of the plugin is required.

Plugins are compiled against specific Netify agent versions and require ABI compatibility. Click here for more information.
Download URLs in the commands below for example only and version specific. Use a browser to navigate to the repository to find and copy the package you wish to install.

Alma Linux

Alma Linux 9

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/almalinux/9/stable/x86_64/netify-sink-mqtt_1.0.34-1.os9.x86_64.rpm
apt install ./netify-sink-mqtt_1.0.34-1.os9.x86_64.rpm
Alma Linux 8

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/almalinux/8/stable/x86_64/netify-sink-mqtt_1.0.34-1.os8.x86_64.rpm
yum install ./netify-sink-mqtt_1.0.34-1.os8.x86_64.rpm

Debian

Debian 13 (Bookworm)

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/debian/10/amd64/netify-sink-mqtt_1.0.34-1_amd64.deb 
apt install ./netify-sink-mqtt_1.0.34-1_amd64.deb
Debian 11 (Bullseye)

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/debian/10/amd64/netify-sink-mqtt_1.0.34-1_amd64.deb 
apt install ./netify-sink-mqtt_1.0.34-1_amd64.deb
Debian 10 (Buster)

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/debian/10/amd64/netify-sink-mqtt_1.0.34-1_amd64.deb 
apt install ./netify-sink-mqtt_1.0.34-1_amd64.deb

OpenWRT

OpenWRT 23.05

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/openwrt/23.05/amd64/netify-sink-mqtt_1.0.34-1_x86_64.ipk
OpenWRT 22.03

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/openwrt/22.03/amd64/netify-sink-mqtt_1.0.34-1_x86_64.ipk
OpenWRT 21.02

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/openwrt/21.02/amd64/netify-sink-mqtt_1.0.34-1_x86_64.ipk
OpenWRT 19.07

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/openwrt/19.07/amd64/netify-sink-mqtt_1.0.34-1_x86_64.ipk

OPNsense

OPNsense 24.1 - Savvy Shark

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/freebsd/13.2/amd64/netify-sink-mqtt_1.0.34,1.pkg
OPNsense 23.7 - Restless Roadrunner

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/freebsd/13.2/amd64/netify-sink-mqtt_1.0.34,1.pkg

pfSense

pfSense Plus 23.x

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/freebsd/14.0/amd64/netify-sink-mqtt_1.0.34,1.pkg
pfSense CE 2.7.x

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

pkg add https://client:secret@download.netify.ai/5/freebsd/13.2/amd64/netify-sink-mqtt_1.0.34,1.pkg

Rocky Linux

Rocky Linux 9

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/rockylinux/9/stable/x86_64/netify-sink-mqtt_1.0.34-1.os9.x86_64.rpm
apt install ./netify-sink-mqtt_1.0.34-1.os9.x86_64.rpm
Rocky Linux 8

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/rockylinux/8/stable/x86_64/netify-sink-mqtt_1.0.34-1.os8.x86_64.rpm
yum install ./netify-sink-mqtt_1.0.34-1.os8.x86_64.rpm

Ubuntu

Ubuntu 22.04 - Jammy

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/ubuntu/jammy/binary-amd64/netify-sink-mqtt_1.0.34-1_amd64.deb 
apt install ./netify-sink-mqtt_1.0.34-1_amd64.deb
Ubuntu 20.04 - Focal

The Netify Sink MQTT plugin is a licensed (proprietary) plugin. Instructions to access this plugin will have been provided to you by a Netify representative. Typically, the package will be available via a web link with Basic authentication protection. Example:

cd /tmp/
wget https://client:secret@download.netify.ai/5/ubuntu/jammy/binary-amd64/netify-sink-mqtt_1.0.34-1_amd64.deb 
apt install ./netify-sink-mqtt_1.0.34-1_amd64.deb

Configuration

Plugin Loader Configuration

All plugins are disabled by default, and the Netify Sink MQTT plugin is no different. To enable:

netifyd --enable-plugin sink-mqtt
A plugin can also be disabled in this way by substituting --disable-plugin.

Alternatively, you can edit /etc/netifyd/plugins.d/10-netify-sink-mqtt.conf and set enable to yes.

# Netify Agent MQTT Sink Plugin Loader
# Copyright (C) 2023 eGloo Incorporated
#
##############################################################################
 
[sink-mqtt]
enable = yes
plugin_library = /usr/lib64/libnetify-sink-mqtt.so.0.0.0
conf_filename = ${path_state_persistent}/netify-sink-mqtt.json
 
# vim: set ft=dosini :

Plugin 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 configuration sample to review the syntax and parts of the file.

{
    "host": "localhost",
    "port": 1883,
    "user": "nobody",
    "pass": "secret",
    "topic": "netify/${channel}/${uuid_agent}",
    "message_qos": 1,
    "message_retain": false
}
Property host
Description MQTT hostname.
Type string
Property port
Description Port used to establish communication with the MQTT server.
Type unsigned
Default 1883
Property user
Description Username to authenticate with to the MQTT server.
Type string
Property pass
Description Password to authenticate with to the MQTT server.
Type string
Property topic
Description Topic to publish messages to the queue.
Type string
Property message_qos
Description An agreement between the message sender and receiver that defines the level of delivery guarantee for a specific message. Valid options are
  • 0 - At most once
  • 1 - At least once
  • 2 - Exactly once
Type unsigned
Options 0, 1, 2
Default 1
Property message_retain
Description Sending a retained messages mitigates uncertainty regarding message publication. By setting to true, subscribers can stay informed about the current state, even during periods of inactivity.
Type boolean
Default false
Channel Objects

The MQTT Sink's channel object list determines which instances to log to. In the example above, we are defining only one, the defaultchannel. Let's take a closer look at the configuration.

Property overwrite
Description See global section above.
Type boolean
Property log_path
Description See global section above.
Type string
Property log_name
Description A string that will be prepended to the filename that will include timestamps to denote the creation time.
Type string

Examples

Connect to a local RabbitMQ MQTT server listening on port 1883.

{
    "host": "localhost",
    "port": 1883,
    "topic": "netify/${channel}/${uuid_agent}"
}

Technical Support

Haven't found the answers you're looking for?

Contact Us