O Google Cloud Managed Service for Prometheus é uma solução totalmente gerida, de várias nuvens e entre projetos para métricas do Prometheus e do OpenTelemetry. Google CloudPermite-lhe monitorizar e receber alertas globalmente sobre as suas cargas de trabalho, usando o Prometheus e o OpenTelemetry, sem ter de gerir e operar manualmente o Prometheus em grande escala.
O Managed Service for Prometheus recolhe métricas de exportadores do Prometheus e permite-lhe consultar os dados globalmente através do PromQL, o que significa que pode continuar a usar todos os painéis de controlo do Grafana existentes, alertas baseados no PromQL e fluxos de trabalho. É compatível com nuvens híbridas e múltiplas, pode monitorizar o Kubernetes, as VMs e as cargas de trabalho sem servidor no Cloud Run, retém dados durante 24 meses e mantém a portabilidade permanecendo compatível com o Prometheus a montante. Também pode complementar a sua monitorização do Prometheus consultando mais de 6500 métricas gratuitas no Cloud Monitoring, incluindo métricas de sistema gratuitas do GKE, através do PromQL.
Este documento oferece uma vista geral do serviço gerido e outros documentos descrevem como configurar e executar o serviço. Para receber atualizações regulares sobre novas funcionalidades e lançamentos, envie o formulário de inscrição opcional.
Saiba como a The Home Depot usa o Managed Service for Prometheus para obter observabilidade unificada em 2200 lojas com clusters do Kubernetes no local:
Vista geral do sistema
O Google Cloud Managed Service for Prometheus oferece-lhe a familiaridade do Prometheus com o apoio da infraestrutura global, multinuvem e entre projetos do Cloud Monitoring.
O serviço gerido para Prometheus é criado com base no Monarch, o mesmo repositório de dados globalmente escalável usado para a monitorização da própria Google. Uma vez que o serviço gerido para Prometheus usa o mesmo back-end e APIs que o Cloud Monitoring, é possível consultar as métricas do Cloud Monitoring e as métricas carregadas pelo serviço gerido para Prometheus usando o PromQL no Cloud Monitoring, o Grafana ou qualquer outra ferramenta que possa ler a API Prometheus.
Numa implementação padrão do Prometheus, a recolha de dados, a avaliação de consultas, a avaliação de regras e alertas, e o armazenamento de dados são todos processados num único servidor do Prometheus. O Managed Service for Prometheus divide as responsabilidades destas funções em vários componentes:
- A recolha de dados é processada por coletores geridos, coletores implementados automaticamente, o coletor OpenTelemetry ou o agente de operações, que extraem exportadores locais e encaminham os dados recolhidos para o Monarch. Estes coletores podem ser usados para cargas de trabalho do Kubernetes, sem servidor e de VMs tradicionais, e podem ser executados em qualquer lugar, incluindo outras nuvens e implementações no local.
- A avaliação de consultas é processada pelo Monarch, que executa consultas e une resultados em todas as Google Cloud regiões e em até 3500 projetosGoogle Cloud .
- A avaliação de regras e alertas é processada através da escrita de alertas PromQL no Cloud Monitoring, que são totalmente executados na nuvem, ou através da utilização de componentes de avaliação de regras executados localmente e configurados localmente, que executam regras e alertas em relação ao arquivo de dados global do Monarch e encaminham todos os alertas acionados para o Prometheus AlertManager.
- O armazenamento de dados é processado pelo Monarch, que armazena todos os dados do Prometheus durante 24 meses sem custos adicionais.
O Grafana liga-se ao repositório de dados global do Monarch em vez de se ligar a servidores Prometheus individuais. Se tiver coletores do Managed Service for Prometheus configurados em todas as suas implementações, esta única instância do Grafana oferece-lhe uma vista unificada de todas as suas métricas em todas as suas nuvens.
Recolha de dados
Pode usar o Managed Service for Prometheus num de quatro modos: com recolha de dados gerida, com recolha de dados implementada automaticamente, com o OpenTelemetry Collector ou com o Ops Agent.
O Managed Service for Prometheus oferece um operador para recolha de dados geridos em ambientes Kubernetes. Recomendamos que use a recolha gerida. A sua utilização elimina a complexidade da implementação, do dimensionamento, da divisão, da configuração e da manutenção dos servidores Prometheus. A recolha gerida é suportada para ambientes do Kubernetes do GKE e não pertencentes ao GKE.
Com a recolha de dados implementada automaticamente, gere a sua instalação do Prometheus como sempre fez. A única diferença em relação ao Prometheus a montante é que executa o ficheiro binário de substituição plug-in do Managed Service for Prometheus em vez do ficheiro binário do Prometheus a montante.
O OpenTelemetry Collector pode ser usado para extrair dados de exportadores do Prometheus e enviar dados para o Managed Service for Prometheus. O OpenTelemetry suporta uma estratégia de agente único para todos os sinais, em que é possível usar um coletor para métricas (incluindo métricas do Prometheus), registos e rastreios em qualquer ambiente.
Pode configurar o agente de operações em qualquer instância do Compute Engine para extrair e enviar métricas do Prometheus para o repositório de dados global. A utilização de um agente simplifica significativamente a deteção de VMs e elimina a necessidade de instalar, implementar ou configurar o Prometheus em ambientes de VM.
Se tiver um serviço do Cloud Run que escreva métricas do Prometheus ou métricas OTLP, pode usar um sidecar e o Managed Service for Prometheus para enviar as métricas para o Cloud Monitoring.
- Para recolher métricas do Prometheus a partir do Cloud Run, use o sidecar do Prometheus.
- Para recolher métricas OTLP do Cloud Run, use o sidecar do OpenTelemetry.
Pode executar coletores geridos, implementados automaticamente e OpenTelemetry em implementações nas instalações e em qualquer nuvem. Os coletores executados fora do Google Cloud enviam dados para o Monarch para armazenamento a longo prazo e consultas globais.
Ao escolher entre as opções de recolha, considere o seguinte:
Coleção gerida:
- A abordagem recomendada da Google para todos os ambientes do Kubernetes.
- Implementado através da IU do GKE, da CLI gcloud, da CLI
kubectl
ou do Terraform. - A operação do Prometheus, que inclui a geração de configurações de recolha, o dimensionamento da ingestão, a aplicação de regras ao âmbito dos dados certos, entre outros aspetos, é totalmente gerida pelo operador do Kubernetes.
- A extração de dados e as regras são configuradas através de recursos personalizados simples (CRs).
- Bom para quem quer uma experiência mais automática e totalmente gerida.
- Migração intuitiva das configurações do prometheus-operator.
- Suporta a maioria dos exemplos de utilização atuais do Prometheus.
- Assistência completa do Google Cloud apoio técnico.
Recolha implementada autonomamente:
- Uma substituição imediata para o binário do Prometheus a montante.
- Pode usar o seu mecanismo de implementação preferido, como o prometheus-operator ou a implementação manual.
- A obtenção de dados é configurada através dos seus métodos preferidos, como anotações ou prometheus-operator.
- O dimensionamento e a divisão funcional são feitos manualmente.
- Bom para uma integração rápida em configurações existentes mais complexas. Pode reutilizar as suas configurações existentes e executar o Prometheus a montante e o Managed Service for Prometheus lado a lado.
- Normalmente, as regras e os alertas são executados em servidores Prometheus individuais, o que pode ser preferível para implementações de limite, uma vez que a avaliação de regras locais não incorre em tráfego de rede.
- Pode suportar exemplos de utilização de cauda longa que ainda não são suportados pela recolha gerida, como agregações locais para reduzir a cardinalidade.
- Assistência limitada do apoio técnico do Google Cloud .
O OpenTelemetry Collector:
- Um único coletor que pode recolher métricas (incluindo métricas do Prometheus) de qualquer ambiente e enviá-las para qualquer back-end compatível. Também pode ser usado para recolher registos e rastreios e enviá-los para qualquer back-end compatível, incluindo o Cloud Logging e o Cloud Trace.
- Implementado em qualquer ambiente de computação ou Kubernetes, manual ou automaticamente, através do Terraform. Pode ser usado para enviar métricas de ambientes sem estado, como o Cloud Run.
- A obtenção de dados é configurada através de configurações semelhantes às do Prometheus no recetor Prometheus do coletor.
- Suporta padrões de recolha de métricas baseados em push.
- Os metadados são injetados a partir de qualquer nuvem através de processadores de deteção de recursos.
- As regras e os alertas podem ser executados através de uma política de alertas do Cloud Monitoring ou do avaliador de regras autónomo.
- Suporta melhor os fluxos de trabalho de vários sinais e funcionalidades, como exemplos.
- Assistência limitada do apoio técnico do Google Cloud .
O Ops Agent:
- A forma mais fácil de recolher e enviar dados de métricas do Prometheus originários de ambientes do Compute Engine, incluindo distribuições Linux e Windows.
- Implementado através da CLI gcloud, da IU do Compute Engine ou do Terraform.
- A obtenção de dados é configurada através de configurações semelhantes ao Prometheus no recetor Prometheus do agente, com tecnologia OpenTelemetry.
- As regras e os alertas podem ser executados através do Cloud Monitoring ou do avaliador de regras autónomo.
- É fornecido com agentes de registo opcionais e métricas de processos.
- Assistência completa do Google Cloud apoio técnico.
Para começar, consulte os artigos Introdução à recolha gerida, Introdução à recolha implementada automaticamente, Introdução ao OpenTelemetry Collector ou Introdução ao agente Ops.
Se usar o serviço gerido fora do Google Kubernetes Engine ou Google Cloud, pode ser necessária alguma configuração adicional. Consulte os artigos Execute a recolha gerida fora do Google Cloud, Execute a recolha implementada automaticamente fora doGoogle Cloud ou Adicione processadores OpenTelemetry.
Avaliação de consultas
O Managed Service for Prometheus suporta qualquer IU de consulta que possa chamar a API de consulta do Prometheus, incluindo o Grafana e a IU do Cloud Monitoring. Os painéis de controlo do Grafana existentes continuam a funcionar quando muda do Prometheus local para o Managed Service for Prometheus, e pode continuar a usar o PromQL encontrado em repositórios populares de código aberto e em fóruns da comunidade.
Pode usar o PromQL para consultar mais de 6500 métricas gratuitas no Cloud Monitoring, mesmo sem enviar dados para o serviço gerido para Prometheus. Também pode usar o PromQL para consultar métricas do Kubernetes gratuitas, métricas personalizadas e métricas baseadas em registos.
Para obter informações sobre como configurar o Grafana para consultar dados do Managed Service for Prometheus, consulte o artigo Consultar com o Grafana.
Para obter informações sobre como consultar métricas do Cloud Monitoring através do PromQL, consulte o artigo PromQL no Cloud Monitoring.
Avaliação de regras e alertas
O Managed Service for Prometheus oferece um pipeline de alertas totalmente baseado na nuvem e um avaliador de regras autónomo, que avaliam as regras em relação a todos os dados do Monarch acessíveis num âmbito de métricas. A avaliação de regras em relação a um âmbito de métricas de vários projetos elimina a necessidade de colocar todos os dados de interesse no mesmo servidor do Prometheus ou no mesmo projeto do Google Cloud , e permite-lhe definir autorizações da IAM em grupos de projetos.
Uma vez que todas as opções de avaliação de regras aceitam o formato rule_files
Prometheus padrão, pode migrar facilmente para o Managed Service for Prometheus copiando e colando
regras existentes ou copiando e colando regras encontradas em repositórios
populares de código aberto. Para quem usa coletores implementados automaticamente, pode continuar a
avaliar as regras de gravação localmente nos seus coletores. Os resultados das regras de registo e alerta são armazenados no Monarch, tal como os dados de métricas recolhidos diretamente. Também pode migrar as suas regras de alerta do Prometheus para políticas de alerta baseadas em PromQL no Cloud Monitoring.
Para a avaliação de alertas com o Cloud Monitoring, consulte o artigo Alertas do PromQL no Cloud Monitoring.
Para a avaliação de regras com a recolha gerida, consulte o artigo Avaliação de regras gerida e alertas.
Para a avaliação de regras com a recolha implementada automaticamente, o OpenTelemetry Collector e o Ops Agent, consulte o artigo Avaliação de regras e alertas implementados automaticamente.
Para obter informações sobre como reduzir a cardinalidade através de regras de registo em coletores implementados automaticamente, consulte o artigo Controlos de custos e atribuição.
Armazenamento de dados
Todos os dados do Managed Service for Prometheus são armazenados durante 24 meses sem custo adicional.
O Managed Service for Prometheus suporta um intervalo de recolha mínimo de 5 segundos. Os dados são armazenados com granularidade total durante 1 semana e, em seguida, são reduzidos para pontos de 1 minuto durante as 5 semanas seguintes. Depois, são reduzidos para pontos de 10 minutos e armazenados durante o resto do período de retenção.
O Managed Service for Prometheus não tem limite para o número de séries cronológicas ativas nem para o número total de séries cronológicas.
Para mais informações, consulte as Quotas e os limites na documentação do Cloud Monitoring.
Faturação e quotas
O Managed Service for Prometheus é um Google Cloud produto, e aplicam-se quotas de faturação e utilização.
Faturação
A faturação do serviço baseia-se principalmente no número de exemplos de métricas carregados para o armazenamento. Também existe uma cobrança nominal para chamadas API de leitura. O Managed Service for Prometheus não cobra pelo armazenamento nem pela retenção de dados de métricas.
- Para ver os preços atuais, consulte as secções do Cloud Monitoring na página de preços da Google Cloud Observability.
- Para estimar a sua fatura com base no número esperado de séries cronológicas ou no número esperado de amostras por segundo, consulte o separador Cloud Operations na Google Cloud calculadora de preços.
- Para ver sugestões sobre como reduzir a fatura ou determinar as origens dos custos elevados, consulte o artigo Controlos de custos e atribuição.
- Para ver informações sobre a fundamentação do modelo de preços, consulte o artigo Otimize os custos do serviço gerido do Google Cloud para Prometheus.
- Para ver exemplos de preços, consulte o artigo Dados de métricas cobrados por amostras carregadas.
Quotas
O Managed Service for Prometheus partilha as quotas de carregamento e leitura com o Cloud Monitoring. A quota de carregamento predefinida é de 500 CPS por projeto com até 200 exemplos numa única chamada, o que equivale a 100 000 exemplos por segundo. A quota de leitura predefinida é de 100 CPS por âmbito de métricas.
Pode aumentar estas quotas para suportar os volumes de métricas e consultas. Para informações sobre a gestão de quotas e o pedido de aumentos de quotas, consulte o artigo Trabalhar com quotas.
Termos de Utilização e conformidade
O serviço gerido para Prometheus faz parte do Cloud Monitoring e, por isso, herda determinados contratos e certificações do Cloud Monitoring, incluindo (entre outros):
- Os Google Cloud termos de utilização
- O Contrato de Nível de Serviço (SLA) de Operações
- Níveis de conformidade com a DISA dos EUA e a FedRAMP
- Suporte do VPC-SC (VPC Service Controls)
O que se segue?
- Comece a usar a coleção gerida.
- Comece a usar a recolha implementada automaticamente.
- Comece a usar o OpenTelemetry Collector.
- Comece a usar o agente de operações.
- Use o PromQL no Cloud Monitoring para consultar métricas do Prometheus.
- Use o Grafana para consultar as métricas do Prometheus.
- Consulte métricas do Cloud Monitoring com o PromQL.
- Leia as práticas recomendadas e veja diagramas de arquitetura.