Sommaire
Les articles précédents de cette série ont déployé Prometheus, Loki et l’OpenTelemetry Collector pour couvrir l’observabilité de la couche Kubernetes. Mais dans un environnement VCF, l’histoire ne commence pas au pod. Elle commence à l’hôte physique, au datastore vSAN, au segment NSX. La couche infrastructure dispose de son propre outil d’observabilité : VMware Aria Operations (anciennement vRealize Operations).
Le défi est qu’Aria Operations et Prometheus vivent dans des silos séparés. Votre équipe infrastructure ouvre vROps pour regarder la contention CPU ESXi. Votre équipe plateforme ouvre Grafana pour regarder la pression de scheduling des pods. Personne ne regarde les deux simultanément en se demandant : ce pic de latence de pod est-il causé par la contention I/O vSAN sur le datastore sous-jacent ? Combler ce gap est l’objet de cet article.
Vue d’ensemble de l’architecture Aria Operations
Aria Operations est une plateforme d’analyse et d’opérations pour l’infrastructure VMware. Son modèle de données est construit autour d’objets (entités gérées) et de métriques (données temporelles attachées aux objets).
La hiérarchie d’objets mappe le modèle d’objets vSphere :
HostSystem— hôte ESXiClusterComputeResource— cluster vSphereDatastore— stockage sous-jacent (vSAN ou NFS/VMFS)VirtualMachine— VM individuelleNSX-T Data Center— plan de gestion NSXLogicalSwitch— segment NSX
Chaque type d’objet expose un ensemble de clés de métriques suivant le pattern type_objet|groupe_métrique|nom_métrique. Pour un HostSystem, les clés de métriques les plus pertinentes opérationnellement incluent :
cpu|cpuDemand_average — Pourcentage de demande CPU (0-100)
cpu|ready_summation — CPU Ready : temps qu'un vCPU a attendu du CPU physique
mem|usage_average — Pourcentage d'utilisation mémoire
mem|swapped_average — Mo de mémoire swappée (non-zéro = pression mémoire)
disk|commandsAveraged_average — Opérations I/O moyennes par seconde
net|packetsDroppedRx_summation — Paquets reçus droppés (indicateur de pression réseau)
Pour ClusterComputeResource :
cpu|effectivecpu_average — Capacité CPU effective après réservations HA
mem|effectivemem_average — Mémoire effective après réservations HA
cluster|effectiveHostsTotal_latest — Nombre d'hôtes répondants dans le cluster
Convention de nommage des métriques vROps
Aria Operations utilise une hiérarchie séparée par | pour les clés de métriques, pas la convention . de Prometheus. Lors de l’export vers Prometheus via remote_write, les noms de clés de métriques sont assainis : | devient _ et les caractères spéciaux sont supprimés. Le nom de métrique Prometheus résultant est aria_hostsystem_cpu_cpudemand_average.
Exporter les métriques Aria Operations vers Prometheus
Aria Operations n’expose pas nativement un endpoint Prometheus /metrics. Il existe deux chemins d’intégration.
Chemin 1 : Prometheus remote_write depuis Aria Operations
Depuis Aria Operations 8.14, Broadcom a introduit des capacités natives de streaming de métriques sortantes. Le Management Pack vRealize Operations pour Prometheus (disponible sur le Broadcom Marketplace) ajoute un endpoint exporter Prometheus à Aria Operations que Prometheus peut scraper.
Chemin 2 : vsphere-exporter (communauté Prometheus)
Le projet vmware/vsphere-graphite et l’exporter communautaire pryorda/vmware_exporter fournissent des exporters Prometheus qui interrogent directement l’API vSphere. Ils fonctionnent sans Aria Operations et conviennent quand vous voulez des métriques infrastructure dans Prometheus sans la stack Aria Operations complète.
# Déployer vmware_exporter en Deployment dans le namespace monitoring
apiVersion: apps/v1
kind: Deployment
metadata:
name: vmware-exporter
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
app: vmware-exporter
template:
metadata:
labels:
app: vmware-exporter
spec:
containers:
- name: vmware-exporter
image: pryorda/vmware_exporter:latest
ports:
- containerPort: 9272
name: metrics
env:
- name: VSPHERE_HOST
valueFrom:
secretKeyRef:
name: vcenter-credentials
key: host
- name: VSPHERE_USER
valueFrom:
secretKeyRef:
name: vcenter-credentials
key: username
- name: VSPHERE_PASSWORD
valueFrom:
secretKeyRef:
name: vcenter-credentials
key: password
- name: VSPHERE_IGNORE_SSL
value: "false"
resources:
requests: { cpu: 100m, memory: 128Mi }
limits: { cpu: 500m, memory: 512Mi }
Créez un ServiceMonitor pour que Prometheus scrape l’exporter :
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: vmware-exporter
namespace: monitoring
labels:
release: kube-prometheus-stack
spec:
selector:
matchLabels:
app: vmware-exporter
endpoints:
- port: metrics
interval: 60s # Les métriques vSphere ont une granularité à la minute ; 60s est approprié
scrapeTimeout: 30s
API REST Aria Operations
Pour les environnements avec Aria Operations complètement déployé, l’API REST Aria Operations fournit un accès programmatique à toutes les métriques collectées.
# Authentification et obtention d'un token
curl -s -X POST https://aria-ops.example.com/suite-api/api/auth/token/acquire \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"<mot-de-passe>","authSource":"LOCAL"}' \
| jq '.token'
# Requêter les métriques pour un objet spécifique (HostSystem)
curl -s -X GET "https://aria-ops.example.com/suite-api/api/resources?resourceKind=HostSystem" \
-H "Authorization: vRealizeOpsToken <token>" \
-H "Accept: application/json" \
| jq '.resourceList[].identifier'
# Récupérer les données métriques de la dernière heure
curl -s -X POST "https://aria-ops.example.com/suite-api/api/resources/stats/query" \
-H "Authorization: vRealizeOpsToken <token>" \
-H "Content-Type: application/json" \
-d '{
"resourceId": ["<id-ressource-hôte>"],
"statKey": ["cpu|ready_summation", "cpu|cpuDemand_average", "mem|swapped_average"],
"begin": '"$(date -d '1 hour ago' +%s%3N)"',
"end": '"$(date +%s%3N)"'
}'
Cette API est la fondation pour construire des exporters personnalisés qui font le pont entre les données Aria Operations et Prometheus pour toute métrique non couverte par les exporters communautaires.
Construire des dashboards Grafana unifiés
La puissance de la stack intégrée émerge dans les dashboards unifiés qui corrèlent les métriques infrastructure (depuis Aria Operations via vmware_exporter ou API) avec les métriques Kubernetes (depuis Prometheus), les logs (depuis Loki) et les traces (depuis Tempo).
Dashboard de corrélation hôte VCF vers pod
Corrélation vSAN vers latence PVC
Dashboard réseau NSX vers pods
Suivi des SLOs à travers infrastructure et application
Alerting à travers les deux stacks
Avec l’alerting natif Aria Operations et Prometheus Alertmanager tous deux actifs, vous risquez des notifications en double. L’approche recommandée est de router les alertes par domaine :
- Alertes infrastructure (hôte hors ligne, vSAN dégradé, gateway NSX injoignable, capacité datastore au-dessus de 85%) sont gérées exclusivement par l’alerting natif Aria Operations → PagerDuty/ServiceNow.
- Alertes Kubernetes et applicatives (crash loops pods, incohérence de réplicas déploiement, taux d’erreur élevé, burn SLO) sont gérées par Prometheus Alertmanager → Slack/PagerDuty.
Le point d’intégration est un système de gestion d’incidents partagé (PagerDuty, ServiceNow) qui corrèle les alertes des deux sources en utilisant le label commun hostname ou cluster comme clé de corrélation.
La matrice d’observabilité complète pour VCF
Après avoir déployé les cinq composants couverts dans cette série, votre plateforme VCF dispose d’une observabilité de bout en bout :
Aria Operations — Métriques hôte, cluster, vSAN, NSX de l’infrastructure vSphere. Alerting natif vROps et analytique de capacité. Source de vérité pour la couche infrastructure.
Prometheus + kube-prometheus-stack — Santé des composants Kubernetes, utilisation des ressources nœud, métriques pods, métriques personnalisées applicatives via ServiceMonitor. PromQL pour l’alerting et les dashboards.
Grafana — Couche unifiée de requête et de dashboard. Sources de données : vmware_exporter (vSphere), Prometheus (K8s + apps), Loki (logs), Tempo (traces). Vue unique à travers toutes les couches.
Loki + Fluent Bit — Logs pods structurés avec enrichissement de métadonnées Kubernetes. Requêtes LogQL. Corrélation log-vers-trace via les champs dérivés traceId.
OTel Collector + Tempo — Traces distribuées depuis les applications instrumentées. Tail-based sampling. Corrélation exemplar depuis les histogrammes Prometheus vers les cascades de traces.
Aucun incident d’observabilité ne nécessite d’ouvrir plus d’un outil. Grafana unifie tous les types de signaux. La corrélation infrastructure vers application est à portée d’une seule variable.
Références.
- Broadcom TechDocs — Aria Operations 8.18 — documentation officielle du produit, taxonomie des métriques, référence API REST
- Référence API REST Aria Operations — auth, requêtes de ressources, endpoints de streaming de métriques
- vmware_exporter pour Prometheus — exporter Prometheus communautaire pour les métriques vSphere
- Grafana — Connexion des sources de données — configuration des sources de données Prometheus, Loki et Tempo
- Spécification remote_write Prometheus — format fil pour l’ingestion de métriques depuis des sources externes
Reçois le prochain par email
Les nouveaux articles et séries, envoyés à leur publication. Aucun autre courrier.



