Se você enfrentar problemas de conectividade de rede, como tempo limite de solicitação ou limitação de taxa em uma instância do Classic Load Balancer (CLB), ou precisar entender a carga e o desempenho dela, use o CloudMonitor para verificar o status operacional e as métricas da instância. Você pode visualizar esses dados pelo console, por uma API ou por um SDK.
Pré-requisitos
Crie uma instância de CLB com pelo menos um listener. Para mais informações, consulte os seguintes tópicos:
Visualizar dados de monitoramento no console
Faça login no console do CLB.
Na barra de navegação superior, selecione a região da instância do CLB.
-
Na página Instances, localize a instância desejada e use um dos métodos a seguir para visualizar as informações de monitoramento.
Método 1: Na coluna Monitoring, clique em
. No painel Monitoring Information, clique na aba Instances ou Listeners.Método 2: Clique no ID da instância. Na aba Instance Details, clique na aba Monitoring. Em seguida, clique na aba Instances ou Listeners.
Na aba Instances, clique na subaba Bandwidth/Traffic para visualizar a métrica Data Processed referente às solicitações e respostas da instância de CLB.
Defina um intervalo de tempo para o gráfico especificando o campo Time. Ative a opção Auto Refresh para atualizar os dados de monitoramento a cada minuto.
A tabela a seguir descreve as métricas de monitoramento compatíveis.
Métrica | Descrição |
Traffic |
|
Packets |
|
Concurrent Connections |
|
New Connections | Número médio de novas conexões de clientes para o balanceador de carga por período de coleta. |
Dropped Traffic |
|
Dropped Packets |
|
Dropped Connections | Número de conexões descartadas por segundo. |
As métricas a seguir são específicas para listeners da Camada 7 (HTTP/HTTPS). | |
Layer-7 QPS | Quantidade de solicitações HTTP ou HTTPS processadas por segundo. |
Response Time (Listener) | Tempo médio de resposta do balanceador de carga. |
Códigos de status 2xx/3xx/4xx/5xx/outros da Camada 7 | Quantidade de códigos de resposta HTTP retornados pelo listener. |
Código upstream 4xx/5xx da Camada 7 | Quantidade de códigos de resposta HTTP retornados pelo servidor backend. |
Response Time (Server) | Tempo médio de resposta do servidor backend. |
O monitoramento do CLB fornece dados em duas dimensões: nível de instância e nível de listener. As métricas no nível de instância refletem o tráfego geral e o status das conexões da instância de CLB. As métricas no nível de listener indicam o tráfego e as conexões de uma porta de listener específica. O monitoramento do CLB não permite detalhar os dados de tráfego por instância ECS backend ou aplicação. Portanto, não é possível usar o console do CLB para identificar qual aplicação ou instância ECS backend consome mais tráfego.
Para identificar a origem de alto tráfego em seus servidores backend, use uma das alternativas a seguir:
No console do ECS, acesse a página de detalhes da instância ECS e visualize os dados de monitoramento de largura de banda de rede na aba Monitoring.
Analise os logs de acesso da aplicação para identificar as fontes de alto tráfego.
Faça login no servidor backend e execute
iftop -i eth0 -PnNpara visualizar o uso de tráfego por processo.
O período estatístico padrão para os dados de monitoramento do CLB é de 60 segundos. Isso significa que cada ponto de dados nos gráficos de monitoramento representa um valor agregado em um intervalo de 60 segundos. Ao consultar dados de monitoramento pela API do CloudMonitor, defina o parâmetro Period como 60 para corresponder a essa granularidade padrão.
Visualizar dados de monitoramento por meio de uma API
Use a API do CloudMonitor para visualizar métricas de monitoramento e dados detalhados de uma instância de CLB.
Para visualizar dados de monitoramento usando uma API:
Consulte o namespace. Chame a operação
DescribeProjectMetapara consultar o namespace do CLB no CloudMonitor.Opcional: Visualize as métricas disponíveis. Chame a operação
DescribeMetricMetaListpara consultar as descrições das métricas de série temporal disponíveis no CloudMonitor. Para mais informações, consulte CLB monitoring.-
Consulte os dados de monitoramento de uma métrica específica.
Chame a operação
DescribeMetricLastpara consultar os dados de monitoramento mais recentes de um objeto de monitoramento específico do CLB.Chame a operação
DescribeMetricListpara consultar os dados de série temporal de um objeto de monitoramento do CLB em um intervalo de tempo específico.
DescribeProjectMeta
Chame a operação DescribeProjectMeta para consultar o namespace do CLB no CloudMonitor.
-
Defina o parâmetro Labels como
[{"name":"product","value":"SLB"}]e mantenha os valores padrão para os demais parâmetros. O parâmetro Labels filtra recursos pela tag do product. -
Na resposta, obtenha o valor do parâmetro Namespace para a instância de CLB no CloudMonitor. O valor é
acs_slb_dashboard.
DescribeMetricMetaList
Chame a operação DescribeMetricMetaList para consultar as descrições das métricas de série temporal disponíveis no CloudMonitor.
-
Defina o parâmetro Namespace como acs_slb_dashboard e mantenha os valores padrão para os demais parâmetros.
-
Na resposta, localize as métricas de série temporal do balanceador de carga. Por exemplo, verifique a métrica Layer-7 QPS.
DescribeMetricLast
Chame a operação DescribeMetricLast para consultar os dados de monitoramento mais recentes de um objeto de monitoramento específico de um balanceador de carga. Este exemplo consulta os dados mais recentes da métrica Layer-7 QPS.
-
Nos parâmetros, configure os valores para consultar a métrica Layer-7 QPS.
Configure os seguintes parâmetros e mantenha os valores padrão para os demais.
MetricName: nome da métrica de monitoramento. Neste exemplo, defina o valor como InstanceQps.
Dimensions: mapa de dimensões para consultar dados de monitoramento de um recurso específico. Neste exemplo, defina o valor como
[{"instanceId":"lb-bp1r92vzpemy099f******"}].Namespace: namespace do service de cloud. Neste exemplo, defina o valor como acs_slb_dashboard.
-
Na resposta, visualize os dados de monitoramento mais recentes para Layer-7 QPS.
DescribeMetricList
Chame a operação DescribeMetricList para consultar os dados de série temporal de uma métrica do balanceador de carga em um intervalo de tempo específico.
-
Nos parâmetros, configure os valores para consultar os dados de monitoramento de Layer-7 QPS em um intervalo de tempo específico.
Configure os seguintes parâmetros e mantenha os valores padrão para os demais.
MetricName: nome da métrica de monitoramento. Neste exemplo, defina o valor como InstanceQps.
Namespace: namespace do service de cloud. Neste exemplo, defina o valor como acs_slb_dashboard.
Dimensions: mapa de dimensões para consultar dados de monitoramento de um recurso específico. Neste exemplo, defina o valor como
[{"instanceId":"lb-bp1r92vzpemy099f******"}].-
StartTime: início do intervalo de tempo a ser consultado. O valor de StartTime não pode ser igual ou posterior ao valor de EndTime. Neste exemplo, defina o valor como
2020-03-28 00:10:00.Formatos compatíveis:
Timestamp UNIX: número de milissegundos desde 00:00:00 UTC em 1º de janeiro de 1970.
Formato: AAAA-MM-DDThh:mm:ssZ.
EndTime: fim do intervalo de tempo a ser consultado. O formato é o mesmo de StartTime. Neste exemplo, defina o valor como
2020-03-28 00:11:00.
-
Na resposta, visualize os dados de monitoramento para Layer-7 QPS no intervalo de tempo especificado.
Visualizar dados de monitoramento usando um SDK
Esta seção descreve como usar um SDK para visualizar métricas de monitoramento e dados detalhados do CLB. O exemplo a seguir mostra como chamar a operação DescribeMetricList para consultar o número máximo de conexões simultâneas por segundo de uma instância de CLB.
-
Defina os seguintes parâmetros e mantenha os valores padrão para os demais:
MetricName: nome da métrica de monitoramento. Neste exemplo, defina este parâmetro como InstanceMaxConnection.
Namespace: namespace do service de cloud. Neste exemplo, defina este parâmetro como acs_slb_dashboard.
Dimensions: mapa de dimensões para consultar dados de monitoramento de um recurso específico. Neste exemplo, defina este parâmetro como [{"instanceId":"lb-bp1r92vzpemy099f"}].
-
StartTime: início do intervalo de tempo a ser consultado. O valor não pode ser igual ou posterior ao valor de EndTime. Neste exemplo, defina este parâmetro como
2022-10-13 20:45:03.Formatos compatíveis:
Timestamp UNIX: número de milissegundos desde 00:00:00 UTC em 1º de janeiro de 1970.
Formato: AAAA-MM-DDThh:mm:ssZ.
EndTime: fim do intervalo de tempo a ser consultado. Os formatos compatíveis são os mesmos de StartTime. Neste exemplo, defina este parâmetro como
2022-10-13 20:47:03.
Na aba SDK Sample Code, selecione a aba Python e clique em Run Example.
Visualize o resultado no painel exibido.
Perguntas frequentes
Monitoramento do CLB: Conexões sem solicitações
Ferramentas de varredura da Internet podem acessar o endereço IP público da sua instância de CLB. Essas ferramentas iniciam conexões TCP diretamente para o endereço IP público, o que contribui para as métricas de contagem de conexões e largura de banda. No entanto, como as ferramentas de varredura não enviam solicitações HTTP válidas, a contagem de solicitações no monitoramento da Camada 7 permanece vazia.
Este é o comportamento estatístico esperado para o monitoramento do CLB:
As métricas de conexão e largura de banda contabilizam todas as conexões no nível TCP, incluindo aquelas geradas por scanners.
A contagem de solicitações (QPS) mede apenas solicitações HTTP/HTTPS válidas da Camada 7 e não inclui conexões TCP que não possuem uma solicitação HTTP associada.
Se você migrar seus services do CLB para o Application Load Balancer (ALB) e notar que a instância de CLB ainda exibe dados de conexão e largura de banda, mas nenhuma solicitação, isso geralmente é causado por atividade de varredura e não afeta seus services migrados.
Posso usar o QPS do monitoramento do CLB para estimar com precisão a contagem real de solicitações?
Não. O QPS no monitoramento do CLB é uma estatística agregada com granularidade de minutos e apresenta desvios em relação à contagem exata por solicitação. Ele não deve ser tratado como uma contagem exata de solicitações, nem é possível convertê-lo para uma contagem de solicitações ou realizar estimativas de proporção entre instâncias com base na relação entre o QPS e o valor real.
Para estimar o número de solicitações que chegam ao CLB, use a métrica Layer-7 QPS. Não recomendamos o uso de métricas de código de status para essa finalidade, pois elas contam apenas os códigos de status que o CLB retorna aos clientes e não incluem solicitações que não geraram um código de status, como conexões incompletas.
Como visualizo o tráfego total histórico do CLB e a largura de banda de entrada das instâncias ECS backend?
Tráfego total histórico
O monitoramento no console do CLB exibe a tendência em tempo real de tráfego e largura de banda, refletindo a taxa em um determinado momento. Ele não agrega diretamente o tráfego total durante um período (como o mês anterior). Além disso, os dados de monitoramento do CLB permitem consultar apenas os últimos 31 dias de dados históricos. Para obter o tráfego total histórico de saída mensalmente, use os dados de uso em suas faturas:
Clique em Customize Columns no canto superior direito da tabela. Em Usage, selecione Usage e Usage Unit e clique em OK.
Na tabela, localize a linha cujo item de faturamento é Internet billing method. O valor na coluna Usage corresponde ao tráfego público total de saída do ciclo de faturamento (geralmente em GB).
O CLB cobra apenas pelo tráfego público de saída; o tráfego de entrada é gratuito, portanto, todas as cobranças relacionadas a tráfego na fatura representam tráfego de saída.
Largura de banda de entrada da instância ECS backend
Quando uma solicitação é encaminhada pelo CLB para uma instância ECS backend, ela aparece como tráfego de rede interna. Portanto, é necessário visualizar o tráfego recebido da instância ECS backend usando sua métrica de largura de banda interna. Você pode visualizar a largura de banda das seguintes maneiras:
Na página de detalhes da instância ECS desejada, clique na aba Monitoring para visualizar o uso de largura de banda pública e interna de cada servidor backend individualmente.
Caso precise de detalhes de tráfego por tupla de 5 elementos, configure o NIS Traffic Analyzer (um recurso pago).
O que representa a métrica de conexões simultâneas no monitoramento do CLB?
O valor de conexões simultâneas exibido no monitoramento do CLB representa o número de conexões de sessão TCP/UDP ativas. Ele conta as conexões de clientes para o CLB, e não as conexões do CLB para instâncias ECS backend, nem o número de usuários acessando seu service.
O valor monitorado reflete a contagem real de conexões atuais, não o limite de especificação da instância de CLB. Para determinar se você está se aproximando do limite, compare o valor monitorado com o número máximo de conexões simultâneas descrito em Performance specifications.
Se as conexões simultâneas apresentarem um padrão regular alternado de altos e baixos, em vez de uma curva suave, isso geralmente indica que alguns clientes estão realizando operações periódicas de conexão.
Um listener TCP do CLB suporta monitoramento de tempo de resposta (RT)?
Não. No monitoramento básico do CLB, apenas listeners da Camada 7 (HTTP/HTTPS) suportam a métrica de tempo de resposta (RT). Listeners da Camada 4 (TCP/UDP) não suportam monitoramento de tempo de resposta na camada de aplicação. Para analisar a latência de um listener TCP, verifique os logs de acesso em seus servidores backend, como os logs do Nginx.
Referências
Para descrições detalhadas das métricas de monitoramento do CLB, consulte CLB monitoring.