Relatórios de integridade básica - AWS Elastic Beanstalk

Relatórios de integridade básica

O AWS Elastic Beanstalk usa informações de várias fontes para determinar se o seu ambiente está disponível e processando solicitações da Internet. A integridade de um ambiente é representada por uma das quatro cores e é exibida na página de visão geral do ambiente do console do Elastic Beanstalk. Ela também está disponível na API DescribeEnvironments e chamando eb status com a CLI do EB.

Antes das versões da plataforma Linux versão 2, o único sistema de relatórios de integridade era o básico. O sistema de relatórios de integridade básica fornece informações sobre a integridade das instâncias em um ambiente do Elastic Beanstalk com base em verificações de integridade realizadas pelo Elastic Load Balancing para ambientes com balanceamento de carga ou pelo Amazon Elastic Compute Cloud para ambientes de uma única instância.

Além de verificar a integridade de suas instâncias do EC2, o Elastic Beanstalk também monitora outros recursos em seu ambiente e reporta recursos ausentes ou configurados incorretamente que podem fazer com que seu ambiente se torne indisponível para os usuários.

As métricas coletadas pelos recursos em seu ambiente são publicadas no Amazon CloudWatch em intervalos de cinco minutos. Isso inclui as métricas de sistema operacional do EC2 e as métricas de solicitação do Elastic Load Balancing. Você pode visualizar gráficos de acordo com essas métricas do CloudWatch na página Monitoring do console do ambiente. Para integridade básica, essas métricas não são usadas para determinar a integridade de um ambiente.

Cores de integridade

O Elastic Beanstalk relata a integridade de um ambiente de servidor web de acordo com o modo como o aplicativo em execução responde à verificação de integridade. O Elastic Beanstalk usa uma de quatro cores para descrever o status, como mostrado na tabela a seguir:

Cor Descrição

Cinza

O ambiente está sendo atualizado.

Verde

O ambiente passou na verificação de integridade mais recente. Pelo menos uma instância em seu ambiente está disponível e aceitando solicitações.

Amarelo

Seu ambiente falhou em uma ou mais verificações de integridade. Algumas solicitações a seu ambiente estão falhando.

Vermelha

Seu ambiente falhou em três ou mais verificações de integridade, ou um recurso do ambiente ficou indisponível. As solicitações falham consistentemente.

Essas descrições se aplicam somente a ambientes que usam relatórios de integridade básica. Consulte Status e cores de integridade para obter detalhes relacionados à integridade aprimorada.

Verificações de integridade do Elastic Load Balancing

Em um ambiente com balanceamento de carga, o Elastic Load Balancing envia uma solicitação para cada instância em um ambiente a cada 10 segundos para confirmar que as instâncias estão íntegras. Por padrão, o load balancer é configurado para abrir uma conexão TCP na porta 80. Se a instância reconhece a conexão, ela é considerada íntegra.

Você pode optar por substituir essa configuração especificando um recurso existente no seu aplicativo. Se você especificar um caminho, como /health, o URL da verificação de integridade é definido como HTTP:80/health. O URL da verificação de integridade deve ser definido como um caminho que sempre é atendido pelo seu aplicativo. Se estiver definido como uma página estática que é atendida ou armazenada em cache pelo servidor web na frente de seu aplicativo, as verificações de integridade não revelarão problemas com o servidor de aplicativo ou o contêiner da Web. Para obter instruções sobre como modificar o URL de verificação de integridade, consulte Verificação de integridade.

Se o URL de uma verificação de integridade está configurado, o Elastic Load Balancing espera uma solicitação GET que ele envia para retornar a resposta 200 OK. O aplicativo na passará na verificação de integridade se não responder dentro de 5 segundos ou se responder com qualquer outro código de status HTTP. Após 5 falhas de verificação de integridade consecutivas, o Elastic Load Balancing tira a instância de serviço.

Para obter mais informações sobre as verificações de integridade do Elastic Load Balancing, consulte Verificação de integridade no Guia do usuário do Elastic Load Balancing.

nota

