Intégrez Managed Service for Prometheus pour collecter de manière exhaustive les métriques du plan de contrôle, des nœuds et des applications de votre cluster ACK, et améliorez l'efficacité de la gestion des performances du cluster grâce à des tableaux de bord visuels et des alertes en temps réel.
Choisir une édition
Managed Service for Prometheus s'intègre entièrement à l'écosystème open source Prometheus et fournit un service de surveillance entièrement géré. Vous n'avez pas besoin de gérer le stockage des données sous-jacent, la visualisation des données ou les opérations et la maintenance (O&M).
Édition Pro (recommandée) : offre une période de conservation des métriques de 90 jours, des collecteurs entièrement gérés et un accord de niveau de service (SLA) de qualité production de 99,95 %. Elle propose des tableaux de bord Grafana personnalisables et des règles d'alerte préconfigurées pour les composants Container Service for Kubernetes (ACK). Pour plus d'informations, consultez la rubrique Utiliser l'édition Pro de la surveillance des conteneurs.
Édition Basic : offre une période de conservation des métriques de 7 jours. Vous devez maintenir les collecteurs vous-même et seuls des tableaux de bord basiques sont fournis.
Activer la surveillance Prometheus
Cluster existant
(Facultatif) Pour un cluster dédié ACK, accordez d'abord les autorisations de surveillance au cluster.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche de la page des détails du cluster, choisissez .
-
Sur la page Prometheus Monitoring, sélectionnez une édition de surveillance des conteneurs et cliquez sur Install.
Après avoir activé la surveillance, les métriques de base par défaut sont automatiquement collectées. Pour collecter des métriques personnalisées, consultez la rubrique Collecter des métriques personnalisées . Vous pouvez consulter plusieurs tableaux de bord préconfigurés sur la page actuelle, tels que Cluster Overview , Node Monitoring , Application Monitoring , Network Monitoring et Storage Monitoring .
Nouveau cluster
-
Cluster géré ACK (édition Pro) :
À l'étape Component Configurations de l'assistant de création de cluster, dans la section Container Monitoring, sélectionnez Container Cluster Monitoring Pro Edition ou Container Cluster Monitoring Basic Edition. Pour plus d'informations, consultez la rubrique Créer un cluster géré ACK.
Le mode Auto utilise par défaut Container Cluster Monitoring Basic Edition.
-
Cluster géré ACK (édition Basic), clusters ACS et clusters ACK Serverless :
À l'étape Component Configurations de l'assistant de création de cluster, dans la section Container Monitoring, sélectionnez Enable Managed Service for Prometheus. Cette action installe Container Cluster Monitoring Basic Edition.
Après avoir activé la surveillance, les métriques de base par défaut sont automatiquement collectées. Pour collecter des métriques personnalisées, consultez la rubrique Collecter des métriques personnalisées . Vous pouvez consulter plusieurs tableaux de bord préconfigurés, tels que Cluster Overview , Node Monitoring , Application Monitoring , Network Monitoring et Storage Monitoring , en choisissant dans le volet de navigation de gauche de la page des détails du cluster.
Configurer les notifications d'alerte
Configurez des règles d'alerte pour les métriques clés afin d'envoyer automatiquement des notifications via des canaux tels que l'e-mail, les SMS ou DingTalk en cas d'anomalie.
Connectez-vous à la ARMS console. Dans le volet de navigation de gauche, choisissez .
Sur la page Notification Objects, sélectionnez une méthode de notification et créez une politique de notification.
Dans le volet de navigation de gauche de la console ARMS, choisissez .
-
Sur la page Prometheus alert rules, cliquez sur Create Prometheus Alert Rule.
Pour obtenir des instructions de configuration détaillées, consultez la rubrique Créer une règle d'alerte Prometheus .
Collecter des métriques personnalisées
Managed Service for Prometheus prend en charge plusieurs méthodes pour collecter des métriques personnalisées, telles que le nombre de requêtes par seconde (QPS) et la latence de traitement. Pour plus d'informations, consultez la rubrique Gérer les règles de collecte personnalisées pour les environnements de conteneurs.
Désactiver la surveillance Prometheus
Dans le volet de navigation de gauche de la page des détails du cluster, cliquez sur Add-ons.
Sur la page Add-ons, recherchez le module complémentaire ack-arms-prometheus, puis cliquez sur . Dans la boîte de dialogue de confirmation, cliquez sur OK.
Facturation
Frais de surveillance du cluster : l'édition Basic est gratuite. L'édition Pro est facturée selon le modèle de paiement à l'utilisation, en fonction du nombre de nœuds du cluster.
Frais d'instance Prometheus : la collecte des métriques de base est gratuite par défaut. La collecte de métriques personnalisées est facturée selon le modèle de paiement à l'utilisation, en fonction de facteurs tels que le volume d'écriture, le volume de rapport, le volume de stockage et la période de conservation.
Pour connaître les règles de facturation et les tarifs détaillés, consultez la rubrique Facturation de la surveillance des conteneurs.
Métriques de base par défaut
Après avoir activé la surveillance Prometheus, les métriques de base pour la surveillance des conteneurs sont automatiquement collectées. Pour obtenir des descriptions détaillées de ces métriques, consultez la rubrique Métriques.
Métriques de ressources de base pour les conteneurs provenant de kubelet.
Métriques d'état des applications pour les clusters provenant de kube-state-metrics.
Métriques de ressources de base pour les nœuds du cluster provenant de node-exporter.
Métriques GPU pour les nœuds du cluster provenant de ack-gpu-exporter.
Métriques pour les composants du plan de contrôle des clusters gérés, notamment API server, etcd, kube-scheduler, kube-controller-manager et cloud-controller-manager.
Métriques de surveillance de base pour CoreDNS dans le cluster.
Métriques de surveillance de base pour les contrôleurs Ingress dans le cluster.
-
Les métriques de base suivantes sont signalées automatiquement après avoir activé les fonctionnalités correspondantes :
Après avoir activé la surveillance du stockage des conteneurs, le module complémentaire csi-plugin commence à signaler des métriques.
Après avoir activé Cost Insight, le module complémentaire ack-cost-exporter commence à signaler des métriques.
Après avoir activé la surveillance de la colocalisation des charges de travail et le profilage des ressources, le ack-koordinator module complémentaire commence à signaler des métriques.
FAQ
La page Prometheus Monitoring n'affiche aucun tableau de bord
Si vous voyez l'invite No related monitoring dashboard found sur la page après avoir activé la surveillance Prometheus, suivez ces étapes pour résoudre le problème.
-
Réinstallez le module complémentaire de surveillance Prometheus.
-
Réinstallez le composant :
Une fois la désinstallation du composant confirmée, cliquez sur Install. Dans la boîte de dialogue de confirmation, cliquez sur OK.
-
Une fois l'installation terminée, revenez à la page Prometheus Monitoring pour vérifier si le problème est résolu.
Si le problème persiste, poursuivez avec les étapes suivantes.
-
Vérifiez l'intégration de l'instance Prometheus.
Dans le volet de navigation de gauche de la ARMS console, cliquez sur Integration Management.
-
Sous l'onglet Integrations, vérifiez dans la liste Container Service la présence d'un environnement de conteneur portant le même nom que votre cluster.
Si aucun environnement de conteneur de ce type n'existe, consultez la rubrique Intégrer un service dans la console ARMS ou Prometheus.
-
Si un tel environnement de conteneur existe, cliquez sur Settings dans la colonne Actions de l'environnement de conteneur cible pour accéder à la page Settings.
Vérifiez si l'agent installé fonctionne comme prévu.
Comment ajuster la période de conservation des métriques
Pour plus d'informations, consultez la rubrique Ajuster la période de conservation des métriques.
Comment afficher la version du module complémentaire ack-arms-prometheus
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, cliquez sur Add-ons.
-
Sur la page Add-ons, recherchez le module complémentaire ack-arms-prometheus.
La version actuelle s'affiche sous le nom du composant. Si une version ultérieure est disponible et que vous souhaitez mettre à jour le composant, cliquez sur Upgrade à côté du numéro de version.
RemarqueL'option Upgrade s'affiche uniquement si la version installée n'est pas la dernière version.
Pourquoi le déploiement de la surveillance GPU échoue-t-il ?
Le déploiement de la surveillance GPU peut échouer si le nœud GPU comporte des taints. Pour résoudre ce problème, vérifiez d'abord les taints du nœud.
-
Exécutez la commande suivante pour vérifier les taints du nœud GPU cible.
Si le nœud GPU possède des taints personnalisés, vous pouvez trouver les entrées correspondantes. Cet exemple utilise un taint avec une
keydetest-key, unevaluedetest-valueet uneffectdeNoSchedule:kubectl describe node cn-beijing.47.100.***.***Sortie attendue :
Taints:test-key=test-value:NoSchedule -
Gérez les taints du nœud GPU de l'une des deux manières suivantes :
-
Exécutez la commande suivante pour supprimer le taint du nœud GPU.
kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule- -
Déclarez une tolérance pour le taint afin d'autoriser la planification des pods sur le nœud.
# 1. Run the following command to edit the ack-prometheus-gpu-exporter DaemonSet. kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter # 2. Add the following fields to the YAML file to declare the toleration for the taint. # Other fields are omitted. # The `tolerations` field is added above the `containers` field and at the same level. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Other fields are omitted.
-
Comment désinstaller complètement ARMS Prometheus
La suppression du namespace de Managed Service for Prometheus laisse des configurations résiduelles après la suppression des ressources. Cela affecte la réinstallation. Vous pouvez effectuer les opérations suivantes pour supprimer complètement et manuellement les configurations résiduelles d'ARMS-Prometheus.
-
Supprimez le namespace arms-prom.
kubectl delete namespace arms-prom -
Supprimez les ClusterRoles.
kubectl delete ClusterRole arms-kube-state-metrics kubectl delete ClusterRole arms-node-exporter kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role kubectl delete ClusterRole arms-prometheus-oper3 kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role kubectl delete ClusterRole arms-pilot-prom-k8s kubectl delete ClusterRole gpu-prometheus-exporter kubectl delete ClusterRole o11y:addon-controller:role kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterrole -
Supprimez les ClusterRoleBindings.
kubectl delete ClusterRoleBinding arms-node-exporter kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2 kubectl delete ClusterRoleBinding arms-kube-state-metrics kubectl delete ClusterRoleBinding arms-pilot-prom-k8s kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding gpu-prometheus-exporter kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent kubectl delete ClusterRoleBinding arms-node-exporter-agent kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebinding -
Supprimez les Roles et RoleBindings.
kubectl delete Role arms-pilot-prom-spec-ns-k8s kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system
Comment désinstaller à l'aide de Helm
Utilisez cette méthode pour désinstaller le service si vous l'avez déployé manuellement à l'aide de Helm, ou si des ressources résiduelles subsistent en raison de problèmes liés à l'environnement ou à la version de Helm.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez .
Sur la page Helm, recherchez la release ack-arms-prometheus, cliquez sur Delete dans la colonne Actions, sélectionnez Clear Release Records, puis supprimez l'application comme indiqué.
Erreur « xxx in use » lors de l'installation
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez .
-
Sur la page Helm, vérifiez si ack-arms-prometheus existe.
S'il existe, supprimez ack-arms-prometheus de la page Helm et réinstallez-le sur la page Add-ons. Pour plus d'informations sur l'installation d'ack-arms-prometheus, consultez la rubrique Gérer les composants.
-
S'il n'existe pas :
La release Helm ack-arms-prometheus peut comporter des ressources résiduelles. Désinstallez manuellement et complètement ARMS Prometheus.
Erreur « Component Not Installed » lors de l'installation
-
Vérifiez si le module complémentaire ack-arms-prometheus est installé.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez .
-
Sur la page Helm, vérifiez si ack-arms-prometheus existe.
S'il existe, supprimez ack-arms-prometheus de la page Helm et réinstallez-le sur la page Add-ons. Pour plus d'informations sur l'installation d'ack-arms-prometheus, consultez la rubrique Gérer les composants.
-
S'il n'existe pas :
La release Helm ack-arms-prometheus peut comporter des ressources résiduelles. Désinstallez manuellement et complètement ARMS Prometheus.
-
Vérifiez les journaux d'ack-arms-prometheus pour détecter d'éventuelles erreurs.
Dans le volet de navigation de gauche de la page des détails du cluster, choisissez .
En haut de la page Deployments, définissez Namespace sur arms-prom, puis cliquez sur arms-prometheus-ack-arms-prometheus.
Cliquez sur l'onglet Logs pour vérifier la présence d'erreurs dans les journaux.
-
Vérifiez si une erreur s'est produite lors de l'installation de l'agent.
Connectez-vous à la ARMS console. Dans le volet de navigation de gauche, cliquez sur Integration Management.
Sous l'onglet Integrations, vérifiez la liste Container Service. Dans la colonne Actions de l'environnement de conteneur cible, cliquez sur Settings pour accéder à la page Settings.
Comment accorder des autorisations de surveillance pour les clusters dédiés ACK
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, cliquez sur Cluster Information.
Sous l'onglet Basic Information, cliquez sur le lien KubernetesWorkerRole-*** situé à côté de Worker RAM Role, puis basculez vers l'onglet Trust Policy sur la page du rôle RAM.
Sous l'onglet Trust Policy, cliquez sur Edit Trust Policy.
-
Dans l'éditeur de script, ajoutez la règle d'autorisation suivante au champ Statement et cliquez sur OK.
{ "Statement": [ { "Action": [ "arms:Describe*", "arms:List*", "arms:Get*", "arms:Search*", "arms:Check*", "arms:Query*", "arms:ListEnvironments", "arms:DescribeAddonRelease", "arms:InstallAddon", "arms:DeleteAddonRelease", "arms:ListEnvironmentDashboards", "arms:ListAddonReleases", "arms:CreateEnvironment", "arms:UpdateEnvironment", "arms:InitEnvironment", "arms:DescribeEnvironment", "arms:InstallEnvironmentFeature", "arms:ListEnvironmentFeatures", "cms:GetIntegrationVersionForCS", "cms:CreateIntegrationPolicy", "cms:ListAddonReleases", "cms:UpdateAddonRelease", "cms:CreateAddonRelease", "cms:GetPrometheusInstance", "cms:ListIntegrationPolicyStorageRequirements", "log:PostLogStoreLogs" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }
Rubriques connexes
Mettre à niveau Managed Service for Prometheus de l'édition Basic vers l'édition Pro