Managed Service for Prometheus collecte les métriques au niveau du système d'exploitation des hôtes Linux ou Windows Elastic Compute Service (ECS) via node_exporter. Il récupère également les données de supervision liées aux processus avec process_exporter, ainsi que les métriques personnalisées écrites dans des fichiers grâce au collecteur textfile.
Prérequis
Managed Service for Prometheus est activé.
Managed Service for Prometheus est activé.
Hybrid Cloud Monitoring est activé.
Avantages de la supervision des hôtes
La supervision des hôtes fournit une solution d'observabilité automatisée pour les instances ECS Alibaba Cloud. Elle couvre la découverte des hôtes, l'installation des agents, la collecte des métriques et la gestion des alertes.
Ce service prend en charge les instances ECS Alibaba Cloud, les serveurs de centre de données autogérés et les serveurs cloud tiers. Pour les instances ECS, il installe automatiquement les exporters et génère les configurations de collecte. Un agent Prometheus managé se charge ensuite de récupérer, stocker, visualiser et alerter sur les métriques. Concernant les hôtes hors Alibaba Cloud qui ne bénéficient pas de la découverte automatique, installez manuellement l'agent Alibaba Cloud pour pousser les données.
Avantage | Description |
Découverte des hôtes en quasi-temps réel |
|
Installation des agents en quasi-temps réel |
|
Collecte des métriques en quasi-temps réel |
Un hôte est intégré dans les 30 à 60 secondes suivant sa création. Les intervalles de collecte sont réglables de 1 à 60 secondes. |
Agent serverless |
|
Libellés de métriques intelligents |
|
Collecte et stockage de données à grande échelle |
|
Données de supervision complètes en amont et en aval |
|
Supervision au niveau des processus |
|
Tableaux de bord Grafana experts inclus par défaut |
|
Étape 1 : Intégrer les données de supervision des hôtes
Connectez-vous à la console ARMS. Dans le volet de navigation de gauche, cliquez sur Integration Center.
-
Sur la page Integration Center, cliquez sur Infrastructure dans le volet de navigation de gauche, puis sur Host Monitoring.
RemarqueManaged Service for Prometheus utilise Resource Center pour découvrir les VPC et les instances ECS. Si Resource Center n'est pas activé, le processus d'intégration vous guide pour l'activer. Activer Resource Center.
L'activation de Resource Center est une opération asynchrone. Si le statut ne se met pas à jour, patientez 10 à 20 secondes puis cliquez sur Redetect.
-
Dans le panneau qui s'affiche, sélectionnez le VPC cible et configurez les Configuration Information comme décrit dans le tableau suivant.
Paramètre
Description
Policy name
Facultatif. Nom attribué à cette intégration.
Notes
Cette fonctionnalité collecte les métriques ECS sans agent depuis CloudMonitor. Installez également des exporters, tels que Node-Exporter, Process-Exporter ou Windows-Exporter, pour récupérer les métriques de l'agent hôte.
L'installation d'un agent sur un hôte en environnement de production constitue un changement de production. Soumettez une demande de modification conformément aux normes de votre organisation.
Si l'accès interrégional est activé, vous ne pouvez pas utiliser d'agent pour collecter les métriques de nœud, de processus ou Windows.
L'installation d'exporters n'est actuellement pas prise en charge sur LifseaOS. Les instances exécutant LifseaOS sont automatiquement ignorées.
Utilisation des ressources : l'agent s'exécute en tant que service systemd avec GOMAXPROCS=1, une limite CPU de 30 % et une limite mémoire de 256 Mo. La consommation de ressources reste faible en conditions normales. La surcharge liée à la collecte augmente avec le nombre de processus présents sur l'hôte.
Avertissement de risque : l'activation de la fonctionnalité Collect Process PSS Memory Metrics entraîne la lecture du fichier smaps pour chaque processus et maintient brièvement le verrou mmap_lock. Cela peut provoquer des pics de latence pour les processus consommant beaucoup de mémoire ou effectuant fréquemment des opérations mmap. Si vous n'avez pas besoin des métriques Proportional Set Size (PSS), désactivez cette fonctionnalité.
Node-exporter installation mode
Automatic Installation (Recommended) : installe automatiquement node-exporter sur les instances ECS sélectionnées. Aucune action manuelle n'est requise.
Self-installation : installez node-exporter vous-même.
Host discovery mode
Stain label selection : mécanisme de liste de blocage. Les instances dont les libellés correspondent sont exclues. Par défaut, les nœuds du service de supervision des conteneurs ne font pas l'objet d'une collecte.
Unconditional : installe les exporters et collecte les métriques de supervision sur tous les hôtes ECS du VPC actuel.
Tag selection : mécanisme de liste d'autorisation. Seules les instances portant les tags correspondants sont intégrées.
IP CIDR selection : intègre les instances dont l'adresse IP appartient au bloc CIDR spécifié. Saisissez le bloc CIDR du VPC pour sélectionner toutes ses instances.
Instance ID : spécifiez les ID d'instance, séparés par des virgules (,).
ECS stain label
Chaque libellé de marquage est une paire clé-valeur. Définissez plusieurs libellés.
Collect TextFile
Indique s'il faut collecter les métriques Prometheus depuis un fichier spécifique.
Collect process status metrics
Collecte les données de supervision des processus par défaut.
Collect Process PSS Memory Metrics
Lorsqu'elle est activée, lit le fichier
smapsde chaque processus pour collecter la mémoire résidente PSS (proportional set size) et les métriques associées.Node-Exporter Service Port
Le port par défaut est 9100. Si arms-prometheus et ack-prometheus-operator sont tous deux installés dans le même cluster ACK, leurs ensembles node-exporter utilisent par défaut le port 9100, ce qui peut provoquer un conflit de port et entraîner des erreurs de service.
Metric scrape interval (seconds)
Intervalle de collecte. Valeur par défaut : 15 secondes.
Automatically configure security groups
Activé par défaut.
Custom ECS tag injection
Spécifiez une clé de tag ECS. Le système injecte la paire clé-valeur du tag dans les métriques Prometheus sous forme de libellés.
Cliquez sur OK. Patientez 1 à 2 minutes pour que l'intégration se termine.
Si aucune donnée n'apparaît sur le tableau de bord après l'intégration, vérifiez que les règles entrantes du groupe de sécurité ECS autorisent les blocs CIDR 100.64.0.0/10 et 192.168.0.0/18 à accéder aux ports 9100 et 9256 (ports par défaut de node-exporter et process-exporter). Consulter les règles du groupe de sécurité. Si vous utilisez d'autres ports, ajustez les règles en conséquence.
Diagnostiquer et résoudre les conflits de port node-exporter
Lorsque arms-prometheus et ack-prometheus-operator sont tous deux déployés dans le même cluster ACK, leurs DaemonSets node-exporter respectifs entrent en concurrence pour le hostPort 9100. Cette situation empêche l'un des ensembles de pods node-exporter de démarrer. Pour y remédier, modifiez le port de l'un des DaemonSets node-exporter en 9101.
-
Exécutez les commandes suivantes pour identifier le DaemonSet dont les pods node-exporter n'ont pas pu être planifiés :
kubectl get pods -A | grep node-exporter kubectl describe pod <pod-name> -n <namespace> -
Modifiez le DaemonSet en conflit :
kubectl edit daemonset <daemonset-name> -n <namespace> -
Dans le YAML du DaemonSet, localisez l'argument
--secure-listen-addresset remplacez le port9100par9101. Mettez également à jour les valeurscontainerPortethostPortsur9101:args: - --secure-listen-address=0.0.0.0:9101 ... ports: - containerPort: 9101 hostPort: 9101 name: https -
Enregistrez et quittez. Vérifiez que les pods node-exporter redémarrent et s'exécutent sur le nouveau port.
RemarqueSi le composant a été installé initialement via Helm, une commande
helm upgradeultérieure risque d'écraser vos modifications. Avant toute mise à niveau, sauvegardez la configuration modifiée ou verrouillez la version du chart.
Configurer un ServiceMonitor pour une supervision personnalisée
Une fois le conflit de port résolu, configurez un ServiceMonitor dans la console ARMS pour collecter les métriques de l'instance node-exporter sur le nouveau port.
Connectez-vous à la console ARMS.
Dans le volet de navigation de gauche, choisissez Prometheus Monitoring > Service Discovery.
Cliquez sur Create ServiceMonitor. Dans le panneau de création, sélectionnez YAML Mode.
-
Saisissez une configuration ServiceMonitor ciblant votre service node-exporter sur le port 9101. Voici un exemple :
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: node-exporter-custom namespace: <namespace> spec: endpoints: - port: https interval: 15s scheme: https tlsConfig: insecureSkipVerify: true namespaceSelector: matchNames: - <namespace> selector: matchLabels: app.kubernetes.io/name: node-exporterRemplacez
<namespace>par le namespace où votre node-exporter est déployé. Cliquez sur OK. Le ServiceMonitor prend effet en quelques minutes.
Étape 2 : Consulter les tableaux de bord de supervision
Connectez-vous à la console ARMS.
Dans le volet de navigation de gauche, cliquez sur Integration Management.
Sur la page Integration Management, cliquez sur l'onglet Integrated Environments, puis sélectionnez ECS Environment.
Dans la liste ECS Environment, cliquez sur le nom de l'environnement cible pour ouvrir sa page de détails.
Sur l'onglet Component Management, dans la section Addon Type, cliquez sur Dashboard pour consulter les tableaux de bord Grafana intégrés.
Étape 3 : Configurer les alertes
Connectez-vous à la console Managed Service for Prometheus. Dans le volet de navigation de gauche, cliquez sur Integration Management.
Sur la page Integration Management, cliquez sur l'onglet Integrated Environments, puis sélectionnez ECS Environment.
Dans la liste ECS Environment, cliquez sur le nom de l'environnement cible pour ouvrir sa page de détails.
Sur l'onglet Component Management, dans la section Addon Type, cliquez sur Alarm Rules pour consulter les règles d'alerte intégrées.
Les règles d'alerte intégrées génèrent des événements mais n'envoient pas de notifications. Pour activer l'envoi de notifications, cliquez sur Edit afin de configurer un canal de notification. Personnalisez également les seuils, la durée et le contenu. Créer des règles d'alerte pour une instance Prometheus.
En Simple Mode, définissez les destinataires des notifications, la période de notification et la politique de répétition.
Exemples de tableaux de bord Grafana
Tableau de bord ECS Overview

Tableau de bord ECS Detail
