Collecte des métriques à l'aide de l'écriture à distance de Prometheus
Vous pouvez configurer l'écriture distante Prometheus pour collecter des mesures à partir d'environnements où un agent Monitoring n'est pas disponible et les envoyer à une instance Monitoring.
Vous pouvez collecter des mesures à partir de :
- Un serveur Prometheus existant.
- Les travaux éphémères ou par lots qui n'existent pas suffisamment longtemps pour être supprimés par un agent Monitoring.
- Hôtes Windows et autres systèmes d'exploitation où l'agent Monitoring n'est pas disponible
- Les architectures basées sur Non-x86, généralement vues sur les environnements IdO ou sur l'informatique Edge.
- Les charges de travail non conteneurisées, telles que NGNIX, les applications personnalisées, RabbitMQ et autres.
Vous pouvez surveiller les mesures collectées à l'aide de l'écriture distante Prometheus via l'interface utilisateur Web Monitoring. Vous pouvez également utiliser PromQL pour interroger les données à l'aide du langage de requête Prometheus standard.
Configuration de l'écriture à distance de Prometheus
Vous pouvez configurer votre serveur Prometheus pour une écriture à distance vers une instance Monitoring. Par exemple :
-
Vous pouvez configurer le serveur d' Prometheus s qui s'exécute dans un cluster d' Kubernetes s de différentes manières. Selon la façon dont vous l'avez installé, vous pouvez choisir l'une des options suivantes pour configurer la fonction d'écriture distante de Prometheus pour envoyer des métriques à une instance IBM Cloud Monitoring :
-
Configuration d'un serveur Prometheus géré par l'opérateur Prometheus
-
Configuration d'un serveur Prometheus avec Helm
-
Configuration d'un serveur Prometheus via un objet ConfigMap Kubernetes ConfigMap
Pour plus d'informations, voir Collecte des mesures à l'aide de l'écriture distante Prometheus.
-
Prometheus v2.25 et versions précédentes
Pour Prometheus version 2.25 et antérieures, vous devez configurer la section remote_write de votre fichier de configuration prometheus.yml comme suit :
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
bearer_token: "<MONITOR_API_TOKEN>"
Où
<MONITOR_API_TOKEN>contient le jeton d'autorisation. Pour plus d'informations, voir Utilisation des jetons d'API Monitor.<INGESTION_URL>indique le point final d'ingestion. Vous devez définir cette valeur sur le noeud final d'ingestion pour la région où l'instance Monitoring est disponible. Pour plus d'informations, voir Noeuds finaux.
Prometheus version 2.26 et versions ultérieures
Pour Prometheus version 2.26 et ultérieures, vous devez configurer la section remote_write de votre fichier de configuration prometheus.yml comme suit :
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
authorization:
credentials: "<MONITOR_API_TOKEN>"
Où
<MONITOR_API_TOKEN>contient le jeton d'autorisation. Pour plus d'informations, voir Utilisation des jetons d'API Monitor.<INGESTION_URL>indique le point final d'ingestion. Vous devez définir cette valeur sur le noeud final d'ingestion pour la région où l'instance Monitoring est disponible. Pour plus d'informations, voir Noeuds finaux.
Gestion des métriques collectées via l'écriture à distance
Par défaut, lorsque vous configurez votre serveur Prometheus pour l'écriture à distance dans une instance Monitoring, toutes les métriques sont collectées et incluent un libellé remote_write: true pour les identifier facilement.
Contrôle des métriques envoyées
Vous pouvez gérer et contrôler les mesures que vous collectez et envoyez à une instance Monitoring. Pour sélectionner les séries ainsi que les libellés à collecter et réduire le nombre de séries actives envoyées à l'instance Monitoring, vous
pouvez configurer des réétiquetages à l'aide du bloc write_relabel_configs de votre section remote_write.
Par exemple, pour collecter les métriques de l'espace de noms my-namespace, vous pouvez insérer ce qui suit :
remote_write:
- url: https://<INGESTION_URL>/prometheus/remote/write
authorization:
credentials_file: /etc/secrets/<SECRET_NAME>
write_relabel_configs:
- action: keep
regex: my-namespace
source_labels:
- namespace
Etiquetages des métriques par le serveur Prometheus
Vous pouvez spécifier des libellés personnalisés qui sont envoyés avec chaque série temporelle collectée par un serveur Prometheus à l'aide du bloc external_labels sous global.
Vous pouvez utiliser ces libellés pour filtrer et définir la portée des métriques que vous surveillez via des tableaux de bord dans l'interface utilisateur Monitoring.
Par exemple, si vous avez 2 serveurs Prometheus différents configurés pour écrire à distance vers une instance Monitoring, vous pouvez inclure un libellé externe pour identifier chaque serveur :
# Prometheus server 1
global:
external_labels:
provider: prometheus1
remote_write:
- url: ...
# Prometheus server 2
global:
external_labels:
provider: prometheus2
remote_write:
- url: ...
Limites de débit
Le tableau suivant répertorie les limites de débit par défaut par instance :
| Taux | Limite | Info |
|---|---|---|
| Ecritures parallèles | 100 demandes simultanées | |
| Points de données par minute (PDM) | 1 million | Le nombre de points de données envoyés dépend de la fréquence d'envoi des métriques. Par exemple, un intervalle de récupération de 10 s va soumettre plus de PDM qu'un intervalle de 60 secondes |
| Nombre d'écritures par minute | 10 000 |
Noeuds finaux d'ingestion pour l'écriture à distance
IBM Cloud Monitoring prise en charge par le client Prometheus des noeuds finaux sous la forme https://ingest.<region> et https://ingest.private.<region> et remplacement par de nouveaux noeuds finaux le 31
mai 2024. La fin de l'assistance pour les anciens points de terminaison est fixée au 31 août 2024. Après cette date, les anciens points d'accès cesseront de fonctionner. Les clients qui utilisent Prometheus Remote Write doivent migrer pour
utiliser les nouveaux points de terminaison avant le 31 août 2024 pour continuer à utiliser Prometheus Remote Write.
Le tableau suivant répertorie les noeuds finaux d'ingestion Monitoring que vous pouvez configurer pour collecter des métriques via l'écriture à distance Prometheus :
L'ingestion d'écriture à distance utilise le port TCP 443.
| Région | Noeud final |
|---|---|
Dallas (US-South) |
https://ingest.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Francfort (EU-DE) |
https://ingest.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londres (EU-GB) |
https://ingest.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokyo (JP-TOK) |
https://ingest.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
Le tableau suivant répertorie les points de terminaison d'ingestion d' Monitoring s privées que vous pouvez configurer pour collecter des mesures via Prometheus Remote Write :
| Région | Noeud final |
|---|---|
Dallas (US-South) |
https://ingest.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Francfort (EU-DE) |
https://ingest.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londres (EU-GB) |
https://ingest.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokyo (JP-TOK) |
https://ingest.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Obsolètehttps://ingest.prws.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
Limitations
La fonction d'écriture à distance IBM Cloud Monitoring Prometheus comporte les limites suivantes :
-
Les métriques envoyées à une instance sont accessibles dans Explore, mais elles ne sont pas compatibles avec l'arborescence de l'étendue.
-
Seuls les libellés collectés à la source peuvent être utilisés pour filtrer les métriques.
-
Les métadonnées d'une métrique ne sont pas envoyées via l'écriture à distance.
-
Les métriques dont le nom se termine par
_total,_sumou_countsont stockées en tant que compteurs, sinon elles sont gérées sous forme de jauge. -
Vous pouvez définir manuellement des unités dans les tableaux de bord.
-
Vous ne pouvez pas mélanger des métriques dont les unités diffèrent dans un tableau de bord, par exemple, 10 s et 1 min.
Envisagez de configurer l'intervalle de récupération à 10 s pour que vous puissiez combiner les métriques d'écriture à distance de Prometheus avec les métriques d'agent Monitoring.