Ir para

O que é o Prometheus?

O Prometheus é um conjunto de ferramentas de monitoramento e alerta de código aberto que cresceu em popularidade junto com o crescimento do Kubernetes. Originalmente criado no SoundCloud, o Prometheus pode rastrear as próprias raízes até um projeto de monitoramento no Google chamado Borgmon.

O Prometheus é o principal proponente da coleta de métricas dos aplicativos e da infraestrutura usando um modelo baseado em pull. Isso significa que o Prometheus enviará periodicamente uma solicitação aos seus destinos, e as métricas coletadas serão armazenadas em um banco de dados de série temporal. Em instâncias autogerenciadas do Prometheus, forneça a infraestrutura para coletar, armazenar e consultar as métricas. Nas versões gerenciadas do Prometheus, um fornecedor fornece toda a infraestrutura e um contrato de nível de serviço (SLA, na sigla em inglês) para o tempo de atividade do serviço. 

O Prometheus fornece uma linguagem de consulta chamada PromQL para consultar dados da série temporal. Há muitos projetos que utilizam o PromQL, incluindo o Grafana e o Alertmanager, para ajudar com tarefas analíticas e operacionais, como visualização de dados, criação de alertas e escalonamento da infraestrutura de monitoramento.  

Qual é a função do Prometheus?

O Prometheus é usado para coletar métricas dos aplicativos e da infraestrutura. Essas métricas podem ser usadas para rastrear a integridade dos sistemas, identificar possíveis problemas e resolvê-los.

Quais são os benefícios do Prometheus?

Conheça alguns dos benefícios específicos do uso do Prometheus:

  • Aberto : o Prometheus é de código aberto, faz parte da Cloud Native Computing Foundation (CNCF) e é gratuito.
  • Confiabilidade : o Prometheus é confiável e tem um histórico comprovado em ambientes de produção em algumas das maiores empresas do mundo.
  • Suporte da comunidade: o Prometheus tem uma comunidade grande e ativa que oferece suporte, documentação e melhorias. Ele também tem várias integrações com outras ferramentas, o que permite monitorar seus sistemas e infraestrutura e visualizar os dados.
  • Funciona muito bem com o Kubernetes: como a solução padrão de monitoramento para o Kubernetes, a maioria dos aplicativos de terceiros já está instrumentada para as métricas do Prometheus.
  • Funciona em qualquer lugar: embora a maior parte da adoção tenha sido em implantações do Kubernetes, o Prometheus também pode ser usado para VMs e alguns ambientes sem servidor.

Quais são os componentes do Prometheus?

  • Servidor Prometheus: o componente central do sistema de monitoramento do Prometheus. Ele armazena dados de séries temporais e expõe uma API HTTP para consultar e alertar sobre esses dados.
  • Exportadores do Prometheus: agentes de software que coletam métricas de vários sistemas e as expõem ao Prometheus.
  • Alertmanager: um serviço que recebe alertas do Prometheus e os encaminha para as pessoas ou sistemas apropriados.
  • Federação do Prometheus: um recurso que permite que vários servidores do Prometheus compartilhem dados.
  • Prometheus Pushgateway: um componente que permite aos serviços enviar métricas ao Prometheus sem a necessidade de extração. Esse recurso serve melhor para jobs de curta duração.
  • Exportador de caixa preta do Prometheus : um serviço que pode ser usado para monitorar a disponibilidade de endpoints HTTP, TCP e DNS.

Como o Prometheus coleta métricas?

O Prometheus usa um modelo de pull para coletar métricas, o que significa que o servidor Prometheus pesquisa os sistemas ou aplicativos que está monitorando para métricas. Isso é diferente do modelo de push, usado por muitos outros sistemas de monitoramento, em que você modifica o código do aplicativo para enviar métricas ao servidor periodicamente. 

O modelo de pull não requer que os sistemas ou aplicativos que estão sendo monitorados estejam cientes do servidor Prometheus. Portanto, ele pode ser adicionado a um sistema de monitoramento sem fazer alterações no código do aplicativo. O modelo de pull só coleta métricas quando elas são necessárias. Portanto, o Prometheus não desperdiça recursos ao coletar métricas que não estão sendo usadas.

