Administrar alertas de supervisión

En este documento se proporcionan descripciones y acciones para las alertas definidas en los paneles de supervisión. Si no puedes solucionar un problema, puedes enviar un ticket de Asistencia directa con las capturas de pantalla y los registros del panel adjuntos.

Alertas del panel de clientes empresariales

Alerta de error crítico de la API

Descripción

La tasa de éxito de la API contacts o la API messages es baja.

Acciones

  1. Busca los códigos de error de la API en los paneles Solicitudes por segundo de la API contacts o messages.
  2. Consulta la documentación Códigos de error.
  3. Consulta los paneles Solicitudes por segundo de la aplicación principal y Consultas de la base de datos por segundo para ver si los errores corresponden a errores de la aplicación principal o de la base de datos.
  4. Consulta el panel Información general de la aplicación principal (rellena la variable Node con la aplicación principal problemática) y el panel Información general de MySQL para obtener más información.

Alerta por falta de estadísticas

Descripción

Faltan datos para la supervisión.

Acciones

  1. Accede al extremo de los destinos de Prometheus (p. ej., http://your-monitoring-hostname:9090/targets) para verificar que los estados del extremo de estadísticas web y de la aplicación sea UP.
  2. Si Prometheus no puede establecer conexión con la aplicación web, ejecuta WADebug para solucionar los errores.
  3. Si se ejecutan los contenedores de la aplicación web y principal, comprueba si WA_WEB_ENDPOINT, WA_WEB_USERNAME y WA_WEB_PASSWORD en el archivo .env son válidos.

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

Alerta de error de devolución de llamada

Descripción

La tasa de éxito del envío de devoluciones de llamada a la URL del webhook, especificadas en la configuración de la aplicación, es baja.

Acciones

  1. Busca los códigos de error de la respuesta de devolución de llamada en el panel Solicitudes de la devolución de llamada por segundo.
  2. Utiliza Grep en los registros de la aplicación principal del error de red para ver los mensajes de error reales.
  3. En función de los códigos de error y los mensajes:
    • Verifica que la aplicación principal pueda acceder al webhook.
    • Verifica si el webhook siempre devuelve una respuesta HTTPS 200 OK después de procesar las notificaciones.
    • Comprueba si el webhook tarda mucho tiempo en responder.

Alerta de cantidad elevada de mensajes pendientes de salida

Descripción

La cola de mensajes saliente está casi llena. Pronto se producirá el error System overloaded error (1016) en las solicitudes a la API.

Acciones

  1. Comprueba si se producen aumentos de tráfico poco habituales en la fila del panel Mensajes salientes. Si es así, intenta reducir la carga de tráfico hasta que desaparezca la alerta.
  2. Comprueba si la base de datos ha conmutado por error en otra región recientemente. Puede que la API de WhatsApp Business no pueda asumir la carga debido a la latencia entre regiones.
  3. Si la ralentización de la cola de mensajes salientes persiste, debes notificárnoslo.
  4. Si un solo cliente de la API de WhatsApp Business no puede cumplir los requisitos de la carga, configura la opción Conexión múltiple a fin de admitir cargas superiores.

Nota: En casos excepcionales, es posible que el panel muestre una utilización de la cola de mensajes salientes superior al 100 % debido a la implementación de la cola subyacente. Las acciones siguen siendo las mismas.

Alerta de cola de devoluciones de llamada casi llena

Descripción

La cola de devoluciones de llamada está casi llena. Pronto se producirá el error System overloaded error (1016) en las solicitudes a la API.

Acciones

  1. Comprueba el panel Tasa de errores de devolución de llamada para verificar que las devoluciones de llamada se procesan correctamente.
  2. Reduce el tiempo de procesamiento de devolución de llamada para el webhook.
  3. Establece max_concurrent_requests en la configuración de la aplicación a fin de aumentar el número de solicitudes de devolución de llamada en curso (de manera predeterminada, es 6).

Alerta de tasa de errores de las transacciones de la base de datos

Descripción

La tasa de errores de las operaciones de transacción de la base de datos (transacción, confirmación y reversión) es alta.

Acciones

  1. Busca la base de datos y la operación problemáticas en el panel Transacciones de la base de datos por segundo.
  2. Utiliza Grep en los registros de la aplicación principal de QSqlError a fin de ver el mensaje y el código de error real de SQL.
  3. En función del código de error y el mensaje:
    1. Comprueba el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
    2. Si el error indica que hay un problema de esquema o una consulta SQL incorrecta, envía una solicitud de asistencia directa para que se investigue.

Alerta de tasa de errores de las consultas de lectura de la base de datos

Descripción

La tasa de errores de las operaciones de lectura de la base de datos (seleccionar, preparar) es alta.

Acciones

  1. Busca la base de datos y la operación problemáticas en el panel Consultas de lectura de la base de datos por segundo.
  2. Utiliza Grep en los registros de la aplicación principal de QSqlError a fin de ver el mensaje y el código de error real de SQL.
  3. En función del código de error y el mensaje:
    1. Comprueba el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
    2. Si el error indica que hay un problema de esquema o una consulta SQL incorrecta, envía una solicitud de asistencia directa para que se investigue.

Alerta de tasa de errores de las consultas de escritura de la base de datos

Descripción

La tasa de errores de las operaciones de escritura de la base de datos (insertar, actualizar, eliminar, etc.) es alta.

Acciones

  1. Busca la base de datos y la operación problemáticas en el panel Consultas de escritura de la base de datos por segundo.
  2. Utiliza Grep en los registros de la aplicación principal de QSqlError a fin de ver el mensaje y el código de error real de SQL.
  3. En función del código de error y el mensaje:
    1. Comprueba el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
    2. Si el error indica que hay un problema de esquema o una consulta SQL incorrecta, envía una solicitud de asistencia directa para que se investigue.

Alerta de la latencia media de las transacciones de la base de datos (ms)

Descripción

La latencia media de las operaciones de transacción de la base de datos (transacción, confirmación y reversión) es alta.

Acciones

Recomendamos que la latencia de la base de datos sea inferior a 15 ms a fin de lograr un alto rendimiento de los mensajes.

  1. Busca la base de datos lenta en el panel Latencia media de las transacciones de la base de datos (ms).
  2. Verifica el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
  3. Utiliza mysqlslap o pgbench para medir la latencia XACT con clientes simultáneos.
  4. Sigue las recomendaciones de alto rendimiento para configurar la base de datos con valores similares.

Problemas comunes

  • La instancia de la base de datos se está quedando sin conexiones, IOPS, discos, memoria o CPU.
  • La instancia de la base de datos utiliza un disco magnético para su ejecución en lugar de SSD.
  • La instancia de la base de datos se encuentra en una región diferente a la de su aplicación principal y tiene un tiempo de respuesta de red elevado.

Alerta de la latencia media de las consultas de lectura de la base de datos (ms)

Descripción

La latencia media de las operaciones de lectura de la base de datos (seleccionar, preparar) es alta.

Acciones

Recomendamos que la latencia de la base de datos sea inferior a 15 ms a fin de lograr un alto rendimiento de los mensajes.

  1. Busca la base de datos lenta en el panel Latencia media de las consultas de lectura de la base de datos (ms).
  2. Verifica el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
  3. Utiliza mysqlslap o pgbench para medir la latencia de lectura con clientes simultáneos.
  4. Sigue las recomendaciones de alto rendimiento para configurar la base de datos con valores similares.

Problemas comunes

  • La instancia de la base de datos se está quedando sin conexiones, memoria o CPU.
  • La instancia de la base de datos se encuentra en una región diferente a la de su aplicación principal y tiene un tiempo de respuesta de red elevado.

Alerta de la latencia media de las consultas de escritura de la base de datos (ms)

Descripción

La latencia media de las operaciones de escritura de la base de datos (insertar, actualizar, eliminar, etc.) es alta.

Acciones

Recomendamos que la latencia de la base de datos sea inferior a 15 ms a fin de lograr un alto rendimiento de los mensajes.

  1. Busca la base de datos lenta en el panel Latencia media de las consultas de escritura de la base de datos (ms).
  2. Verifica el Panel de información general de MySQL o el panel de tu base de datos a fin de verificar si esta se ejecuta correctamente.
  3. Utiliza mysqlslap o pgbench para medir la latencia de escritura con clientes simultáneos.
  4. Sigue las recomendaciones de alto rendimiento para configurar la base de datos con valores similares.

Problemas comunes

  • La instancia de la base de datos se está quedando sin conexiones, IOPS, discos, memoria o CPU.
  • La instancia de la base de datos utiliza un disco magnético para su ejecución en lugar de SSD.
  • La instancia de la base de datos se encuentra en una región diferente a la de su aplicación principal y tiene un tiempo de respuesta de red elevado.

Alerta de la latencia media de las solicitudes de devolución de llamada (ms)

Descripción

La latencia media de las solicitudes de devolución de llamada a la URL del webhook, especificadas en la configuración de la aplicación, es alta.

Acciones

Recomendamos que la latencia de devolución de llamada sea inferior a 80 ms a fin de lograr un alto rendimiento.

  1. Lleva a cabo una comparativa en el servidor del webhook y crea perfiles para identificar cuellos de botella.
  2. Realiza operaciones que no sean críticas de manera asíncrona y devuelve una respuesta HTTPS 200 OK inmediatamente.
  3. Aumenta el número de servidores del webhook que hay detrás de los equilibradores de carga en caso de que se queden sin recursos del sistema.

Alerta de las solicitudes de conexión con el servidor

Descripción

La aplicación principal pierde constantemente la conexión con los servidores de WhatsApp. Las conexiones inestables afectarán al rendimiento de los mensajes de la aplicación principal y provocarán errores de la API.

Acciones

  1. Utiliza Grep en los registros de la aplicación principal del "Error de transmisión" para ver el error de pérdida de conexión real, así como el mensaje y la frecuencia.
  2. Si la conexión se pierde durante horas de manera periódica, puede que los problemas se minimicen al reiniciar la aplicación principal.
  3. Mantén los registros y envía una solicitud de asistencia directa a fin de que se investigue más.

Alerta del descifrado de mensajes por segundo

Descripción

La aplicación principal no puede descifrar los mensajes entrantes del servidor de WhatsApp lo suficientemente rápido, de modo que se perderá la conexión.

Acciones

  1. Comprueba el panel Latencia de las transacciones, la escritura y la lectura de la base de datos para verificar que la base de datos se ejecuta correctamente. Recomendamos que la latencia de la base de datos sea inferior a 15 ms a fin de lograr un alto rendimiento. Sigue las acciones de la alerta de la latencia media de la consulta de escritura de la base de datos (ms) anteriores a fin de resolver los problemas de la base de datos.
  2. Comprueba si la capacidad de la CPU de la instancia de la aplicación principal se está agotando. Si es así, actualízala a una superior.
  3. Mantén los registros y envía una solicitud de asistencia directa para limitar la frecuencia de los mensajes entrantes del lado del servidor de WhatsApp.

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

Alerta de uso elevado de la CPU

Descripción

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

Acciones

  1. Comprueba el panel Porcentaje de uso detallado de la CPU para obtener la distribución de la utilización.
  2. Ejecuta atop o top en la máquina para buscar los procesos que consumen más CPU. Puede que también resulte útil comprobar los resultados de la CPU del nivel de contenedor en el panel Información general del contenedor. Para ello, rellena la variable Machine con la máquina que causa problemas.
  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 potente para alojarlas. Para el modo 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 cambiarlos a máquinas distintas.

Alerta de uso elevado del disco

Descripción

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

Acciones

  1. Ejecuta los comandos du y df en el dispositivo para analizar el uso del disco. Puede que también resulte útil comprobar los resultados del disco del nivel de contenedor en el panel Información general del contenedor. Para ello, rellena la variable Machine con la máquina que causa problemas.
  2. Borra los datos que consuman espacio innecesariamente en el dispositivo. Si hay registros o archivos multimedia, configura un trabajo de cron para eliminar los datos antiguos periódicamente.

Alerta de uso elevado de la memoria

Descripción

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

Acciones

  1. Comprueba el panel Detalles de la memoria para obtener la distribución de la utilización.
  2. Ejecuta atop o top en la máquina para buscar el proceso que consume más memoria. Puede que también resulte útil comprobar los resultados de la memoria del nivel de contenedor en el panel Información general del contenedor. Para ello, rellena la variable Machine con la máquina que causa problemas.
  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 potente para alojarlas.
  4. Si el uso de memoria de la aplicación principal es cada vez más lento, puede que se deba a una fuga de memoria. Debes notificárnoslo. Reinicia la aplicación principal para mitigar los problemas de memoria.

Alerta de exceso de archivos abiertos

Descripción

La máquina se quedará sin descriptores de archivo en breve.

Acciones

  1. Comprueba el límite de archivos abiertos definido en el panel Descriptor de archivo.
  2. Configura un valor más alto (p. ej., fs.file-max = 600000) en el archivo /etc/sysctl.conf para aumentar dicho límite.
  3. Ejecuta sysctl -p para aplicar los cambios.

Alertas del panel de información general de MySQL

Alerta de exceso de conexiones de base de datos

Descripción

La utilización del grupo de conexiones de la base de datos es alta. Es posible que pronto se produzca el error Too many connections en las nuevas solicitudes de la base de datos.

Acciones

  1. Comprueba el límite de conexiones actuales definido en el panel Conexiones.
  2. Aumenta las variables max_connections del sistema MySQL (de manera predeterminada, es 151) en my.cnf y reinicia el servidor de MySQL. Consulta la documentación sobre las variables del sistema del servidor de MySQL para obtener más información.
  3. En el caso de AWS RDS, es necesario migrar a una instancia superior de RDS. Consulta la sección Tamaño de la instancia de RDS del apartado Detalles de la implementación de AWS para obtener instrucciones.

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

Alerta de cantidad elevada de conexiones pendientes del servidor HTTP

Descripción

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

Acciones

  1. Comprueba si hay tráfico de la API poco habitual o una latencia elevada de las solicitudes de la API en el panel Cliente empresarial.
  2. Para obtener más información, consulta los registros de la aplicación web.
  3. Comprueba si el uso de la CPU de la aplicación web es elevado y, si lo es, busca una máquina de mayor potencia para la aplicación web.