Utilisez le langage de requête Prometheus (PromQL) pour interroger les données de surveillance Prometheus et vérifier la précision et l'actualité de vos règles d'alerte.
Interroger les données de surveillance Prometheus dans la console
Managed Service for Prometheus
Pour plus d'informations sur le déploiement et l'utilisation de Managed Service for Prometheus, consultez la rubrique Se connecter et configurer Managed Service for Prometheus.
Connectez-vous à la console ARMS.
Dans le volet de navigation de gauche, choisissez .
Dans le coin supérieur gauche de la page Prometheus Monitoring, sélectionnez la région où se trouve votre cluster Container Service for Kubernetes (ACK). Localisez l'instance cible et cliquez sur Édition partagée dans la colonne Grafana Workspace.
Dans le volet de navigation de gauche du tableau de bord, cliquez sur l'icône
. Dans le coin supérieur gauche, sélectionnez la source de données dans la liste déroulante située à droite de Explore.Dans la zone de texte située à droite de Metric, saisissez une requête PromQL, puis cliquez sur Run query.
Open source Prometheus
Pour plus d'informations sur le déploiement d'Open source Prometheus sur un cluster ACK, consultez la rubrique Surveillance avec Open source Prometheus.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
Sur la page Services, sélectionnez le namespace monitoring où ack-prometheus-operator est déployé. Dans la colonne Actions correspondant à ack-prometheus-operator-prometheus, cliquez sur Update.
-
Dans la boîte de dialogue, définissez le paramètre Type sur LoadBalancer. Sélectionnez Create Resource, définissez le paramètre Access Method sur Public Access et le paramètre Billing Method sur Pay-as-you-go (Pay-by-CU). Cliquez sur OK.
Consultez la rubrique Présentation de la facturation CLB .
Une fois la mise à jour terminée, copiez l'adresse IP externe. Ouvrez l'interface utilisateur Prometheus à l'adresse
<external_IP_address>:9090, par exemple47.XX.XX.12:9090.Dans la console Prometheus, cliquez sur l'onglet Graph. Saisissez une requête PromQL dans la zone de texte, puis cliquez sur Execute.
Interroger les données de surveillance via l'API
Managed Service for Prometheus
Connectez-vous à la console ARMS.
Dans le volet de navigation de gauche, choisissez .
En haut de la page Instance, sélectionnez la région où se trouve votre instance Prometheus. Localisez l'instance cible et cliquez sur Settings dans la colonne Actions.
Sur la page Settings, dans la section HTTP API Address (Grafana Read Address), copiez l'URL de l'API HTTP publique ou interne.
-
Pour les instances Prometheus V1, si vous souhaitez renforcer la sécurité des lectures de données dans Grafana, cliquez sur Générer un jeton pour obtenir un jeton d'authentification pour l'instance Prometheus.
ImportantInstances V1 : après avoir généré un jeton, vous devez le configurer lors de l'ajout de la source de données dans Grafana. Sinon, les données de surveillance ne peuvent pas être lues depuis l'instance Prometheus.
Instances V2 : par défaut, vous devez utiliser l'ID AccessKey et le secret AccessKey de votre compte pour accéder aux données. L'utilisateur RAM propriétaire de l'ID AccessKey doit disposer de l'autorisation système AliyunPrometheusMetricReadAccess ou AliyunCloudMonitorFullAccess.
-
Utilisez l'API HTTP pour interroger les données de surveillance Prometheus.
Le code suivant présente un exemple de requête. Pour plus d'informations sur l'utilisation de l'API HTTP pour obtenir les données de surveillance Prometheus, consultez la documentation HTTP API.
V1
GET {HTTP API URL}/api/v1/query Accept: application/json Content-Type: application/json Authorization: {Token} { "query":"arms_prometheus_target_interval_length_seconds_sum", "time":"1635302655", "timeout":"1000" }V2
GET {HTTP API URL}/api/v1/query Accept: application/json Content-Type: application/json Authorization: Basic <base64Encode(<AccessKey ID:AccessKey secret>)> { "query":"arms_prometheus_target_interval_length_seconds_sum", "time":"1635302655", "timeout":"1000" }
Open source Prometheus
-
Obtenez l'URL de l'API HTTP.
Si vous accédez à Open source Prometheus depuis l'intérieur d'un cluster, l'URL par défaut du service de demande de données pour ack-prometheus-operator est
http://ack-prometheus-operator-prometheus.monitoring:9090.Si vous utilisez un accès public pour Open source Prometheus, associez une instance Classic Load Balancer (CLB) au service de demande de données pour ack-prometheus-operator en suivant les étapes ci-dessous :
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
En haut de la page Services, définissez le paramètre Namespace sur monitoring. Localisez ack-prometheus-operator-prometheus et cliquez sur Update dans la colonne Actions.
-
Dans la boîte de dialogue Update Service, configurez les paramètres suivants et cliquez sur Update.
Paramètre
Configuration
Type de service
Définissez le paramètre Service Type sur LoadBalancer et la méthode d'accès sur Public Access.
Mappage de port
Saisissez un nom de port. Définissez le paramètre Service Port sur 9090, Container Port sur 9090 et le paramètre Protocol sur TCP.
Sur la page Services, cliquez sur le service ack-prometheus-operator-prometheus. Dans la section Basic Information, obtenez l'adresse External IP. Il s'agit de l'URL de l'API HTTP.
-
Utilisez l'API HTTP pour interroger les données de surveillance Prometheus.
-
Obtenez des données de surveillance instantanées.
GET {HTTP API}/api/v1/query Headers: Accept: application/json Content-Type: application/json Param: { "query":"{{PromQL}}", "time":"1635302655", "timeout":"1000" }time : spécifie le moment précis pour lequel interroger les données.
timeout : spécifie le délai d'expiration en millisecondes. Si une requête dépasse ce délai, le résultat actuel est renvoyé.
-
Interrogez les données de surveillance sur une plage de temps.
GET {HTTP API}/api/v1/query_range Headers: Accept: application/json Content-Type: application/json Param: { "query":"{{PromQL}}", "start": 1673946024, "end": 1673949624, "step": 30 }start : spécifie l'heure de début de la requête.
end : spécifie l'heure de fin de la requête.
step : spécifie l'intervalle de temps entre les points de données dans les données de surveillance renvoyées.
-
Documentation connexe
Pour créer des règles d'alerte à l'aide de requêtes PromQL personnalisées, consultez la rubrique Bonnes pratiques pour la configuration des règles d'alerte à l'aide de Prometheus.