This alert is raised when the number of unhandled messages in the last minute, monitored by the Netdata Agent, is too high. It indicates that many messages were not delivered due to connections with clean_session=true
in a VerneMQ messaging system.
In MQTT, clean_session=true
means that the client doesn't want to store any session state on the broker for the duration of its connection. When the session is terminated, all subscriptions and messages are deleted. The broker won't store any messages or send any missed messages once the client reconnects.
Unhandled messages are messages that cannot be delivered to subscribers due to connection issues, protocol limitations, or session configurations. These messages are often related to clients' settings for clean_session=true
, which means they don't store any session state on the broker.
One way to find the clients causing unhandled messages is by analyzing the VerneMQ log files. Look for warning or error messages related to undelivered messages or clean sessions. The log files are typically located in /var/log/vernemq/
.
Review your MQTT clients' configurations to verify if they have clean_session=true
. Consider changing the setting to clean_session=false
if you want the broker to store session state and send missed messages upon reconnection.
Use the following command to see an overview of the VerneMQ statistics:
vmq-admin metrics show
Look for metrics related to dropped or unhandled messages, such as gauge.queue_message_unhandled
.
High unhandled message rates can also be a result of insufficient system resources. Check your system resources (CPU, memory, disk usage) and consider upgrading if necessary.