vernemq_mqtt_puback_received_reason_unsuccessful.md 2.0 KB

Understand the alert

This alert tracks the number of unsuccessful v5 PUBACK packets received by the VerneMQ broker within the last minute. If you receive this alert, there might be an issue with your MQTT clients or the packets they send to the VerneMQ broker.

What are v5 PUBACK packets?

In MQTT v5, the PUBACK packet is sent by the server or subscriber client to acknowledge the receipt of a PUBLISH packet. In the MQTT v5 protocol, the PUBACK packet can contain a reason code indicating whether the message was successfully processed or if there was an error.

Troubleshoot the alert

  1. Check the VerneMQ logs: Analyze the logs to check for any errors or issues related to the MQTT clients or the incoming messages. VerneMQ's logs are usually located at /var/log/vernemq/ directory, or you can check the log location in the VerneMQ configuration files.

    less /var/log/vernemq/console.log
    less /var/log/vernemq/error.log
    
  2. Verify MQTT clients' configurations: Review your MQTT clients' settings to ensure that they are configured correctly, especially the protocol version, QoS levels, and any MQTT v5 specific settings. Make any necessary adjustments and restart the clients.

  3. Monitor VerneMQ performance: Use the VerneMQ vmq-admin tool to monitor the broker's performance, check connections, subscriptions, and session information. This can help you identify potential issues affecting the processing of incoming messages.

    vmq-admin metrics show
    vmq-admin session list
    vmq-admin listener show
    
  4. Check the PUBLISH messages: Inspect the contents of PUBLISH messages being sent by the MQTT clients to ensure they are correctly formatted and adhere to the MQTT v5 protocol specifications. If necessary, correct any issues and send test messages to confirm the problem is resolved.

Useful resources

  1. VerneMQ documentation
  2. MQTT v5.0 Specification