A configuração de uma URL de verificação de integridade não altera o comportamento da verificação de integridade do grupo do Auto Scaling de um ambiente. Uma instância não íntegra é removida do load balancer, mas não é automaticamente substituída pelo Amazon EC2 Auto Scaling, a menos que você configure o Amazon EC2 Auto Scaling para usar a verificação de integridade do Elastic Load Balancing como base para a substituição de instâncias. Para configurar o Amazon EC2 Auto Scaling para substituir instâncias que não passam em uma verificação de integridade do Elastic Load Balancing, consulte Configuração de verificação de integridade do Auto Scaling.

Verificações de integridade do ambiente de nível do operador e instância única

Em um ambiente de instância única ou nível de operador, o Elastic Beanstalk determina a integridade da instância monitorando o status da instância do Amazon EC2. As configurações de integridade do Elastic Load Balancing, inclusive URLs de verificação de integridade HTTP, não podem ser usadas nesses tipos de ambiente.

Para obter mais informações sobre verificações de status da instância do Amazon EC2, consulte Monitorar instâncias com verificações de status no Guia do usuário do Amazon EC2 para instâncias do Linux.

Verificações adicionais

Além das verificações de integridade do Elastic Load Balancing, o Elastic Beanstalk monitora recursos em seu ambiente e altera o status de integridade para vermelho caso eles não sejam implantados, não forem configurados corretamente ou ficarem indisponíveis. Essas verificações confirmam que:

  • O grupo de Auto Scaling do ambiente está disponível e tem no mínimo uma instância.

  • O security group do ambiente está disponível e configurado para permitir o tráfego de entrada na porta 80.

  • O CNAME do ambiente existe e está apontando para o load balancer correto.

  • Em um ambiente de operador, a fila do Amazon Simple Queue Service (Amazon SQS) é consultada pelo menos uma vez a cada três minutos.

Métricas do Amazon CloudWatch

Com os relatórios de integridade básica, o serviço Elastic Beanstalk não publica métricas no Amazon CloudWatch. As métricas do CloudWatch usadas para produzir gráficos na página Monitoring do console do ambiente são publicadas pelos recursos em seu ambiente.

Por exemplo, o EC2 publica as seguintes métricas para as instâncias no grupo de Auto Scaling de seu ambiente:

CPUUtilization

Porcentagem de unidades de computação em uso no momento.

DiskReadBytes
DiskReadOps
DiskWriteBytes
DiskWriteOps

O número de bytes lidos e gravados e o número de operações de leitura e gravação.

NetworkIn
NetworkOut

O número de bytes enviados e recebidos.

O Elastic Load Balancing publica as seguintes métricas para o load balancer de seu ambiente:

BackendConnectionErrors

Número de falhas de conexão entre o load balancer e as instâncias do ambiente.

HTTPCode_Backend_2XX
HTTPCode_Backend_4XX

Número de códigos de resposta de êxito (2XX) e erro do cliente (4XX) gerados pelas instâncias em seu ambiente.

Latency

O número de segundos entre o momento em que o load balancer retransmite uma solicitação para uma instância e o momento em que a resposta é recebida.

RequestCount

O número de solicitações concluídas.

Essas listas não são abrangentes. Para obter uma lista completa de métricas que podem ser relatadas para esses recursos, consulte os seguintes tópicos no Amazon CloudWatch Developer Guide:

Métricas
Namespace Tópico
AWS::ElasticLoadBalancing::LoadBalancer Métricas e recursos do Elastic Load Balancing
AWS::AutoScaling::AutoScalingGroup Métricas e recursos do Amazon Elastic Compute Cloud
AWS::SQS::Queue Métricas e recursos do Amazon SQS
AWS::RDS::DBInstance Dimensões e métricas do Amazon RDS

Métrica de integridade do ambiente de operador

Para ambientes de operador somente, o daemon SQS publica uma métrica personalizada para integridade do ambiente no CloudWatch, em que o valor 1 é verde. Você pode analisar os dados de métricas de integridade do CloudWatch em sua conta usando o namespace ElasticBeanstalk/SQSD. A dimensão da métrica é EnvironmentName e o nome da métrica é Health. Todas as instâncias publicam suas métricas no mesmo namespace.

Para permitir que o daemon publique métricas, o perfil de instância do ambiente deve ter permissão para chamar cloudwatch:PutMetricData. Essa permissão está incluída no perfil de instância padrão. Para obter mais informações, consulte Gerenciar perfis de instância do Elastic Beanstalk.