RousselTMLEARNING

Observabilité

Fleet Management, Kubernetes Monitoring et moteur OpenTelemetry : Alloy à grande échelle

Piloter des centaines d'Alloy avec remotecfg et Fleet Management, déployer le chart Helm k8s-monitoring v4, exécuter une configuration OpenTelemetry Collector avec alloy otel.

1. Fleet Management et remotecfg #

Configurer à distance.

Le principe #

Mettre à jour la configuration de 300 Alloy un par un ne tient pas. Avec Fleet Management (Grafana Cloud, ou en auto-hébergé pour les offres entreprise), vous créez des pipelines associés à des attributs ; chaque Alloy interroge le service grâce au bloc remotecfg et applique les pipelines qui correspondent à ses attributs. L'inventaire montre la santé, la version et les attributs de chaque collecteur.

Fleet Management distribue les pipelines selon les attributs

config.alloy #

remotecfg {
  url            = sys.env("GCLOUD_FLEET_URL")
  id             = constants.hostname
  attributes     = {"env" = "production", "team" = "payments"}
  poll_frequency = "1m"

  basic_auth {
    username = sys.env("GCLOUD_FLEET_USER")
    password = sys.env("GCLOUD_RW_API_KEY")
  }
}

Configuration validée avec alloy validate (Alloy v1.21.3, novembre 2026).

  • id : identifiant du collecteur ; sans lui, Alloy génère un UUID conservé dans alloy_seed.json.
  • attributes : servent à choisir les pipelines ; le préfixe collector. est réservé (collector.os et collector.version sont ajoutés automatiquement).
  • poll_frequency : 1 min par défaut, 10 s minimum.
  • Le protocole alloy-remote-config est libre (Apache 2.0) : vous pouvez implémenter votre propre serveur.
Gardez une configuration locale minimale (le bloc remotecfg et l'auto-supervision) : si le service est injoignable, Alloy continue avec la dernière configuration reçue.

2. Kubernetes Monitoring #

Le chart Helm k8s-monitoring.

Plusieurs Alloy spécialisés #

Le chart Helm k8s-monitoring (version 4 et suivantes) déploie, via l'Alloy Operator, plusieurs Alloy aux rôles distincts. En v4, vous nommez vous-même les collecteurs (collectors) et leur appliquez des presets ; chaque fonctionnalité (clusterMetrics, podLogs, applicationObservability, autoInstrumentation…) est rattachée à un collecteur, et les destinations sont typées par protocole (prometheus, loki, otlp, pyroscope).

CollecteurPresetsRôle
Métriquesclustered, statefulsetkubelet, cAdvisor, kube-state-metrics, ServiceMonitor
ÉvénementssingletonÉvénements du cluster (une seule instance)
Logsfilesystem-log-reader, daemonsetLogs des pods et des nœuds
RéceptiondaemonsetOTLP poussé par les applications
Profilsprivileged, daemonsetProfilage continu
L'Alloy Operator déploie des collecteurs spécialisés
helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install k8s-monitoring grafana/k8s-monitoring \
  --namespace monitoring --create-namespace -f values.yaml

L'option autoInstrumentation déploie aussi Beyla en DaemonSet. Le format de values.yaml a changé entre les versions majeures : partez de l'assistant de Grafana Cloud ou des exemples du dépôt du chart.

3. Le moteur OpenTelemetry #

Une configuration Collector dans Alloy.

alloy otel #

Vous avez déjà des configurations YAML de l'OpenTelemetry Collector ? Le moteur OTel d'Alloy (en préversion publique) les exécute telles quelles, sans les traduire en syntaxe Alloy. Avec alloy otel-supervisor, un superviseur OpAMP intégré laisse Fleet Management piloter cette configuration à distance.

alloy otel --config otelcol.yaml
alloy convert --source-format=otelcol --output=config.alloy otelcol.yaml   # ou convertir vers la syntaxe Alloy
BesoinChoix
Nouvelle configuration, composants Grafana (faro, beyla, clustering)Moteur par défaut (syntaxe Alloy)
Reprendre un parc d’OpenTelemetry Collector existantMoteur OTel + OpAMP

Sources #

Articles liés

Alloy et l'écosystème Grafana Labs : quel composant pour quel outil ?

La carte des intégrations d'Alloy avec Faro, Beyla, k6, Loki, Mimir, Tempo, Pyroscope, Database Observability…

Faro et Alloy : recevoir le RUM front-end avec faro.receiver

Configurer faro.receiver : CORS, clé d'API, limite de débit, source maps, puis envoyer erreurs, Web Vitals et…

Beyla et Alloy : métriques RED et traces sans code avec beyla.ebpf

Activer l'instrumentation eBPF de Beyla dans Alloy : découverte des services, métriques RED vers Mimir, trace…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !