Como gerenciar alertas de monitoramento

Este documento fornece descrições e itens de ação para alertas definidos nos painéis de monitoramento. Caso você não consiga corrigir um problema, envie um tíquete de Suporte Direto com capturas de tela e registros do painel anexados.

Alertas do painel do cliente de negócios

Alerta de falha crítica na API

Descrição

A taxa de sucesso da API de contactsou da API de messages é baixa.

Itens de ação

  1. Encontre os códigos de erro da API nos painéis Requests/sec para a API de contacts ou de messages.
  2. Verifique a documentação de códigos de erro.
  3. Verifique os painéis CoreApp Requests/sec e DB Queries/sec para ver se as falhas estão correlacionadas com falhas do Coreapp ou do banco de dados.
  4. Verifique o painel CoreApp Overview (preencha a variável com o Coreapp problemático) e o painel MySQL Overview para mais informações.

Alerta de sem estatísticas

Descrição

Há dados faltando para o monitoramento.

Itens de ação

  1. Acesse o ponto de extremidade de destinos do Prometheus (ou seja, http://your-monitoring-hostname:9090/targets) para verificar se os estados de ponto de extremidade de estatísticas de aplicativo e da web são UP.
  2. Se o Prometheus falhar em se conectar ao Webapp, execute o WADebug para solucionar erros.
  3. Se os contêineres do Webapp e do Coreapp estiverem em execução, verifique se WA_WEB_ENDPOINT, WA_WEB_USERNAME e WA_WEB_PASSWORD no arquivo .env são válidos.

Alertas do painel de visão geral do Coreapp

Alerta de falha de retorno de chamada

Descrição

A taxa de sucesso do envio de retornos de chamada para a URL do Webhook especificada nas configurações do aplicativo é baixa.

Itens de ação

  1. Encontre códigos de erro de resposta a retornos de chamada no painel Callback Requests/sec.
  2. Grep os registros do Coreapp em busca de erro de rede para ver as reais mensagens de erro.
  3. Com base em mensagens e códigos de erro:
    • Verifique se seu Webhook pode ser acessado pelo aplicativo Central.
    • Verifique se o Webhook sempre retorna uma resposta HTTPS 200 OK depois de processar notificações.
    • Verifique se o Webhook leva muito tempo para responder.

Alerta de alto número de mensagens de saída pendentes

Descrição

A fila de mensagens de saída está quase cheia; as solicitações da API falharão com System overloaded error (1016) em breve.

Itens de ação

  1. Verifique a fila do painel Outgoing Messages para ver se não há aumento incomum de tráfego. Se houver aumento incomum de tráfego, tente reduzir a carga de tráfego até que o alerta não seja mais exibido.
  2. Verifique se o banco de dados recentemente passou por failover para outra região. A WhatsApp Business API pode não acompanhar a carga devido à latência entre regiões.
  3. Se as mensagens de saída forem lentamente formando uma fila com o passar do tempo, você deve relatar o erro para nós.
  4. Se um único cliente da WhatsApp Business API não puder atender aos requisitos de carga, configure a Multiconexão para dar suporte a cargas muito maiores.

Observação: em casos raros, o painel mostra mais de 100% de uso da fila de mensagens de saída, devido à implementação da fila subjacente. Os itens de ação permanecem os mesmos.

Alerta de alto número de retornos de chamada na fila

Descrição

A fila de retornos de chamada está quase cheia; as solicitações da API falharão com System overloaded error (1016) em breve.

Itens de ação

  1. Veja o painel Callback Error Rate para verificar se os retornos de chamada estão sendo processados com sucesso.
  2. Reduza o tempo de processamento de retorno de chamada para o Webhook.
  3. Configure o max_concurrent_requests nas configurações do aplicativo para aumentar o número de solicitações de retorno de chamada em andamento (o padrão é 6).

Alerta de taxa de erro nas transações do banco de dados

Descrição

A taxa de erro das operações de transação do banco de dados (transação, confirmar, desfazer) está alta.

Itens de ação

  1. Encontre a operação e o banco de dados com problema no painel DB Transactions/sec.
  2. Grep os registros do Coreapp para buscar QSqlError e ver a mensagem e o código de erro real do SQL.
  3. Com base na mensagem e no código de erro:
    1. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
    2. se o erro indicar um problema de esquema ou uma consulta de SQL incorreta, envie um tíquete de Suporte Direto para que ele seja investigado.

Alerta de taxa de erro na consulta de leitura do banco de dados

Descrição

A taxa de erro em operações de leitura do banco de dados (selecionar, preparar) está alta.

Itens de ação

  1. Encontre a operação e o banco de dados com problema do painel DB Read Queries/sec.
  2. Grep os registros do Coreapp para buscar QSqlError e ver a mensagem e o código de erro real do SQL.
  3. Com base na mensagem e no código de erro:
    1. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
    2. se o erro indicar um problema de esquema ou uma consulta de SQL incorreta, envie um tíquete de Suporte Direto para que ele seja investigado.

Alerta de taxa de erro na consulta de escrita do banco de dados

Descrição

A taxa de erro em operações de escrita do banco de dados (inserir, atualizar, excluir etc.) está alta.

Itens de ação

  1. Encontre a operação e o banco de dados com problema do painel DB Write Queries/sec.
  2. Grep os registros do Coreapp para buscar QSqlError e ver a mensagem e o código de erro real do SQL.
  3. Com base na mensagem e no código de erro:
    1. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
    2. se o erro indicar um problema de esquema ou uma consulta de SQL incorreta, envie um tíquete de Suporte Direto para que ele seja investigado.

Alerta de latência média (ms) de transação do banco de dados

Descrição

A latência média das operações de transação do banco de dados (transação, confirmar, desfazer) está alta.

Itens de ação

Recomendamos que a latência do banco de dados seja inferior a 15 ms para atingir uma transferência alta de mensagens.

  1. Encontre o banco de dados lento no painel Average DB Transaction Latency(ms).
  2. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
  3. Use mysqlslap ou pgbench para mensurar a latência XACT em clientes simultâneos.
  4. Siga as Recomendações para alta taxa de transferência de dados a fim de configurar o seu banco de dados de maneira semelhante.

Problemas comuns

  • A instância do banco de dados está ficando sem CPU/memória/disco/IOPS/conexões.
  • O banco de dados está sendo executado sobre uma memória magnética em vez de SSD.
  • O banco de dados está em uma região diferente do Coreapp e tem um tempo de ida e volta de rede alto.

Alerta de latência média (ms) da consulta de leitura do banco de dados

Descrição

A latência média em operações de leitura do banco de dados (selecionar, preparar) está alta.

Itens de ação

Recomendamos que a latência do banco de dados seja inferior a 15 ms para atingir uma transferência alta de mensagens.

  1. Encontre o banco de dados lento no painel Latência média (ms) da consulta de leitura do banco de dados.
  2. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
  3. Use mysqlslap ou pgbench para mensurar a latência de leitura em clientes simultâneos.
  4. Siga as Recomendações para alta taxa de transferência de dados a fim de configurar o seu banco de dados de maneira semelhante.

Problemas comuns

  • A instância do banco de dados está ficando sem CPU/memória/conexões.
  • O banco de dados está em uma região diferente do Coreapp e tem um tempo de ida e volta de rede alto.

Alerta de latência média (ms) da consulta de escrita do banco de dados

Descrição

A latência média em operações de escrita do banco de dados (inserir, atualizar, excluir etc.) está alta.

Itens de ação

Recomendamos que a latência do banco de dados seja inferior a 15 ms para atingir uma transferência alta de mensagens.

  1. Encontre o banco de dados lento no painel Latência média (ms) da consulta de escrita do banco de dados.
  2. verifique se o banco de dados é executado corretamente no MySQL Overview Dashboard no seu próprio painel;
  3. Use mysqlslap ou pgbench para mensurar a latência de escrita em clientes simultâneos.
  4. Siga as Recomendações para alta taxa de transferência de dados a fim de configurar o seu banco de dados de maneira semelhante.

Problemas comuns

  • A instância do banco de dados está ficando sem CPU/memória/disco/IOPS/conexões.
  • O banco de dados está sendo executado sobre uma memória magnética em vez de SSD.
  • O banco de dados está em uma região diferente do Coreapp e tem um tempo de ida e volta de rede alto.

Alerta de latência média (ms) da solicitação de retorno de chamada

Descrição

A latência média das solicitações de retorno de chamada para a URL do Webhook especificada nas configurações do aplicativo é baixa.

Itens de ação

Recomendamos que a latência do retorno de chamada seja inferior a 80ms para atingir uma taxa alta de transferência de dados.

  1. Faça uma avaliação comparativa com o seu servidor Webhook e execute a criação de perfil para identificar gargalos.
  2. Execute operações não essenciais de forma assíncrona e retorne uma resposta HTTPS 200 OK imediatamente.
  3. Aumente o número de servidores Webhook por trás dos balanceadores de carga se os recursos do sistema se esgotarem.

Alerta de solicitações de conexão do servidor

Descrição

A todo o momento, o Coreapp perde conexões para os servidores do WhatsApp. Conexões instáveis impactam o desempenho das mensagens do Coreapp e causam falhas na API.

Itens de ação

  1. Grep os registros do Coreapp em busca de "Stream error" para ver mensagens, frequência e erros de perda de conexão.
  2. Se a conexão for perdida por algumas horas, reiniciar o Coreapp pode mitigar os problemas.
  3. Faça registros e envie um tíquete de Suporte Direto para que o problema seja investigado.

Alerta de mensagens descriptografadas por segundo

Descrição

Como o Coreapp não consegue descriptografar mensagens recebidas pelo servidor do WhatsApp de forma rápida, haverá perda na conexão.

Itens de ação

  1. Verifique se o banco de dados está sendo executado corretamente no painel DB Read/Write/Transaction Latency. Recomendamos que a latência do banco de dados seja inferior a 15ms para atingir uma taxa alta de transferência de dados. Siga os itens de ação do alerta de latência média (ms) da consulta de escrita do banco de dados acima para solucionar problemas no banco de dados.
  2. Verifique se a instância do Coreapp está sendo executada fora da CPU. Caso esteja, atualize para uma instância maior.
  3. Faça registros e envie um tíquete de Suporte Direto para limitar o volume de mensagens recebidas do lado do servidor do WhatsApp.

Alertas do painel de visão geral da máquina

Alerta de uso alto da CPU

Descrição

A utilização da CPU de uma máquina está muito alta.

Itens de ação

  1. Verifique o painel CPU Detailed Util % para obter a distribuição de utilização.
  2. Execute atop ou top na máquina para encontrar os processos que mais consomem CPU. Também é recomendável verificar o painel Container Overview para ver as métricas de CPU em nível de contêiner preenchendo a variável Machine com a máquina problemática.
  3. Se o Webapp, Coreapp ou banco de dados consumir a maior parte da CPU, encontre uma máquina mais potente para hospedá-los. Para o modo Alta Disponibilidade/Multiconexão, se os contêineres do Webapp e do Coreapp estiverem sendo executados na mesma máquina, tente movê-los para máquinas separadas.

Alerta de uso alto do disco

Descrição

A utilização do disco de um dispositivo em uma máquina está muito alta.

Itens de ação

  1. Execute os comandos du e df no dispositivo para analisar a utilização do disco. Também é recomendável verificar o painel Container Overview para ver as métricas de disco em nível de contêiner preenchendo a variável Machine com a máquina problemática.
  2. Limpe dados desnecessários que consomem espaço no dispositivo; se houver registros ou arquivos de mídia, configure um trabalho cron para limpar dados antigos periodicamente.

Alerta de uso alto da memória

Descrição

A utilização da memória de uma máquina está muito alta.

Itens de ação

  1. Verifique o painel Memory Details para obter a distribuição da utilização.
  2. Execute atop ou top na máquina para encontrar os processos que mais consomem memória. Também é recomendável verificar o painel Container Overview para ver as métricas de memória em nível de contêiner preenchendo a variável Machine com a máquina problemática.
  3. Se o Webapp, Coreapp ou banco de dados consumir a maior parte da memória, encontre uma máquina mais potente para hospedá-los.
  4. Se o uso de memória do aplicativo Central estiver aumentando lentamente com o passar do tempo, provavelmente será devido a um vazamento de memória; você deve relatar o erro para nós. Reinicie o aplicativo Central para reduzir os problemas de memória.

Alerta de muitos arquivos abertos

Descrição

A máquina ficará sem descritores de arquivos em breve.

Itens de ação

  1. Verifique o painel File Descriptor para ver o limite de arquivos abertos.
  2. Configure um valor maior (por exemplo, fs.file-max = 600000) no arquivo /etc/sysctl.conf para aumentar o limite de arquivos abertos.
  3. Execute sysctl -p para aplicar as alterações.

Alertas do painel de visão geral do MySQL

Alerta de muitas conexões do banco de dados

Descrição

A utilização de pools de conexão do banco de dados está alta; novas solicitações do banco de dados em breve podem falhar com erros Too many connections.

Itens de ação

  1. Verifique o painel Connections para ver o limite atual de conexões.
  2. Aumente as variáveis do sistema MySQL max_connections (o padrão é 151) no my.cnf e reinicie o servidor MySQL. Consulte a documentação MySQL Server System Variables para mais informações.
  3. Para o AWS RDS, é necessário migrar para uma instância maior do RDS. Consulte a seção Tamanho da instância RDS nos Detalhes de implantação da AWS para saber mais.

Alertas do painel de visão geral do Webapp

Alerta de alto número de conexões pendentes do servidor HTTP

Descrição

A fila de conexão do servidor HTTP interna do Webapp está quase cheia.

Itens de ação

  1. Verifique o painel do Cliente de empresa para ver se há tráfego incomum da API ou alta latência de solicitações da API.
  2. Verifique os registros do Webapp para obter mais informações.
  3. Se o uso da CPU do Webapp for alto, encontre uma máquina mais potente para o Webapp.