MQTT plugin

Overview

Configuration parameters allow customizing the MQTT plugin behavior.

It is recommended to specify them in their own configuration file (e.g. mqtt.conf), rather than in the agent 2 configuration file. Then use the Include directive to include this file in the Zabbix agent 2 configuration.

All parameters are optional, unless explicitly stated that the parameter is mandatory.

This page is structured as:

  • Parameter overview (to see full details of a parameter, click its name)
  • Parameter details
Parameter Description
Plugins.MQTT.Default.Password Specify the default password for connecting to MQTT.
Plugins.MQTT.Default.TLSCAFile Specify full pathname of the file containing top-level CA(s) certificates for peer certificate verification.
Plugins.MQTT.Default.TLSCertFile Specify full pathname of the file containing the agent certificate or certificate chain.
Plugins.MQTT.Default.TLSKeyFile Specify full pathname of the file containing the MQTT private key.
Plugins.MQTT.Default.Topic Specify the default topic for MQTT subscription.
Plugins.MQTT.Default.Url Specify the default MQTT broker connection string.
Plugins.MQTT.Default.User Specify the default username for connecting to MQTT.
Plugins.MQTT.Sessions.<SessionName>.Password Specify the named session password for connecting to MQTT.
Plugins.MQTT.Sessions.<SessionName>.TLSCAFile Specify full pathname of the file containing top-level CA(s) certificates for peer certificate verification for named session.
Plugins.MQTT.Sessions.<SessionName>.TLSCertFile Specify full pathname of the file containing the agent certificate or certificate chain for named session.
Plugins.MQTT.Sessions.<SessionName>.TLSKeyFile Specify full pathname of the file containing the MQTT private key for named session.
Plugins.MQTT.Sessions.<SessionName>.Topic Specify the named session topic for MQTT subscription.
Plugins.MQTT.Sessions.<SessionName>.Url Specify the named session MQTT broker connection string.
Plugins.MQTT.Sessions.<SessionName>.User Specify the named session username for connecting to MQTT.

Note that:

  • The default values reflect process defaults, not the values in the shipped configuration files;
  • Values support environment variables;
  • Zabbix supports configuration files only in UTF-8 encoding without BOM;
  • Comments starting with "#" are only supported at the beginning of the line.

Parameter details

Plugins.MQTT.Default.Password

Specify the default password for connecting to MQTT.
Used if no value is specified in an item key or named session.

Plugins.MQTT.Default.TLSCAFile

Specify full pathname of the file containing top-level CA(s) certificates for peer certificate verification for encrypted communications between Zabbix agent 2 and MQTT broker.
Used if no value is specified in a named session.

Plugins.MQTT.Default.TLSCertFile

Specify full pathname of the file containing the agent certificate or certificate chain for encrypted communications between Zabbix agent 2 and MQTT broker.
Used if no value is specified in a named session.

Plugins.MQTT.Default.TLSKeyFile

Specify full pathname of the file containing the MQTT private key for encrypted communications between Zabbix agent 2 and MQTT broker.
Used if no value is specified in a named session.

Plugins.MQTT.Default.Topic

Specify the default topic for MQTT subscription.
Used if no value is specified in an item key or named session.
The topic may contain wildcards ("+","#").

Examples:

path/to/file
path/to/#
path/+/topic
Plugins.MQTT.Default.Url

Specify the default MQTT broker connection string.
Used if no value is specified in an item key or named session.
Should not include query parameters.
Must match the URL format.
Supported schemes: tcp (default), ws, tls
A scheme can be omitted.
A port can be omitted (default=1883)

Default: tcp://localhost:1883

Examples:

tcp://host:1883
localhost
ws://host:8080
Plugins.MQTT.Default.User

Specify the default username for connecting to MQTT.
Used if no value is specified in an item key or named session.

Plugins.MQTT.Sessions.<SessionName>.Password

Specify the named session password for connecting to MQTT.
<SessionName> - define name of a session for using in item keys.

Plugins.MQTT.Sessions.<SessionName>.TLSCAFile

Specify full pathname of the file containing top-level CA(s) certificates for peer certificate verification for named session, used for encrypted communications between Zabbix agent 2 and MQTT broker.
<SessionName> - define name of a session for using in item keys.

Plugins.MQTT.Sessions.<SessionName>.TLSCertFile

Specify full pathname of the file containing the agent certificate or certificate chain for named session, used for encrypted communications between Zabbix agent 2 and MQTT broker.
<SessionName> - define name of a session for using in item keys.

Plugins.MQTT.Sessions.<SessionName>.TLSKeyFile

Specify full pathname of the file containing the MQTT private key for named session, used for encrypted communications between Zabbix agent 2 and MQTT broker.
<SessionName> - define name of a session for using in item keys.

Plugins.MQTT.Sessions.<SessionName>.Topic

Specify the named session topic for MQTT subscription.
<SessionName> - define name of a session for using in item keys.
The topic may contain wildcards ("+","#").

Examples:

path/to/file
path/to/#
path/+/topic
Plugins.MQTT.Sessions.<SessionName>.Url

Specify the named session MQTT broker connection string.
<SessionName> - define name of a session for using in item keys.
Should not include query parameters.
Must match the URL format.
Supported schemes: tcp (default), ws, tls
A scheme can be omitted.
A port can be omitted (default=1883)

Default: tcp://localhost:1883

Examples:

tcp://host:1883
localhost
ws://host:8080
Plugins.MQTT.Sessions.<SessionName>.User

Specify the named session username for connecting to MQTT.
<SessionName> - define name of a session for using in item keys.

If you need to set the request execution timeout (how long to wait for a request to complete before shutting it down), use the item configuration form.

See also