Managed Service for Prometheus expose des URL d'API HTTP qui vous permettent d'interroger les données de surveillance en dehors de la console Alibaba Cloud. Deux cas d'utilisation courants :
Grafana géré par vos soins : ajoutez l'URL d'API HTTP en tant que source de données Prometheus afin de visualiser les métriques dans votre propre instance Grafana.
Applications personnalisées : appelez directement l'API HTTP compatible avec Prometheus pour récupérer les métriques par programmation.
Authentification
Managed Service for Prometheus prend en charge deux versions d'instance, chacune utilisant une méthode d'authentification différente.
| Version de l'instance | Méthode d'authentification | Identifiants |
|---|---|---|
| Prometheus V1 | Basée sur un jeton (facultatif) | Jeton d'authentification généré dans la console |
| Prometheus V2 | Authentification de base (obligatoire) | AccessKey ID et AccessKey secret de votre compte ; l'utilisateur RAM associé doit disposer de l'autorisation AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess |
Pour Prometheus V2, l'accès aux données requiert à la fois un AccessKey ID et un AccessKey secret de votre compte. L'utilisateur RAM associé doit disposer de l'autorisation AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess système.
Prérequis
Avant de commencer, assurez-vous d'avoir :
-
Une instance Prometheus connectée. Pour obtenir des instructions de configuration, consultez :
(Pour Grafana) Une instance Grafana gérée par vos soins avec un accès administrateur
(Pour Prometheus V2) Une paire AccessKey pour votre compte ; l'utilisateur RAM associé doit disposer des autorisations requises
Obtenir l'URL de l'API HTTP
Connectez-vous à la console CloudMonitor.
Dans le volet de navigation de gauche, choisissez Managed Service for Prometheus > Instances.
Dans la barre de navigation supérieure, sélectionnez la région où réside votre instance Prometheus.
Recherchez votre instance Prometheus, puis cliquez sur Settings dans la colonne Actions.
-
Sous l'onglet Settings, copiez l'URL de l'API HTTP.

Utilisez l'URL public si votre instance Grafana ou votre application se trouve en dehors du réseau interne d'Alibaba Cloud.
Utilisez l'URL internal si votre instance Grafana ou votre application s'exécute dans la même région Alibaba Cloud et peut accéder aux points de terminaison internes.
(Prometheus V1 uniquement) Cliquez sur Generate Token pour créer un jeton d'authentification. Enregistrez ce jeton pour une utilisation ultérieure.
Pour une instance Prometheus V1, après avoir généré un jeton, vous devez l'inclure lors de la configuration de la source de données Grafana. Sans le jeton, Grafana ne peut pas lire les données de surveillance de l'instance.
Configurer une source de données Grafana gérée par vos soins
Ajouter la source de données
Connectez-vous à votre instance Grafana en tant qu'administrateur.
-
Accédez à Connections > Data sources.
Ce menu n'est visible que pour les administrateurs Grafana. Dans Grafana 8 et versions antérieures, accédez à Configuration > Data sources . Le menu Connections est disponible dans Grafana 9 et versions ultérieures.
Cliquez sur + Add data source, puis sélectionnez Prometheus.
Dans le champ Name, saisissez un nom descriptif pour la source de données.
Dans le champ Prometheus server URL (sous la section HTTP), collez l'URL de l'API HTTP que vous avez copiée précédemment.
Configurer l'authentification
Suivez les étapes correspondant à la version de votre instance Prometheus.
Prometheus V1
Si vous avez généré un jeton, ajoutez-le en tant qu'en-tête HTTP personnalisé :
Dans la section Custom HTTP Headers, cliquez sur + Add header.
Définissez Header sur
Authorization.Définissez Value sur le jeton d'authentification.

Prometheus V2
Activez Basic auth.
Définissez User sur votre AccessKey ID.
Définissez Password sur votre AccessKey secret.

