|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Depurando Alto Uso de Memória
Cada série temporal no Prometheus é identificada de forma única pelo seu nome da métrica e pares de chave-valor opcionais chamados rótulos.
Os rótulos permitem a capacidade de filtrar e agregar os dados da série temporal, mas também multiplicam a quantidade de dados que o Prometheus coleta.
Cada série temporal tem um conjunto definido de rótulos, e o Prometheus gera uma nova série temporal para todas as combinações únicas de rótulos. Se uma métrica tiver dois rótulos anexados, duas séries temporais são geradas para essa métrica. Alterar qualquer valor de rótulo, incluindo adicionar ou remover um rótulo, criará uma nova série temporal.
O Prometheus é otimizado para armazenar dados que são indexados por séries. Ele é projetado para um número relativamente consistente de séries temporais e um número relativamente grande de amostras que precisam ser coletadas dos exportadores ao longo do tempo.
Inversamente, o Prometheus não é otimizado para acomodar um número de séries temporais que muda rapidamente. Por essa razão, grandes picos de uso de memória podem ocorrer quando o monitoramento é instalado em clusters onde muitos recursos estão sendo criados e destruídos, especialmente em clusters multilocatários.
Reduzindo Picos de Memória
Para reduzir o consumo de memória, o Prometheus pode ser configurado para armazenar menos séries temporais, coletando menos métricas ou anexando menos rótulos às séries temporais. Para ver quais séries usam mais memória, você pode verificar a página de status do TSDB (banco de dados de séries temporais) na interface do usuário do Prometheus.
Soluções de Prometheus distribuídas, como Thanos e Cortex, usam uma arquitetura alternativa na qual várias pequenas instâncias do Prometheus são implantadas. No caso do Thanos, as métricas de cada Prometheus são agregadas na implantação comum do Thanos, e então essas métricas são exportadas para um armazenamento persistente, como o S3. Essa arquitetura mais robusta evita sobrecarregar qualquer instância única do Prometheus com muitas séries temporais, ao mesmo tempo em que preserva a capacidade de consultar métricas em um nível global.