Monitoramento de instâncias gerenciadas do Lambda
É possível monitorar as instâncias gerenciadas do Lambda usando métricas do Amazon CloudWatch. O Lambda publica automaticamente métricas no CloudWatch para ajudá-lo a monitorar a utilização de recursos, monitorar custos e otimizar a performance.
Métricas disponíveis
As instâncias gerenciadas do Lambda fornecem métricas em dois níveis: nível do provedor de capacidade e nível do ambiente de execução.
Métricas do nível do provedor de capacidade
As métricas do nível do provedor de capacidade fornecem visibilidade da utilização geral dos recursos em suas instâncias. Essas métricas usam as dimensões a seguir:
-
CapacityProviderName: o nome do seu provedor de capacidade
-
InstanceType: o tipo de instância do EC2.
Métricas de utilização de recursos:
-
CPUUtilization: o percentual de utilização de CPU em todas as instâncias no provedor de capacidade
-
MemoryUtilization: o percentual de utilização de memória em todas as instâncias no provedor de capacidade
Métricas de capacidade:
-
vCPUAvailable: a quantidade de vCPU disponível nas instâncias para alocação (em contagem)
-
MemoryAvailable: a quantidade de memória disponível nas instâncias para alocação (em bytes)
-
vCpuAllocated: a quantidade de vCPU alocada em instâncias para ambientes de execução (em contagem)
-
MemoryAllocated: a quantidade de memória alocada em instâncias para ambientes de execução (em bytes)
Métricas do nível do ambiente de execução
As métricas do nível do ambiente de execução fornecem visibilidade sobre a utilização de recursos e a simultaneidade de funções individuais. Essas métricas usam as dimensões a seguir:
-
CapacityProviderName: o nome do seu provedor de capacidade
-
FunctionName: o nome da função do Lambda
-
Recurso: por recurso, visualize as métricas de uma versão específica de uma função.
nota
Para instâncias gerenciadas do Lambda (LMI), a dimensão Resource oferece suporte somente a versões de função. O formato de é <FunctionName>:<FunctionVersion>.
Métricas disponíveis do ambiente de execução:
-
ExecutionEnvironmentConcurrency: a simultaneidade máxima em um período de amostra de 5 minutos
-
ExecutionEnvironmentConcurrencyLimit: o limite máximo de simultaneidade por ambiente de execução
-
ExecutionEnvironmentCPUUtilization: o percentual de utilização de CPU para os ambientes de execução da função
-
ExecutionEnvironmentMemoryUtilization: o percentual de utilização de memória para os ambientes de execução da função
Métricas do motivo do controle de utilização
As instâncias gerenciadas do Lambda emitem métricas granulares do motivo do controle de utilização que identificam a restrição de recursos que causou o controle de utilização. O Lambda emite para cada controle de utilização exatamente uma das submétricas a seguir com o valor 1, enquanto as três restantes são emitidas com o valor 0:
-
ConcurrencyThrottles: o ambiente de execução atingiu seu limite máximo de simultaneidade. Isso pode ser resolvido aumentando ExecutionEnvironmentMaxConcurrency ou escalando os ambientes de execução de forma mais agressiva.
-
CPUThrottles: o ambiente de execução esgotou os recursos de CPU alocados. Isso pode ser resolvido aumentando a alocação de vCPU da função ou reduzindo ExecutionEnvironmentMaxConcurrency para diminuir a carga por ambiente.
-
MemoryThrottles: o ambiente de execução esgotou a memória alocada. Isso pode ser resolvido aumentando a alocação de memória da função ou reduzindo ExecutionEnvironmentMaxConcurrency para diminuir a carga por ambiente.
-
DiskThrottles: o ambiente de execução esgotou o espaço em disco alocado. Isso pode ser resolvido aumentando o armazenamento temporário da função ou reduzindo ExecutionEnvironmentMaxConcurrency para diminuir a carga por ambiente.
O Lambda sempre emite a métrica Throttles padrão junto com essas submétricas. Use essas métricas para entender por que a função está sendo escalada e se você deve ajustar sua simultaneidade máxima, a memória da função, a alocação de vCPU ou a configuração de disco. Para obter uma lista completa de métricas do Lambda, consulte Tipos de métricas para funções do Lambda.
Frequência e retenção das métricas
As métricas das instâncias gerenciadas do Lambda são publicadas em intervalos de 5 minutos e mantidas por 15 meses.
Visualização de métricas com o CloudWatch
Para visualizar as métricas das instâncias gerenciadas do Lambda no console do CloudWatch
-
Abra o console do CloudWatch, em console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Métricas.
-
Na guia Todas as métricas, escolha AWS/Lambda.
-
Escolha a dimensão da métrica que você deseja visualizar:
-
Para métricas do nível do provedor de capacidade, filtre por CapacityProviderName e InstanceType
-
Para métricas em nível do ambiente de execução, filtre por CapacityProviderName, FunctionName e Resource
-
-
Escolha a métrica que você deseja monitorar.
Uso de métricas para otimizar a performance
Monitore a utilização da CPU e da memória para entender se suas funções estão dimensionadas adequadamente. A alta utilização pode indicar a necessidade de tipos de instância maiores ou maior alocação de memória funcional. Acompanhe as métricas de simultaneidade para entender o comportamento de escalabilidade e identificar possíveis controles de utilização.
Monitore as métricas de capacidade para verificar se recursos suficientes estão disponíveis para suas workloads. As métricas vCPUAvailable e MemoryAvailable ajudam você a entender a capacidade restante em suas instâncias.
Próximas etapas
-
Saiba mais sobre a escalabilidade de instâncias gerenciadas do Lambda
-
Consulte os guias específicos de runtime para Java, Node.js e Python
-
Configure a conectividade de VPC para seus provedores de capacidade
-
Entenda a segurança e as permissões das instâncias gerenciadas do Lambda