Enregistrer et tester
Cliquez sur Save & test. Un message de réussite confirme que Grafana peut atteindre la source de données Prometheus.
Vérifier la source de données dans Grafana
Dans Grafana, accédez à Dashboards et cliquez sur New > New dashboard.
Cliquez sur + Add visualization et sélectionnez la source de données configurée.
Sur la page Edit Panel, ouvrez l'onglet Query. Dans la section A, saisissez un nom de métrique dans le champ Metrics (par exemple,
arms_prometheus_target_interval_length_seconds_sum) et configurez les Label filters selon vos besoins.Cliquez sur Run queries.
Si un graphique s'affiche avec des données de métriques, la source de données fonctionne. Si aucun graphique n'apparaît, vérifiez la validité de l'URL de l'API ou du jeton, ainsi que la présence de données de surveillance dans la source de données. Pour obtenir de l'aide supplémentaire, consultez la section Dépannage.
Interroger l'API HTTP par programmation
Les exemples suivants utilisent le point de terminaison /api/v1/query pour les requêtes instantanées. Pour les requêtes de plage (/api/v1/query_range), les métadonnées de série et les autres points de terminaison, consultez la documentation de référence de l'API HTTP Prometheus.
Prometheus V1
curl -G '<your-http-api-url>/api/v1/query' \
-H 'Authorization: <your-token>' \
-H 'Accept: application/json' \
--data-urlencode 'query=arms_prometheus_target_interval_length_seconds_sum' \
--data-urlencode 'time=1635302655' \
--data-urlencode 'timeout=1000'
Remplacez les espaces réservés suivants par des valeurs réelles :
| Espace réservé | Description | Exemple |
|---|---|---|
<your-http-api-url> |
L'URL de l'API HTTP issue de l'onglet Settings | https://cn-hangzhou.arms.aliyuncs.com/... |
<your-token> |
Le jeton d'authentification généré dans la console | eyJhbGciOi... |
Prometheus V2
curl -G '<your-http-api-url>/api/v1/query' \
-u '<your-accesskey-id>:<your-accesskey-secret>' \
-H 'Accept: application/json' \
--data-urlencode 'query=arms_prometheus_target_interval_length_seconds_sum' \
--data-urlencode 'time=1635302655' \
--data-urlencode 'timeout=1000'
Remplacez les espaces réservés suivants par des valeurs réelles :
| Espace réservé | Description | Exemple |
|---|---|---|
<your-http-api-url> |
L'URL de l'API HTTP issue de l'onglet Settings | https://cn-hangzhou.arms.aliyuncs.com/... |
<your-accesskey-id> |
L'AccessKey ID de votre compte | LTAI5tXxx... |
<your-accesskey-secret> |
L'AccessKey secret de votre compte | xXxXxXx... |
L'indicateur-uencode automatiquement l'AccessKey ID et l'AccessKey secret sous forme d'en-têteAuthorization: Basicencodé en Base64.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
query |
Oui | Expression PromQL à évaluer |
time |
Non | Horodatage d'évaluation (horodatage Unix ou RFC 3339). Par défaut, l'heure actuelle du serveur |
timeout |
Non | Délai d'évaluation en millisecondes |
Dépannage
| Symptôme | Cause possible | Solution |
|---|---|---|
| HTTP 401 Unauthorized | Identifiants invalides ou manquants | Vérifiez le jeton (V1) ou la paire AccessKey (V2). Régénérez-les s'ils ont expiré. |
| HTTP 403 Forbidden | Autorisations insuffisantes | Accordez à l'utilisateur RAM l'autorisation AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess. |
| Connection timeout | Réseau inaccessible | Si Grafana s'exécute en dehors d'Alibaba Cloud, utilisez l'URL publique de l'API HTTP. S'il s'exécute dans la même région, utilisez l'URL interne. |
| Aucune donnée dans le graphique Grafana | Aucune donnée ingérée pour la métrique interrogée | Confirmez que l'instance Prometheus collecte activement les cibles et que le nom de la métrique est correct. |
Rubriques connexes
Documentation de référence de l'API HTTP Prometheus — Documentation complète de l'API pour les points de terminaison de requête, y compris les requêtes de plage (
/api/v1/query_range), les requêtes d'étiquettes et les métadonnées de sérieCréer un tableau de bord Grafana — Créez des tableaux de bord avec la source de données connectée