We are sunsetting On-Premises API. Refer to our On-Premises API Sunset document for details, and to learn how to migrate to our next-generation Cloud API.
This document provides descriptions and action items for alerts defined in the monitoring dashboards. If you cannot fix an issue, you can submit a Direct Support ticket with attached dashboard screenshots and logs.
Success rate of contacts
API or messages
API is low
contacts
or messages
API.Missing data for monitoring
http://your-monitoring-hostname:9090/targets
) to verify that the webstats and appstats endpoint states are UP
. WA_WEB_ENDPOINT
, WA_WEB_USERNAME
, and WA_WEB_PASSWORD
in the .env
file are valid.Success rate of sending callbacks to the Webhook URL specified in the application settings is low
Grep
the Coreapp logs for network error to see the actual error messages.HTTPS 200 OK
response after processing notifications.Outgoing message queue is close to being full; API requests will fail with System overloaded error
(1016
) soon
Note: It rare cases, the dashboard may show over 100% outgoing message queue utilization due to the underlying queue implementation. Actions items remain the same.
Callback queue is close to being full; API requests will fail with System overloaded error
(1016
) soon
max_concurrent_requests
in the application settings to increase number of inflight callback requests (by default, it's 6
).Error rate of database transaction operations (transaction, commit, rollback) is high.
Grep
the Coreapp logs for QSqlError to see the actual SQL error code and message.Error rate of database read operations (select, prepare) is high .
Grep
the Coreapp logs for QSqlError to see the actual SQL error code and message.Error rate of databse write operations (insert, update, delete, etc.) is high.
Grep
the Coreapp logs for QSqlError to see the actual SQL error code and message.Average latency of database transaction operations (transaction,commit,rollback) is high.
We recommend the database latency be less than 15ms to achieve high messaging throughput.
mysqlslap
or pgbench
to measure XACT latency with concurrent clients. Average latency of database read operations (select, prepare) is high.
We recommend the database latency be less than 15ms to achieve high messaging throughput.
mysqlslap
or pgbench
to measure read latency with concurrent clients. Average latency of the database write operations (insert, update, delete, etc.) is high.
We recommend the database latency be less than 15ms to achieve high messaging throughput.
mysqlslap
or pgbench
to measure write latency with concurrent clients. Average latency of callback requests to Webhook URL specified in the application settings is high.
We recommend the callback latency be less than 80ms to achieve high throughput.
HTTPS 200 OK
response immediately.The Coreapp constantly loses connections to the WhatsApp servers. Unstable connections will impact messaging performance of the Coreapp and cause API faliures.
Grep
the Coreapp logs for “Stream error” to see the actual connection lost error and message and frequency.The Coreapp is unable to decrypt incoming messages from the WhatsApp server fast enough, which will trigger connection loss.
CPU Utilization of a machine is too high
atop
or top
on the machine to find the most CPU consuming processes. It may also be worth checking out the Container Overview dashboard for container level CPU metrics by filling the Machine variable with the problematic machine. Disk Utilization of a device on a machine is too high
du
and df
commands on the device to analyze disk usage. It may also be worth checking out the Container Overview dashboard for container level disk metrics by filling the Machine variable with the problematic machine. Memory Utilization of a machine is too high
atop
or top
on the machine to find the most memory consuming process. It may also be worth checking out the Container Overview dashboard for container level memory metrics by filling the Machine variable with the problematic machine. Machine is going to run out of file descriptors soon
fs.file-max = 600000
) in the /etc/sysctl.conf
file to increase the open file limit. sysctl -p
to apply changes.DB connection pool utilization is high; new DB requests may fail with Too many connections
errors soon
max_connections
(by default, it's 151
) in my.cnf
and restart the MySQL server. See the MySQL Server System Variables documentation for more information.Webapp internal HTTP server connection queue is close to full