Métricas do Container Insights com OpenTelemetry para Amazon EKS
Demonstração
O Container Insights com métricas do OpenTelemetry fornece visibilidade sobre a integridade operacional da sua infraestrutura de clusters do Amazon EKS. Está disponível em pré-visualização pública sem custo adicional nas regiões Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Europa (Irlanda), Ásia-Pacífico (Singapura) e Ásia-Pacífico (Sydney).
O complemento de observabilidade do EKS do Amazon CloudWatch coleta métricas de código aberto de seus clusters do Amazon EKS e as envia para o CloudWatch usando o OpenTelemetry Protocol (OTLP) com granularidade de 30 segundos. Essas métricas usam nomes de métricas de suas fontes originais, incluindo cAdvisor, Prometheus Node Exporter, NVIDIA DCGM, Kube State Metrics e AWS Neuron Monitor. Você pode consultar essas métricas usando o PromQL no CloudWatch Query Studio ou por meio da API de consulta compatível com o Prometheus.
Cada métrica é enriquecida automaticamente com até 150 rótulos, incluindo atributos de convenção semântica do OpenTelemetry e rótulos de pods e nós do Kubernetes. O PromQL lida com a agregação no momento da consulta, então cada métrica é publicada uma vez por recurso, em vez de em vários níveis de agregação. O complemento também correlaciona as métricas do acelerador do AWS Neuron e do AWS Elastic Fabric Adapter com os pods e contêineres específicos que os usam, fornecendo visibilidade que não está disponível apenas nas fontes de métricas.
Para habilitar o OTel Container Insights em um cluster do Amazon EKS, instale o complemento de observabilidade do EKS do Amazon CloudWatch, versão v6.0.1-eksbuild.1 ou posterior, por meio do console do Amazon EKS ou da infraestrutura como código.
Para obter mais informações sobre a configuração do OTel Container Insights, consulte Configurar o Container Insights.
Para obter mais informações sobre a consulta a essas métricas com o PromQL, consulte Consultas do PromQL.
Como o OTel Container Insights se compara ao Container Insights (aprimorado)
A tabela a seguir resume as diferenças entre o Container Insights (aprimorado) e o OTel Container Insights.
| Recurso | Container Insights (aprimorado) | OTel Container Insights |
|---|---|---|
| Nomes de métricas | Métricas no formato do CloudWatch (por exemplo, pod_cpu_utilization) |
Nativo de código aberto (por exemplo, container_cpu_usage_seconds_total) |
| Rótulos por métrica | 3 a 6 dimensões predefinidas por métrica | Até 150 rótulos, incluindo todos os rótulos de pods e nós do Kubernetes |
| Agregação | Pré-agregada em vários níveis (cluster, namespace, workload, pod) | Métricas brutas por recurso; agregada no momento da consulta com o PromQL |
| Linguagem da consulta | API do CloudWatch Metrics | PromQL (compatível com o Prometheus) |
| Ingestão de métricas | CloudWatch Logs no formato EMF | Endpoint do OTLP |
Como as métricas são rotuladas
Cada métrica coletada pelo OTel Container Insights carrega rótulos de três fontes.
- Rótulos nativos da fonte de telemetria
-
Rótulos da fonte original de métricas (por exemplo, o cAdvisor fornece rótulos como
pod,namespaceecontainer). Eles são preservados como atributos do ponto de dados. - Atributos de recursos do OpenTelemetry
-
O complemento anexa atributos de recursos seguindo as convenções semânticas do OpenTelemetry para Kubernetes
, Host e Nuvem , como k8s.pod.name,k8s.namespace.name,k8s.node.name,host.nameecloud.region. Esses atributos são consistentes em todas as fontes de métricas. - Rótulos de pods e nós do Kubernetes
-
Todos os rótulos de pods e de nós descobertos na API do Kubernetes são anexados como atributos de recursos com os prefixos
k8s.pod.labelek8s.node.label.
Para obter mais informações sobre consultar esses atributos usando o PromQL, consulte Consultas do PromQL.
Métricas compatíveis
A tabela a seguir lista as fontes e categorias das métricas coletadas pelo OTel Container Insights.
| Origem da métrica | Categoria métrica | Pré-requisitos |
|---|---|---|
| cAdvisor | Métricas de CPU | - |
| cAdvisor | Métricas de memória | - |
| cAdvisor | Métricas de rede | - |
| cAdvisor | Métricas de disco e de sistema de arquivos | - |
| Exportador de nós do Prometheus | Métricas de CPU | - |
| Exportador de nós do Prometheus | Métricas de memória | - |
| Exportador de nós do Prometheus | Métricas de disco | - |
| Exportador de nós do Prometheus | Métricas de sistema de arquivos | - |
| Exportador de nós do Prometheus | Métricas de rede | - |
| Exportador de nós do Prometheus | Métricas do sistema | - |
| Exportador de nós do Prometheus | Métricas do VMStat | - |
| Exportador de nós do Prometheus | Métricas de Netstat e soquetes | - |
| NVIDIA DCGM | Métricas de utilização e desempenho da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas de memória da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas térmicas e de energia da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas de limitação da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas de erro e confiabilidade da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas de NVLink da GPU | O plug-in de dispositivo NVIDIA |
| NVIDIA DCGM | Métricas de informações da GPU | O plug-in de dispositivo NVIDIA |
| AWS Neuron Monitor | Métricas do NeuronCore | O driver Neuron |
| AWS Neuron Monitor | Métricas do NeuronDevice | O driver Neuron |
| AWS Neuron Monitor | Métricas do sistema Neuron | O driver Neuron |
| AWS Elastic Fabric Adapter | Métricas do EFA | O plug-in do dispositivo EFA |
| NVMe | Métricas SMART de NVMe | - |
| Métricas de estado do Kube | Métricas de pods, nós, implantação, DaemonSet, StatefulSet, ReplicaSet, tarefas, CronJob, serviços, namespaces, PersistentVolume, PersistentVolumeClaim | - |
| Servidor da API do Kubernetes | Servidor da API e métricas do etcd | - |