Além disso, o Prometheus pode descobrir automaticamente origens de dados por meio dos seguintes meios: 

  • Descoberta de serviços: o Prometheus pode usar vários mecanismos de descoberta de serviços para encontrar hosts que executam serviços que expõem métricas. Por exemplo, o Prometheus pode usar a API Kubernetes para descobrir pods que executam os exportadores do Prometheus.
  • Configuração estática: também é possível configurar estaticamente o Prometheus para coletar recursos específicos. Isso é útil para recursos não detectáveis por outros meios.
  • Descoberta de arquivos: o Prometheus também pode descobrir recursos procurando arquivos que contenham métricas. Por exemplo, o Prometheus pode descobrir arquivos gerados pelo collectd ou Nagios.

Depois que o Prometheus descobre um recurso, ele analisa o recurso periodicamente para ver as métricas. As métricas são armazenadas no banco de dados do Prometheus, onde podem ser consultadas e visualizadas.

Quais são os quatro tipos de métricas do Prometheus?

  • Os contadores rastreiam valores cumulativos que só podem aumentar. Eles geralmente são usados para rastrear itens como solicitações veiculadas, erros e bytes transferidos.
  • Medições: rastreiam proporções que podem subir ou descer. Geralmente, elas medem a taxa por segundo. Eles geralmente são usados para rastrear itens como uso de memória, uso de CPU e espaço em disco.
  • Histogramas rastreiam a distribuição de valores. Eles são frequentemente usados para rastrear itens como latência de solicitação e tamanho da resposta.
  • Os resumos são semelhantes aos histogramas, mas também rastreiam quantis. Isso os torna mais úteis para identificar outliers e entender a distribuição geral dos valores.

O que é o PromQL?

O PromQL é uma linguagem de consulta eficiente e flexível para as métricas coletadas pelo Prometheus, que pode ser usada para criar gráficos, tabelas e alertas ad hoc.

O PromQL usa uma linguagem de consulta funcional que permite ao usuário selecionar e agregar dados de série temporal em tempo real. O resultado de uma expressão pode ser mostrado como um gráfico, visualizado como dados tabulares no navegador de expressão do Prometheus ou consumido por sistemas externos por meio da API HTTP. 

Veja alguns dos usos que o Prometheus e o PromQL podem ser usados:

  • Monitoramento da integridade dos aplicativos e da infraestrutura: o Prometheus coleta métricas e alertas sobre possíveis problemas
  • Identificação de possíveis problemas: o Prometheus compara métricas atuais com dados históricos e alertas sobre qualquer desvio significativo
  • Solução de problemas: o Prometheus fornece uma visão detalhada do estado do sistema e permite que os usuários analisem métricas e recursos específicos para identificar a causa principal do problema
  • Visualização de dados: o Prometheus usa a linguagem de consulta PromQL para consultar os dados de série temporal e, em seguida, exibe os resultados em vários formatos, incluindo gráficos, tabelas e alertas
  • Criação de alertas: o Prometheus usa a linguagem de consulta do PromQL para consultar os dados de série temporal e envia notificações quando os resultados atendem a determinadas condições.
  • Visualização em ferramentas de terceiros: qualquer front-end que entenda a API de consulta do Prometheus, como Grafana ou Kiali, pode consultar o servidor do Prometheus e exibir dados

Exemplos de consultas PromQL

Conheça alguns exemplos de consultas PromQL:

Uso médio da CPU por segundo

Para ver o uso médio da CPU por segundo de um aplicativo específico, use a seguinte consulta:

Consulta de uso da CPU por segundo da CPU

Número de solicitações de endpoint

Para saber o número de solicitações feitas a um endpoint específico, use a seguinte consulta:

consulta promql para o número de solicitações de endpoint

Número de erros de solicitação do endpoint

Para ver o número total de erros retornados de um endpoint específico, use a seguinte consulta:

Exemplo de consulta de erros de solicitação de endpoint do promql

Resolva seus desafios mais difíceis com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Comece agora
Fale com um especialista em vendas do Google Cloud para discutir seu desafio exclusivo em mais detalhes.
Fale conosco