Google Cloud Managed Service pour Prometheus

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Google Cloud Managed Service pour Prometheus est la solution multicloud entièrement gérée de Google Cloud pour les métriques Prometheus. Il vous permet de surveiller vos charges de travail et d'envoyer des alertes à l'échelle mondiale à l'aide de Prometheus, sans avoir à gérer et exploiter manuellement Prometheus à grande échelle.

Managed Service pour Prometheus collecte les métriques des exportateurs Prometheus et vous permet d'interroger les données à l'échelle mondiale à l'aide de PromQL, ce qui signifie que vous pouvez continuer à utiliser tous les tableaux de bord Grafana existants, les alertes basées sur PromQL et les workflows. Cet environnement est compatible avec le cloud hybride et le multicloud. Il peut surveiller les charges de travail Kubernetes et de VM, conserver les données pendant 24 mois et assurer la portabilité en restant compatible avec les services Prometheus en amont. Vous pouvez également compléter votre surveillance Prometheus en interrogeant plus de 1 500 métriques gratuites dans Cloud Monitoring, y compris des métriques système gratuites GKE, à l'aide de PromQL.

Ce document fournit une présentation du service géré. Des documents supplémentaires décrivent la configuration et l'exécution du service. Pour recevoir régulièrement des informations sur les nouvelles fonctionnalités et les nouvelles versions, envoyez le formulaire d'inscription facultatif.

Découvrez comment The Home Depot utilise Managed Service pour Prometheus pour obtenir une observabilité unifiée dans 2 200 magasins exécutant des clusters Kubernetes sur site :

Présentation du système

Managed Service pour Prometheus vous donne accès aux fonctionnalités de Prometheus et de Cloud Monitoring

Managed Service pour Prometheus est basé sur Monarch, le même data store à l'échelle mondiale que celui utilisé pour la surveillance de Google. Comme le service géré pour Prometheus utilise le même backend et les mêmes API que Cloud Monitoring, les métriques Cloud Monitoring et les métriques ingérées par le service géré pour Prometheus peuvent être interrogées en utilisant PromQL dans Cloud Monitoring, Grafana ou tout autre outil pouvant lire l'API Prometheus. Pour plus d'informations, consultez la section Configurer une interface de requête.

Dans un déploiement Prometheus standard, la collecte de données, l'évaluation des requêtes, l'évaluation des règles et des alertes, et le stockage des données sont tous gérés sur un même serveur Prometheus. Managed Service pour Prometheus répartit les responsabilités de ces différentes fonctions sur plusieurs composants :

  • La collecte des données est gérée par des collecteurs gérés ou auto-déployés, qui effectuent le scraping des exportateurs locaux et transfèrent les données collectées à Monarch. Ces collecteurs peuvent être utilisés aussi bien pour Kubernetes que pour les charges de travail traditionnelles. Ils peuvent être exécutés partout, y compris dans d'autres clouds et des déploiements sur site.
  • L'évaluation des requêtes est gérée par Monarch, qui exécute les résultats des requêtes et des unions dans toutes les régions Google Cloud et sur jusqu'à 1 000 projets Google Cloud.
  • L'évaluation des règles et des alertes est gérée par des composants d'évaluateur de règles exécutés et configurés localement, qui exécutent des règles et des alertes sur le data store Monarch global et transfèrent les alertes déclenchées vers Prometheus AlertManager.
  • Le stockage des données est géré par Monarch, qui stocke toutes les données Prometheus pendant 24 mois sans frais supplémentaires.

Grafana se connecte au data store global Monarch au lieu de se connecter à des serveurs Prometheus individuels. Si les collecteurs de Managed Service pour Prometheus sont configurés dans tous vos déploiements, cette instance Grafana unique vous offre une vue unifiée de toutes vos métriques pour l'ensemble de vos clouds.

Collecte des données

Managed Service pour Prometheus présente deux modes d'utilisation : avec la collecte des données gérée ou avec la collecte des données auto-déployée.

