Campos relevantes nos eventos de log de performance para Amazon EKS e Kubernetes
Para Amazon EKS e Kubernetes, o atendente do CloudWatch armazenado em contêineres emite dados como eventos de log de performance. Isso permite ao CloudWatch ingerir e armazenar dados de alta cardinalidade. O CloudWatch usa os dados nos eventos de log de performance para criar métricas agregadas do CloudWatch no nível do cluster, do nó e do pod, sem a necessidade de perder detalhes refinados.
A tabela a seguir lista os campos nesses eventos de log de performance que são relevantes à coleção de dados de métrica do Container Insights. Você pode usar o CloudWatch Logs Insights para consultar qualquer um desses campos para coletar dados ou investigar problemas. Para obter mais informações, consulte Analisar dados de log com o CloudWatch Logs Insights.
| Tipo | Campo de log | Origem | Fórmula ou observações |
|---|---|---|---|
|
Pod |
|
Calculado |
Fórmula: |
|
Pod |
O |
cadvisor |
|
|
Pod |
|
Calculado |
Fórmula:
Se qualquer contêiner no pod não tiver um limite de CPU definido, esse campo não aparecerá no evento de log. Isso inclui contêineres de inicialização |
|
Pod |
|
Calculado |
Fórmula: Não é garantido que |
|
Pod |
|
Calculado |
Fórmula: |
|
Pod |
|
Calculado |
Fórmula: |
|
Pod |
|
Calculado |
Fórmula: É a porcentagem de uso de memória do pod sobre a limitação de memória do nó. |
|
Pod |
|
cadvisor |
|
|
Pod |
|
Calculado |
Fórmula: Se qualquer contêiner no pod não tiver um limite de memória definido, esse campo não aparecerá no evento de log. Isso inclui contêineres de inicialização |
|
Pod |
|
Calculado |
Fórmula: Não é garantido que |
|
Pod |
|
Calculado |
Fórmula: Se qualquer contêiner no pod não tiver um limite de memória definido, esse campo não aparecerá no evento de log. Isso inclui contêineres de inicialização |
|
Pod |
|
Calculado |
Fórmula: |
|
Pod |
|
Calculado |
Fórmula: Esses dados estão disponíveis para todas as interfaces de rede por pod. O atendente do CloudWatch calcula o total e adiciona regras de extração de métrica. |
|
Pod |
|
Calculado |
Fórmula: |
|
Pod |
|
Calculado |
Fórmula: |
|
PodNet |
|
cadvisor |
Esses dados são bytes de rx de rede por segundo de uma interface de rede de pod. |
|
PodNet |
|
cadvisor |
Esses dados são bytes de tx de rede por segundo de uma interface de rede de pod. |
|
Contêiner |
|
cadvisor |
|
|
Contêiner |
|
cadvisor |
Não há garantia de estar definido. Não é emitido se não está definido. |
|
Contêiner |
|
cadvisor |
Não há garantia de estar definido. Não é emitido se não está definido. |
|
Contêiner |
|
cadvisor |
|
|
Contêiner |
|
pod |
Não há garantia de estar definido. Não é emitido se não está definido. |
|
Contêiner |
|
pod |
Não há garantia de estar definido. Não é emitido se não está definido. |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
cadvisor |
|
|
Nó |
|
/proc |
|
|
Nó |
|
Calculado |
Fórmula: Para cronjobs, |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
cadvisor |
|
|
Nó |
|
/proc |
|
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Calculado |
Fórmula: |
|
Nó |
|
Lista de pods |
|
|
Nó |
|
Lista de pods |
|
|
NodeNet |
|
cadvisor |
Esses dados são bytes de tx de rede por segundo de uma interface de rede do nó de operador. |
|
NodeNet |
|
cadvisor |
Esses dados são bytes de tx de rede por segundo de uma interface de rede do nó de operador. |
|
NodeFS |
|
cadvisor |
|
|
NodeFS |
|
cadvisor |
|
|
NodeFS |
|
Calculado |
Fórmula: Esses dados estão disponíveis por nome do dispositivo. |
|
Cluster |
|
Servidor da API |
|
|
Cluster |
|
Servidor da API |
|
|
Serviço |
|
Servidor da API |
|
|
|
|
Servidor da API |
Exemplos de cálculo de métricas
Esta seção inclui exemplos que mostram como alguns dos valores na tabela anterior são calculados.
Suponha que você tenha um cluster no estado a seguir.
Node1 node_cpu_limit = 4 node_cpu_usage_total = 3 Pod1 pod_cpu_usage_total = 2 Container1 container_cpu_limit = 1 container_cpu_request = 1 container_cpu_usage_total = 0.8 Container2 container_cpu_limit = null container_cpu_request = null container_cpu_usage_total = 1.2 Pod2 pod_cpu_usage_total = 0.4 Container3 container_cpu_limit = 1 container_cpu_request = 0.5 container_cpu_usage_total = 0.4 Node2 node_cpu_limit = 8 node_cpu_usage_total = 1.5 Pod3 pod_cpu_usage_total = 1 Container4 container_cpu_limit = 2 container_cpu_request = 2 container_cpu_usage_total = 1
A tabela a seguir mostra como as métricas de CPU do pod são calculadas usando esses dados.
| Métrica | Fórmula | Pod1 | Pod2 | Pod3 |
|---|---|---|---|---|
|
|
|
2/4 = 50% |
0,4/4 = 10% |
1/8 = 12,5% |
|
|
|
N/D, pois o limite de CPU para |
0,4/1 = 40% |
1/2 = 50% |
|
|
|
(1 + 0)/4 = 25% |
0,5/4 = 12,5% |
2/8 = 25% |
A tabela a seguir mostra como as métricas de CPU do nó são calculadas usando esses dados.
| Métrica | Fórmula | Node1 | Node2 |
|---|---|---|---|
|
|
|
3/4 = 75% |
1,5/8 = 18,75% |
|
|
|
1,5/4 = 37,5% |
2/8 = 25% |