7 MQTT plugin

Overview

The configuration file of Zabbix agent 2 is used to configure plugins. These Zabbix agent 2 configuration parameters are supported for operating the MQTT plugin.

It is recommended to specify them in their own configuration file (e.g. mqtt.conf) and then use the Include directive for adding this file to the Zabbix agent 2 configuration.

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.

Parameters

Parameter Mandatory Range Default Description
Plugins.MQTT.Default.Password no Default password for connecting to MQTT; used if no value is specified in an item key or named session.
Plugins.MQTT.Default.TLSCAFile no Full pathname of a file containing the 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 no Full pathname of a 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 no Full pathname of a 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 no 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 no tcp://localhost:1883 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).
Examples: tcp://host:1883
localhost
ws://host:8080
Plugins.MQTT.Default.User no Default username for connecting to MQTT; used if no value is specified in an item key or named session.
Plugins.MQTT.Sessions.<SessionName>.Password no Named session password.
<SessionName> - define name of a session for using in item keys.
Plugins.MQTT.Sessions.<SessionName>.TLSCAFile no Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, 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 no Full pathname of a file containing the agent certificate or certificate chain, 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 no Full pathname of a file containing the MQTT private key 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 no 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 no Connection string of a named session.
<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).
Examples: tcp://host:1883
localhost
ws://host:8080
Plugins.MQTT.Sessions.<SessionName>.User no Named session username.
<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: