Observabilité¶
Services de metering, métriques et alertes sur OpenStack.
Ceilometer¶
Ceilometer est le service de metering et collecte de données d'OpenStack. Il collecte des mesures sur l'utilisation des ressources (CPU, RAM, réseau, stockage) à travers tous les services OpenStack.
Cas d'usage : facturation à l'usage (billing/chargeback), audit de consommation, alimentation de systèmes de métriques.
Fonctionnement¶
Ceilometer collecte les données de deux manières :
| Méthode | Description |
|---|---|
| Polling | Interrogation périodique des APIs des services |
| Notifications | Écoute des messages emis par les services sur le bus AMQP |
Les données collectees sont envoyees vers un backend de stockage (Gnocchi) ou un pipeline de traitement.
# Lister les metres disponibles
openstack metric resource-type list
# Consulter les ressources mesurees
openstack metric resource list
Gnocchi¶
Gnocchi est le service de base de données de métriques time-series d'OpenStack. Il stocke et agrégé les mesures collectees par Ceilometer de manière performante et scalable.
Cas d'usage : stockage long-terme des métriques, agrégation de données, requêtes analytiques sur la consommation.
Concepts clés¶
| Concept | Description |
|---|---|
| Resource | Entité mesuree (instance, volume, réseau) |
| Metric | Serie temporelle associee a une ressource |
| Archive policy | Politique de rétention et granularité des données |
| Measure | Point de donnée individuel (timestamp + valeur) |
Consulter les métriques¶
# Lister les archive policies
openstack metric archive-policy list
# Lister les metriques d'une ressource
openstack metric resource show <resource-id>
# Consulter les mesures d'une metrique
openstack metric measures show <metric-id> \
--start 2026-04-01T00:00:00 \
--stop 2026-04-13T00:00:00
# Agreger des metriques
openstack metric measures aggregation \
--resource-type instance \
--metric cpu_util \
--aggregation mean
Politiques d'archivage
Definissez des archive policies adaptées a vos besoins : granularité fine (1 min) sur 7 jours, moyenne (5 min) sur 30 jours, agrégée (1 h) sur 1 an. Cela optimise l'espace de stockage.
Aodh¶
Aodh est le service d'alarmes d'OpenStack. Il définit des seuils sur les métriques Gnocchi et déclenche des actions (notifications, webhooks, autoscaling Heat) lorsqu'un seuil est dépassé.
Cas d'usage : alertes sur la consommation CPU, déclenchement d'autoscaling, notifications d'anomalies.
Créer une alarme¶
# Alarme sur CPU > 80% pendant 5 minutes
openstack alarm create \
--name cpu-haute \
--type gnocchi_aggregation_by_resources_threshold \
--metric cpu_util \
--aggregation-method mean \
--threshold 80 \
--comparison-operator gt \
--granularity 300 \
--resource-type instance \
--alarm-action "http://mon-webhook.example.com/alerte"
# Lister les alarmes
openstack alarm list
# Verifier l'etat d'une alarme
openstack alarm show cpu-haute
Intégration avec des outils externes¶
De nombreux déploiements OpenStack completent Ceilometer/Gnocchi/Aodh avec des outils de monitoring externes pour une observabilité plus riche :
| Outil | Rôle | Intégration OpenStack |
|---|---|---|
| Prometheus | Collecte et stockage de métriques | Exporters pour les APIs OpenStack |
| Grafana | Visualisation et dashboards | Datasource Gnocchi ou Prometheus |
| Elasticsearch | Agrégation et recherche de logs | Pipeline Ceilometer vers Elasticsearch |
| Nagios/Zabbix | Monitoring classique et alertes | Checks sur les APIs et services OpenStack |
Approche hybride
L'approche la plus courante en production est d'utiliser Ceilometer pour le metering/billing (facturation interne) et Prometheus + Grafana pour le monitoring opérationnel et les dashboards temps réel.