Managed Service pour Prometheus propose un opérateur pour la collecte des données gérée dans les environnements Kubernetes. Nous vous recommandons d'utiliser la collecte gérée : Cela élimine la complexité au niveau du déploiement, du scaling, de la segmentation, de la configuration et de la maintenance des serveurs Prometheus. La collecte gérée est compatible avec les environnements Kubernetes GKE et non-GKE.

La collecte des données auto-déployée vous permet de gérer votre installation Prometheus comme vous l'avez toujours fait. La seule différence par rapport à Prometheus en amont est que vous exécutez le binaire de remplacement de Managed Service pour Prometheus au lieu du binaire Prometheus en amont.

Vous pouvez exécuter l'une ou l'autre des options de collecte dans les déploiements sur site et dans n'importe quel cloud. Les collecteurs exécutés en dehors de Google Cloud envoient des données à Monarch pour le stockage à long terme et les requêtes globales.

Lorsque vous choisissez entre la collecte gérée et la collecte auto-déployée, tenez compte des points suivants :

  • Collecte gérée :

    • L'approche recommandée par Google pour tous les environnements Kubernetes.
    • Elle est déployée à l'aide de l'UI GKE, de gcloud CLI, de la CLI kubectl ou de Terraform.
    • Le mode opératoire de Prometheus (génération des configurations de scraping, scaling et ingestion, règles de champ d'application sur les bonnes données, etc.) est entièrement géré par l'opérateur Kubernetes.
    • Le scraping et les règles sont configurés à l'aide de ressources personnalisées légères.
    • Convient à ceux qui souhaitent bénéficier d'une expérience plus automatisée et entièrement gérée.
    • Migration intuitive à partir des configurations prometheus-operator.
    • Compatibilité avec la plupart des cas d'utilisation Prometheus actuels.
  • Collecte auto-déployée :

    • Une solution de remplacement prête à l'emploi pour le binaire Prometheus en amont.
    • Vous pouvez utiliser le mécanisme de déploiement de votre choix, tel que prometheus-operator ou le déploiement manuel.
    • Le scraping est configuré à l'aide des méthodes de votre choix, telles que les annotations ou prometheus-operator.
    • Le scaling et la segmentation fonctionnelle sont effectués manuellement.
    • Idéal pour une intégration rapide dans des configurations existantes plus complexes. Vous pouvez réutiliser vos configurations existantes et exécuter côte à côte Prometheus en amont et Managed Service pour Prometheus.
    • Les règles et les alertes s'exécutent généralement sur des serveurs Prometheus individuels, ce qui peut être préférable pour les déploiements en périphérie, car l'évaluation des règles locales n'entraîne aucun trafic réseau.
    • Il est possible que les cas d'utilisation de longue traîne ne soient pas encore compatibles avec la collecte gérée, tels que les agrégations locales pour réduire la cardinalité.

Pour commencer, consultez la page Premiers pas avec la collecte gérée ou Premiers pas avec la collecte auto-déployée.

Si vous utilisez le service géré en dehors de Google Kubernetes Engine ou de Google Cloud, une configuration supplémentaire peut être nécessaire. Consultez la section Exécuter une collecte gérée en dehors de Google Cloud ou Exécuter une collecte auto-déployée en dehors de Google Cloud.

Évaluation des requêtes

Managed Service pour Prometheus est compatible avec toute interface utilisateur de requête pouvant appeler l'API de requête Prometheus, y compris Grafana et l'interface utilisateur Cloud Monitoring. Les tableaux de bord Grafana existants continuent de fonctionner lorsque vous passez du service Prometheus local à Managed Service pour Prometheus. Vous pouvez continuer à utiliser PromQL dans les dépôts Open Source populaires et sur les forums communautaires.

Vous pouvez utiliser PromQL pour interroger plus de 1 500 métriques gratuites dans Cloud Monitoring, même sans envoyer de données à Managed Service pour Prometheus. Vous pouvez également utiliser PromQL pour interroger des métriques Kubernetes gratuites, des métriques personnalisées et des métriques basées sur les journaux.

Pour savoir comment configurer Grafana pour interroger des données de Managed Service pour Prometheus, consultez la section Configurer une interface utilisateur de requête.

Pour en savoir plus sur l'interrogation de métriques Cloud Monitoring à l'aide de PromQL, consultez la page PromQL dans Cloud Monitoring.

Évaluation des règles et des alertes

Managed Service pour Prometheus fournit également un évaluateur de règle autonome qui évalue les règles d'enregistrement et d'alerte par rapport à toutes les données accessibles dans un champ d'application des métriques. En évaluant les règles par rapport à un champ d'application de métriques multiprojets, vous n'avez plus besoin de colocaliser toutes les données qui vous intéressent sur un seul serveur Prometheus ou dans un seul projet Google Cloud. Vous pouvez également définir des autorisations IAM sur des groupes de projets.

Étant donné que l'évaluateur de règles accepte le format Prometheus standard rule_files, vous pouvez facilement migrer vers Managed Service pour Prometheus en copiant-collant des règles existantes ou en copiant-collant des règles disponibles dans des dépôts Open Source populaires. Si vous utilisez des collecteurs auto-déployés, vous pouvez continuer à évaluer les règles d'enregistrement en local dans vos collecteurs. Les résultats des règles d'enregistrement et d'alerte sont stockés dans Monarch, comme les données de métrique collectées directement.

Pour évaluer des règles avec une collecte gérée, consultez la section Évaluation et alertes des règles gérées.

Pour l'évaluation des règles avec une collecte auto-déployée, consultez la section Évaluations et alertes des règles auto-déployées.

Pour en savoir plus sur la réduction de la cardinalité à l'aide de règles d'enregistrement sur les collecteurs auto-déployés, consultez la page Contrôle et attribution des coûts.

Stockage de données

Toutes les données de Managed Service pour Prometheus sont conservées pendant 24 mois, sans frais supplémentaires.

Managed Service pour Prometheus accepte un intervalle de scrape minimal de 5 secondes. Les données sont stockées avec une précision totale pendant une semaine, sous-échantillonnées à des points d'une minute pendant les cinq semaines suivantes, puis sous-échantillonnées en 10 minutes et stockées pendant le reste de la durée de conservation.

Managed Service pour Prometheus n'a pas de limite au nombre de séries temporelles ou de séries temporelles actives.

Pour en savoir plus, consultez la page Quotas et limites de la documentation Cloud Monitoring.

Facturation et quotas

Managed Service pour Prometheus est un produit Google Cloud. Des quotas de facturation et d'utilisation s'appliquent.

Billing

La facturation du service est principalement basée sur le nombre d'échantillons de métriques ingérés dans l'espace de stockage. Les appels en lecture de l'API entraînent également des frais minimes. Managed Service pour Prometheus ne facture pas le stockage ni la conservation des données de métriques.

Quotas

Managed Service pour Prometheus partage les quotas d'ingestion et de lecture avec Cloud Monitoring. Le quota d'ingestion par défaut est de 500 RPS par projet, avec jusqu'à 200 échantillons dans un seul appel, ce qui équivaut à 100 000 échantillons par seconde. Le quota de lectures par défaut est de 100 RPS par champ d'application des métriques.

Vous pouvez augmenter ces quotas pour prendre en charge vos volumes de métriques et de requêtes. Pour en savoir plus sur la gestion des quotas et demander une augmentation de quota, consultez la page Utiliser des quotas.

Conditions d'utilisation et conformité

Le service géré pour Prometheus fait partie de Cloud Monitoring et hérite donc de certains contrats et certifications de Cloud Monitoring, y compris (sans s'y limiter):

Étapes suivantes