Administrar alertas de supervisión

En este documento se ofrecen descripciones y elementos de acción para alertas definidas en los paneles de supervisión. Si no puedes corregir el problema, puedes enviar un ticket de asistencia directa y adjuntar capturas de pantalla y registros del panel.

Alertas del panel de clientes de la empresa

Alerta por error crítico de API

Descripción

El porcentaje de éxito de API de contacts de API o API de messages es bajo

Ítems pendientes

  1. Busca los códigos de error de API en los paneles de solicitudes por segundo para la API de contacts o messages.
  2. Consulta la documentación sobre códigos de error.
  3. Consulta los paneles de solicitudes por segundo de la aplicación principal y de consultas por segundo de la base de datos para ver si los errores están correlacionados con errores de la aplicación principal o de la base de datos.
  4. Consulta el panel de información general de la aplicación principal (completa la variable Node con la aplicación principal problemática) y el panel de información general de MySQL para obtener más información.

Alerta por ausencia de estadísticas

Descripción

Faltan datos para la supervisión

Ítems pendientes

  1. Accede al extremo de los objetivos de Prometheus (es decir, http://your-monitoring-hostname:9090/targets) para verificar que los estados del extremo de estadísticas de la aplicación y estadísticas web sean UP.
  2. Si Prometheus no se puede conectar a la aplicación web, ejecuta WADebug para solucionar los errores.
  3. Si los contenedores de la aplicación web y de la aplicación principal están en ejecución, comprueba si son válidas las variables WA_WEB_ENDPOINT, WA_WEB_USERNAME y WA_WEB_PASSWORD en el archivo .env.

Alertas del panel de información general de la aplicación principal

Alerta por error de devolución de llamada

Descripción

El porcentaje de éxito del envío de devoluciones de llamada a la URL del webhook especificada en la configuración de la aplicación es bajo

Ítems pendientes

  1. Los códigos de error de respuesta de devolución de llamada se encuentran en el panel de solicitudes de devolución de llamada por segundo.
  2. Para ver los mensajes de error reales, usa Grep y busca error de red en los registros de la aplicación principal.
  3. De acuerdo con los mensajes y los códigos de error:
    • Verifica si es posible acceder al webhook desde la aplicación principal.
    • Verifica si el webhook siempre devuelve una respuesta HTTPS 200 OK después de procesar las notificaciones.
    • Verifica si el webhook tarda mucho en responder.

Alerta por alto volumen de mensajes salientes pendientes

Descripción

La cola de mensajes salientes está casi llena. En breve, se producirá un error System overloaded error (1016) en las solicitudes de API.

Ítems pendientes

  1. Comprueba la fila del panel de mensajes salientes para detectar si hay aumentos de tráfico poco frecuentes. Si hay aumentos de tráfico poco frecuentes, intenta reducir la carga de tráfico hasta que se elimine la alerta.
  2. Verifica si recientemente se produjo una conmutación por error a otra región en la base de datos. Es posible que la API de WhatsApp Business no se actualice con la carga debido a la latencia entre regiones.
  3. Si los mensajes salientes se ponen en cola lentamente a medida que pasa el tiempo, debes notificarnos el error.
  4. Si el cliente de la API de WhatsApp Business no cumple tus requisitos de carga, configura la conexión múltiple para que admita cargas mucho más altas.

Nota: En raras ocasiones, es posible que en el panel se muestre un uso de la cola de mensajes superior al 100% debido a la implementación subyacente en cola. Los elementos de acción siguen siendo los mismos.

Alerta por alto volumen de devolución de llamadas en cola

Descripción

La cola de devoluciones de llamada está casi llena. En breve, se producirá un error System overloaded error (1016) en las solicitudes de API.

Ítems pendientes

  1. Consulta el panel de tasa de errores de devolución de llamada para verificar que las devoluciones de llamada se procesen correctamente.
  2. Reduce el tiempo de procesamiento de devolución de llamada para tu webhook.
  3. Ajusta max_concurrent_requests en la configuración de la aplicación para aumentar el volumen de solicitudes de devolución de llamada en curso (de forma predeterminada, el valor es 6).

Alerta por tasas de error de transacciones de bases de datos

Descripción

La tasa de errores de las operaciones de transacciones de bases de datos (transacción, confirmación, reversión) es alta.

Ítems pendientes

  1. La base de datos y la operación problemáticas se encuentran en el panel de Transacciones de bases de datos por segundo.
  2. Para ver el código de error y el mensaje de SQL reales, usa Grep y busca QSqlError en los registros de la app principal.
  3. De acuerdo con el mensaje y el código de error:
    1. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
    2. Si en el error se indica un problema de esquema o un error en una consulta de SQL, envía un ticket de asistencia directa para que se investigue.

Alerta por tasas de error de consultas de lectura de bases de datos

Descripción

La tasa de errores de las operaciones de lectura de bases de datos (selección, preparación) es alta.

Ítems pendientes

  1. La base de datos y la operación problemáticas se encuentran en el panel de Consultas de lectura de bases de datos por segundo.
  2. Para ver el código de error y el mensaje de SQL reales, usa Grep y busca QSqlError en los registros de la app principal.
  3. De acuerdo con el mensaje y el código de error:
    1. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
    2. Si en el error se indica un problema de esquema o un error en una consulta de SQL, envía un ticket de asistencia directa para que se investigue.

Alerta por tasas de error de consultas de escritura de bases de datos

Descripción

La tasa de errores de las operaciones de escritura de bases de datos (inserción, preparación) es alta.

Ítems pendientes

  1. La base de datos y la operación problemáticas se encuentran en el panel de Consultas de escritura de bases de datos por segundo.
  2. Para ver el código de error y el mensaje de SQL reales, usa Grep y busca QSqlError en los registros de la app principal.
  3. De acuerdo con el mensaje y el código de error:
    1. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
    2. Si en el error se indica un problema de esquema o un error en una consulta de SQL, envía un ticket de asistencia directa para que se investigue.

Alerta por latencia (ms) de transacciones promedio de bases de datos

Descripción

La latencia promedio de las operaciones de transacciones de bases de datos (transacción, confirmación, reversión) es alta.

Ítems pendientes

Recomendamos que la latencia de bases de datos sea inferior a 15 ms para un obtener un alto rendimiento de mensajes.

  1. La base de datos lenta se encuentran en el panel de Latencia (ms) de transacciones de bases de datos promedio.
  2. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
  3. Usa mysqlslap o pgbench para medir la latencia de XACT con clientes simultáneos.
  4. Sigue las Recomendaciones para aumentar el rendimiento para configurar tu bases de datos con ajustes similares.

Problemas habituales

  • La instancia de base de datos se está quedando sin CPU, memoria, disco, IOPS o conexiones.
  • La instancia de base de datos funciona con un disco magnético en lugar de un SSD.
  • La instancia de base de datos se encuentra en una región diferente de la de tu app principal y tiene un tiempo de ida y vuelta de red prolongado.

Alerta por latencia (ms) de consultas de lectura promedio de bases de datos

Descripción

La latencia promedio de las operaciones de lectura de bases de datos (selección, preparación) es alta.

Ítems pendientes

Recomendamos que la latencia de bases de datos sea inferior a 15 ms para un obtener un alto rendimiento de mensajes.

  1. La base de datos lenta se encuentra en el panel de Latencia (ms) de consultas de lectura promedio de bases de datos.
  2. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
  3. Usa mysqlslap o pgbench para medir la latencia de lectura con clientes simultáneos.
  4. Sigue las Recomendaciones para aumentar el rendimiento para configurar tu bases de datos con ajustes similares.

Problemas habituales

  • La instancia de base de datos se está quedando sin CPU, memoria o conexiones.
  • La instancia de base de datos se encuentra en una región diferente de la de tu app principal y tiene un tiempo de ida y vuelta de red prolongado.

Alerta por latencia (ms) de consultas de escritura promedio de bases de datos

Descripción

La latencia promedio de las operaciones de escritura de bases de datos (inserción, actualización, eliminación, etc.) es alta.

Ítems pendientes

Recomendamos que la latencia de bases de datos sea inferior a 15 ms para un obtener un alto rendimiento de mensajes.

  1. La base de datos lenta se encuentra en el panel de Latencia (ms) de consultas de escritura promedio de bases de datos.
  2. Verifica el panel de información general de MySQL o tu propio panel de base de datos para verificar si tu base de datos funciona correctamente.
  3. Usa mysqlslap o pgbench para medir la latencia de escritura con clientes simultáneos.
  4. Sigue las Recomendaciones para aumentar el rendimiento para configurar tu bases de datos con ajustes similares.

Problemas habituales

  • La instancia de base de datos se está quedando sin CPU, memoria, disco, IOPS o conexiones.
  • La instancia de base de datos funciona con un disco magnético en lugar de un SSD.
  • La instancia de base de datos se encuentra en una región diferente de la de tu app principal y tiene un tiempo de ida y vuelta de red prolongado.

Alerta por latencia (ms) de solicitudes de devolución de llamada promedio

Descripción

La latencia de solicitudes de devolución de llamada a la URL del webhook especificada en la configuración de la aplicación es alta.

Ítems pendientes

Recomendamos que la latencia de devolución de llamadas sea inferior a 80 ms para obtener un alto rendimiento.

  1. Ejecuta una comparación de puntos de referencia respecto de tu servidor de webhooks y genera perfiles para identificar cuellos de botella.
  2. Realiza operaciones no críticas de forma asíncrona y devuelve una respuesta HTTPS 200 OK de inmediato.
  3. Aumenta el número de servidores de webhooks de tus equilibradores de carga si estos se quedan sin recursos de sistema.

Alerta por solicitudes de conexión de servidores

Descripción

La aplicación principal pierde conexiones con los servidores de WhatsApp de forma constante. Las conexiones inestables tendrán efecto en el rendimiento de los mensajes de la aplicación principal y generarán fallas de API.

Ítems pendientes

  1. Para ver el error de pérdida de conexión real, el mensaje y la frecuencia reales, usa Grep y busca “Stream error” en los registros de la aplicación principal.
  2. Si la conexión se pierde durante horas de forma periódica, reiniciar la app principal puede reducir los problemas.
  3. Conserva los registros y envía un ticket de asistencia directa para investigar más el asunto.

Alerta por mensajes descifrados por segundo

Descripción

La aplicación principal no puede descifrar mensajes entrantes desde el servidor de WhatsApp con suficiente velocidad, lo que ocasionará la pérdida de conexión.

Ítems pendientes

  1. Revisa el panel de lectura, escritura, transacciones y latencia de bases de datos para verificar que la base de datos funcione correctamente. Recomendamos que la latencia de bases de datos sea inferior a 15 ms para obtener un alto rendimiento. Sigue Ítems pendientes de alerta de latencia (ms) de consultas de escritura promedio de bases de datos para resolver problemas relacionados con bases de datos.
  2. Verifica si la instancia de tu aplicación principal se está quedando sin CPU. Si esto sucede, haz una actualización a una instancia más grande.
  3. Conserva los registros y envía un ticket de asistencia directa para limitar la frecuencia de mensajes entrantes del lado del servidor de WhatsApp.

Alertas del panel de información general de la máquina

Alerta por alto uso de CPU

Descripción

El uso de la CPU de una máquina es demasiado alto.

Ítems pendientes

  1. Consulta el panel de % de uso detallado de CPU para obtener la distribución del uso.
  2. Para ver los procesos de mayor consumo de CPU, ejecuta atop o top en la máquina. También puede resultar útil consultar el panel de información general del contenedor para obtener las métricas de CPU en el nivel de contenedor. Para ello, completa la variable Machine con la máquina problemática.
  3. Si la aplicación web, la aplicación principal o la base de datos consumen la mayor parte de la CPU, busca una máquina más eficaz para alojarlas. Para los modos de alta disponibilidad o conexión múltiple, si los contenedores de aplicación web y aplicación principal se ejecutan en la misma máquina, intenta moverlas a máquinas distintas.

Alerta por alto uso de disco

Descripción

El uso del disco de un dispositivo en una máquina es demasiado alto.

Ítems pendientes

  1. Ejecuta los comandos du y df en el dispositivo para analizar el uso del disco. También puede resultar útil consultar el panel de información general del contenedor para obtener las métricas de disco en el nivel de contenedor. Para ello, completa la variable Machine con la máquina problemática.
  2. Elimina todos los datos innecesarios que consumen espacio en el dispositivo; si existen archivos multimedia o registros, configura un trabajo de cron para eliminar datos antiguos de forma periódica.

Alerta por alto uso de memoria

Descripción

El uso de la memoria de una máquina es demasiado alto.

Ítems pendientes

  1. Consulta el panel de detalles de la memoria para obtener la distribución del uso.
  2. Ejecuta atop o top en la máquina para buscar los procesos que hacen un mayor consumo de memoria. También puede resultar útil consultar el panel de información general del contenedor para obtener las métricas de memoria en el nivel de contenedor. Para ello, completa la variable Machine con la máquina problemática.
  3. Si la aplicación web, la aplicación principal o la base de datos consumen la mayor parte de la memoria, busca una máquina más eficaz para alojarlas.
  4. Si el uso de la memoria de la aplicación principal aumenta lentamente con el transcurso del tiempo, es posible que se deba a una pérdida de memoria. Debes informarnos del error. Reinicia la aplicación principal para mitigar los problemas de memoria.

Alerta por demasiados archivos abiertos

Descripción

En breve, la máquina se va a quedar sin descriptores de archivo.

Ítems pendientes

  1. Consulta el panel de descriptor de archivo para ver el límite de archivos abiertos.
  2. Configura un valor superior (como fs.file-max = 600000) en el archivo /etc/sysctl.conf para aumentar el límite de archivos abiertos.
  3. Ejecuta sysctl -p para aplicar los cambios.

Alertas del panel de información general de MySQL

Alerta por demasiadas conexiones de base de datos

Descripción

El uso de grupos de conexión de base de datos es alto; es posible que las solicitudes de base de datos generen pronto el error Too many connections.

Ítems pendientes

  1. Consulta el panel de conexiones para conocer el límite de conexión actual.
  2. Aumenta las variables del sistema de MySQL max_connections (de forma predeterminada, el valor es 151) en my.cnf y reinicia MySQL Server. Para obtener más información, consulta la documentación sobre variables del sistema de MySQL Server.
  3. En el caso de la RDS de AWS, debes migrar a una instancia de RDS más grande. Para obtener orientación, consulta la sección sobre dimensionamiento de la instancia de RDS en los detalles de implementación de AWS.

Alertas del panel de información general de la aplicación web

Alerta por alto volumen de conexiones pendientes del servidor HTTP

Descripción

La cola de conexión interna del servidor HTTP de la aplicación web está casi llena.

Ítems pendientes

  1. Consulta el panel de clientes de la empresa para detectar el tráfico poco frecuente de las API o una alta latencia de solicitudes de API.
  2. Consulta los registros de la aplicación web para obtener más información.
  3. Consulta si la aplicación web requiere un uso intenso de CPU. De ser así, busca una máquina más eficaz para la aplicación web.