The mqtt() destination has the following options.
Required options: address(), fallback-topic(), and topic().
address()
Type: | string |
Default: | tcp://localhost:1883 |
Required: | yes |
Description: Specifies the hostname or IP address, and the port number of the MQTT broker to which syslog-ng OSE will send the log messages.
Syntax: <protocol type>://<host>:<port>
Supported protocol types: TCP, WS, SSL andWSS.
client-id()
Type: | string |
Default: | syslog-ng-source-{topic option} |
Required: | no |
Description: The client-id() is used to identify the client to the MQTT server, which stores session data for each client. The session data can contains information regarding which message has been sent, received. It is not possible to set the client-id() to an empty string. To always start a new session see the cleansession() option.
cleansession()
Type: | yes | no |
Default: | no |
Description: This option instruments the MQTT broker to clean the session data when connecting. The session data contains information about which message was processed.
fallback-topic()
Type: | string |
Default: | N/A |
Description: Required option when using templates in the topic() option.
If the resolved topic() template is not a valid topic, syslog-ng OSE will use the fallback-topic() option to send messages.
NOTE: If instead of strings, you use actual templates (that is, a macro like ${MESSAGE}, or a template function like $(format-json)) in the topic() option, configuring the fallback-topic() option is required.
TIP: Occasionally, the reason why syslog-ng OSE cannot post messages to the configured topic() is that the topic contains invalid characters that originate from templates.
http-proxy()
Type: | URL |
Default: | N/A |
Description: Specifies HTTP/HTTPS proxy for WebSocket connections.
keep-alive()
Type: | positive integer number (in seconds) |
Default: | 60 |
Description: Specifies the number of seconds that syslog-ng OSE keeps the connection between the broker and clients open in case there is no message traffic. When keep-alive() number of seconds pass, the connection is terminated, and you have to reconnect.
On the MQTT side, the keep alive function provides a workaround method to access connections that are still open.
password()
Type: | string |
Default: | N/A |
Description: The password used to authenticate on the MQTT broker.
qos()
Type: | number |
Default: | 0 |
Possible values: |
0 - at most once (the fastest option) 1 - at least once (a much slower option than 0) 2 - exactly once (the slowest option) |
Description: The Quality of Service (QoS) level in MQTT messaging is an agreement between sender and receiver on the guarantee of delivering a message.
template()
Type: | string |
Default: | $ISODATE $HOST $MSGHDR$MSG |
Description: Specifies the message template that syslog-ng OSE sends to the MQTT broker.
If you want to use macros in templates, see Macros of syslog-ng OSE.
tls()
Type: | tls options |
Default: | n/a |
Description: This option sets various options related to TLS encryption, for example, key/certificate files and trusted CA locations. TLS can be used only with tcp-based transport protocols. For details, see TLS options.
The following options are relevant for the mqtt() tls() block: ca-dir(), ca-file(), cert-file(), cipher-suite(), key-file(), peer-verify(), ssl-version(), use-system-cert-store().