Managed Service for Prometheus expose des URL d'API HTTP qui permettent d'interroger les données de surveillance depuis une instance Grafana auto-gérée ou toute application prenant en charge l'API HTTP Prometheus.
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Une instance Prometheus connectée. Pour effectuer la connexion, consultez les rubriques Observabilité des conteneurs, Observabilité des services Alibaba Cloud ou Observabilité des hôtes.
Un accès administrateur à votre instance Grafana auto-gérée (pour l'intégration avec Grafana).
La version de votre instance Prometheus (V1 ou V2), car elle détermine la méthode d'authentification.
(Pour V2 uniquement) Un AccessKey ID et un AccessKey Secret pour un utilisateur RAM disposant de l'autorisation AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess.
Obtenir l'URL d'API HTTP
Connectez-vous à la console Cloud Monitor. Dans le volet de navigation de gauche, sélectionnez .
Dans la barre de navigation supérieure, sélectionnez la région de déploiement de l'instance Prometheus. Localisez l'instance concernée, puis cliquez sur Settings dans la colonne Actions.
-
Sous l'onglet Settings, copiez l'URL d'API HTTP publique ou interne.

Configurer l'authentification
Le processus d'authentification diffère selon que vous utilisez une instance Prometheus V1 ou V2. Vérifiez votre version avant de poursuivre.
Prometheus V1 (basé sur un jeton, facultatif)
En option, sous l'onglet Settings, cliquez sur Generate Token pour créer un jeton d'authentification. Conservez ce jeton : il sera nécessaire lors de l'ajout de la source de données à Grafana et lors des appels API.
Après la génération du jeton d'authentification, vous devez le spécifier lors de l'ajout de l'instance Prometheus en tant que source de données dans votre système Grafana. Sans cela, les données de surveillance ne pourront pas être lues depuis l'instance Prometheus.
Prometheus V2 (basé sur AccessKey)
Par défaut, l'accès aux données requiert un AccessKey ID et un AccessKey Secret via l'authentification HTTP Basic. Aucun jeton n'est nécessaire.
L'utilisateur RAM associé doit disposer de l'une des autorisations système suivantes :
AliyunPrometheusMetricReadAccess: accès en lecture seule aux métriques.AliyunCloudMonitorFullAccess: accès complet à Cloud Monitor.
Pour accorder ces autorisations, consultez la rubrique Accorder des autorisations à un utilisateur RAM.
Ajouter la source de données à Grafana auto-géré
Configurer la source de données Prometheus
Connectez-vous à votre instance Grafana en tant qu'administrateur.
-
Cliquez sur l'icône
située dans le coin supérieur gauche. Dans le volet de navigation de gauche, sélectionnez Configuration > Data sources.RemarqueCe menu n'est visible que par les administrateurs.
Cliquez sur + Add data source, puis sélectionnez Prometheus.
-
Sous l'onglet Settings, configurez les champs suivants :
Field Value Name Nom descriptif de la source de données. Prometheus server URL URL d'API HTTP copiée lors de l'étape Obtenir l'URL d'API HTTP. -
Configurez l'authentification en fonction de votre version de Prometheus :
Prometheus V1 : Si vous avez généré un jeton, cliquez sur + Add header dans la section Custom HTTP Headers. Définissez l'en-tête Header sur
Authorizationet la valeur Value sur le jeton obtenu lors de l'étape Configurer l'authentification.Prometheus V2 : Activez l'option Basic auth. Renseignez le champ User avec votre AccessKey ID et le champ Password avec votre AccessKey Secret.


Cliquez sur Save & test.
Vérifier la source de données
Cliquez sur l'icône
située dans le coin supérieur gauche, puis sur Dashboards dans le volet de navigation de gauche.Cliquez sur New > New dashboard, puis sur + Add visualization.
Sur la page Select data source, sélectionnez la source de données configurée.
-
Sous l'onglet Query, saisissez un nom de métrique dans le champ Metrics et un filtre d'étiquette dans le champ Label filters. Cliquez sur Run queries. Si un graphique s'affiche, la source de données est connectée. Si aucun graphique n'apparaît, consultez la section Dépannage.

Interroger les données Prometheus avec l'API HTTP
L'API HTTP Prometheus standard permet d'accéder programmatiquement aux données de surveillance.
Format de la requête
Les en-têtes d'authentification diffèrent selon les versions V1 et V2.
Prometheus V1 :
GET <http-api-url>/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: <your-auth-token>
{
"query": "arms_prometheus_target_interval_length_seconds_sum",
"time": "1635302655",
"timeout": "1000"
}
Prometheus V2 :
GET <http-api-url>/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: Basic <base64-encoded-accesskey-id:accesskey-secret>
{
"query": "arms_prometheus_target_interval_length_seconds_sum",
"time": "1635302655",
"timeout": "1000"
}
Remplacez les espaces réservés suivants par les valeurs réelles :
| Placeholder | Description | Example |
|---|---|---|
<http-api-url> |
URL d'API HTTP issue de l'onglet Settings. | https://cn-hangzhou.arms.aliyuncs.com/... |
<your-auth-token> |
(V1) Jeton généré dans la console. | eyJhbGci... |
<base64-encoded-accesskey-id:accesskey-secret> |
(V2) Chaîne encodée en Base64 de AccessKeyID:AccessKeySecret. |
TFRBSTV0WH... |
Dépannage
| Symptom | Possible cause | Solution |
|---|---|---|
| Échec de Save & test avec une erreur d'authentification. | (V1) Jeton invalide ou manquant dans l'en-tête Authorization. | Régénérez le jeton sous l'onglet Settings et mettez à jour la valeur dans Custom HTTP Headers. |
| Échec de Save & test avec une erreur d'authentification. | (V2) AccessKey ID ou AccessKey Secret incorrect. | Vérifiez les identifiants. Assurez-vous que l'utilisateur RAM dispose de l'autorisation AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess. |
| Échec de Save & test avec une erreur de connexion. | URL d'API HTTP incorrecte ou problème de connectivité réseau. | Confirmez l'URL sous l'onglet Settings. Si vous utilisez une URL interne, assurez-vous que votre instance Grafana peut atteindre le point de terminaison interne. |
| La requête ne renvoie aucune donnée. | L'instance Prometheus ne contient pas encore de données de surveillance ou le nom de la métrique est incorrect. | Vérifiez que l'instance Prometheus collecte activement les cibles et contrôlez le nom de la métrique. |
La requête API renvoie 401 Unauthorized. |
(V1) Jeton manquant | Générez un nouveau jeton et incluez-le dans l'en-tête Authorization |
La requête API renvoie 403 Forbidden. |
(V2) L'utilisateur RAM ne dispose pas des autorisations requises. | Accordez l'autorisation AliyunPrometheusMetricReadAccess à l'utilisateur RAM. |
Étapes suivantes
Consultez la documentation complète de l'API HTTP Prometheus pour découvrir les requêtes avancées, notamment les requêtes de plage, les recherches d'étiquettes et les points de terminaison de métadonnées.
Configurez Alibaba Cloud Managed Service for Grafana comme alternative à Grafana auto-géré.