Limites de container
Para que as métricas de host de container sejam precisas, limites precisam ser definidos para cada container. Isso significa configurar seu container para ter um número limitado de CPUs e memória alocadas a ele. Sem esses limites, o container reporta o valor máximo possível dessas métricas, resultando no host reportando Terabytes de memória disponível, por exemplo. Um container sem swap configurado, ou não suportado no sistema host, reportará um valor0. Para mais informações sobre como limitar a CPU e memória do seu container, por favor leia a documentação sobre:
Métricas suportadas
Em sistemas que expõem o sistema de arquivos virtual/sys/fs, as seguintes métricas são suportadas.
| Métrica | Descrição |
|---|---|
| Uso de CPU | User e system em porcentagens. Leia mais sobre métricas de CPU em nosso artigo da academy. |
| Load average | Carga média de 1 minuto no host. |
| Uso de memória | Memória disponível, livre e usada. Também inclui swap total e swap usado. |
| Uso de disco | Porcentagem de cada disco usado. |
| Disk IO | Throughput de dados lidos e gravados em cada disco. |
| Tráfego de rede | Throughput de dados recebidos e transmitidos por cada interface de rede. |
Sobre métricas de CPU
Resumindo:- O AppSignal reporta as mesmas métricas que o comando
docker stats, mas reportadas como média em base minutal. - O uso de CPU reportado pode ir acima de 100%. 100% é igual a 1 núcleo de CPU virtual completo.
- Limites de container são recomendados para equilibrar adequadamente os recursos de CPU disponíveis entre containers.
- Quando vários containers no mesmo sistema host compartilham recursos de CPU, mesmo com limites de container, containers que usam mais CPU podem impactar negativamente o uso de CPU reportado para outros containers.
- No cenário do container A atingindo o máximo de seus núcleos de CPU disponíveis, e os outros containers B e C ociosos em 0%, será reportado como 300% de uso de CPU para o container A. Que é o tempo total de CPU disponível no sistema de container do host.
- Quando os três containers estão todos atingindo o máximo de seus núcleos de CPU disponíveis, será reportado como 100% de uso de CPU para cada container, pois os recursos são compartilhados entre eles de forma uniforme.