Prometheus (ancienne version)

Supported OS Linux Mac OS Windows

Intégration3.3.1

Présentation

Connectez-vous à Prometheus pour :

  • Extraire des métriques custom depuis des endpoints Prometheus
  • Consulter des alertes Prometheus Alertmanager dans votre flux d’événements Datadog

Remarque : nous vous conseillons d’utiliser le check OpenMetrics du fait de son efficacité accrue et de sa prise en charge complète du format texte Prometheus. N’utilisez le check Prometheus que lorsque l’endpoint de métriques ne prend pas en charge un format texte.

Toutes les métriques récupérées par cette intégration sont considérées comme étant des métriques custom.

Consultez la section [Collecte de métriques Prometheus2 pour découvrir comment configurer un check Prometheus.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à un environnement conteneurisé.

Installation

Le check Prometheus est inclus avec l’Agent Datadog depuis la version 6.1.0.

Configuration

Modifiez le fichier prometheus.d/conf.yaml pour récupérer des métriques à partir d’applications qui exposent des endpoints OpenMetrics/Prometheus.

Chaque instance est au minimum composée des paramètres suivants :

ParamètreDescription
prometheus_urlUne URL qui indique l’itinéraire des métriques (remarque : doit être unique)
namespaceCet espace de nommage est ajouté en préfixe à toutes les métriques (pour éviter les conflits entre les noms de métriques)
metricsUne liste de toutes les métriques à récupérer en tant que métriques custom au format - <NOM_MÉTRIQUE> ou - <NOM_MÉTRIQUE>: <RENOMMER_MÉTRIQUE>

Lors de l’établissement de la liste de métriques, il est possible d’utiliser le wildcard * comme suit : - <NOM_MÉTRIQUE>* pour récupérer toutes les métriques correspondantes. Remarque : utilisez prudemment ce wildcard, car il peut entraîner l’envoi de nombreuses métriques custom.

D’autres paramètres plus avancés (ssl, labels joining, tags personnalisés, etc.) sont documentés dans le fichier d’exemple prometheus.d/conf.yaml

En raison de la nature de cette intégration, il est possible d’envoyer un nombre élevé de métriques custom à Datadog. Les utilisateurs peuvent limiter le nombre de métriques envoyées en cas d’erreur de configuration ou de changement dans une entrée. Par défaut, le check applique une limite de 2 000 métriques. Cette limite peut être augmentée en définissant l’option max_returned_metrics dans le fichier prometheus.d/conf.yaml si vous le souhaitez.

Si send_monotonic_counter: True, l’Agent envoie les deltas des valeurs en question, et le type au sein de l’application est défini sur Count (il s’agit du comportement par défaut). Si send_monotonic_counter: False, l’Agent envoie la valeur brute, qui augmente de façon monotone, et le type au sein de l’application est défini sur Gauge.

Validation

Lancez la sous-commande status de l’Agent et cherchez prometheus dans la section Checks.

Données collectées

Métriques

Toutes les métriques recueillies par le check Prometheus sont transmises à Datadog en tant que métriques custom.

Remarque : les données de compartiment d’une métrique histogram Prometheus <NOM_MÉTRIQUE_HISTOGRAM> sont conservées dans la métrique <NOM_MÉTRIQUE_HISTOGRAM>.count, dans Datadog. Les tags upper_bound indiquent le nom des compartiments. Pour accéder au compartiment +Inf, utilisez upper_bound:none.

Événements

Les alertes Prometheus Alertmanager sont automatiquement envoyées à votre flux d’événements Datadog en tenant compte de la configuration des webhooks.

Checks de service

Le check Prometheus n’inclut aucun check de service.

Prometheus Alertmanager

Vous pouvez faire en sorte que les alertes Prometheus Alertmanager soient envoyées dans le flux d’événements. Par défaut, Alertmanager envoie toutes les alertes simultanément au webhook configuré. Pour visualiser les alertes dans Datadog, vous devez configurer votre instance d’Alertmanager de façon à ce que les alertes soient envoyées une par une. Vous pouvez ajouter un paramètre group_by sous route pour que les alertes soient regroupées en fonction du nom réel de la règle d’alerte.

Configuration

  1. Ajoutez ce qui suit au fichier de configuration Alertmanager alertmanager.yml :
receivers:
- name: datadog
  webhook_configs: 
  - send_resolved: true
    url: https://app.datadoghq.com/intake/webhook/prometheus?api_key=<CLÉ_API_DATADOG>
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 5m
  receiver: datadog
  repeat_interval: 3h

Remarque : cet endpoint accepte un seul événement à la fois dans la charge utile.

  1. Redémarrez les services Prometheus et Alertmanager.
sudo systemctl restart prometheus.service alertmanager.service

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin