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% |