Envoyer des métriques Config Sync à un système de surveillance personnalisé

Cette page explique comment envoyer des métriques depuis Config Sync vers un exportateur OpenTelemetry personnalisé.

Config Sync utilise OpenCensus pour créer et enregistrer des métriques, et OpenTelemetry pour les exporter. Cette page explique comment configurer ces métriques vers un exportateur personnalisé. Pour découvrir d'autres moyens d'exporter des métriques, consultez la page Surveiller Config Sync avec Cloud Monitoring ou Surveiller Config Sync avec Prometheus.

Configurer un exportateur OpenTelemetry personnalisé

Si vous souhaitez envoyer vos métriques à un système de surveillance autre que Prometheus ou Cloud Monitoring, vous pouvez modifier la configuration d'OpenTelemetry. Pour obtenir la liste des systèmes de surveillance compatibles, consultez les pages relatives aux exportateurs OpenTelemetry Collector et aux exportateurs OpenTelemetry Collector-Contrib.

Les ressources de surveillance OpenTelemetry sont gérées dans un espace de noms config-management-monitoring distinct. Pour configurer un exportateur OpenTelemetry personnalisé à utiliser avec Config Sync, vous devez créer un fichier ConfigMap nommé otel-collector-custom dans cet espace de noms config-management-monitoring. Le fichier ConfigMap doit contenir une clé otel-collector-config.yaml et sa valeur doit correspondre au contenu du fichier de configuration personnalisée d'OpenTelemetry. Pour en savoir plus sur les options de configuration, consultez la documentation sur la configuration d'OpenTelemetry Collector.

Le fichier ConfigMap suivant est un exemple de ConfigMap avec un exportateur de journalisation personnalisé :

# otel-collector-custom-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: otel-collector-custom
  namespace: config-management-monitoring
  labels:
    app: opentelemetry
    component: otel-collector
data:
  otel-collector-config.yaml: |
    receivers:
      opencensus:
    exporters:
      logging:
        logLevel: debug
    processors:
      batch:
    extensions:
      health_check:
    service:
      extensions: [health_check]
      pipelines:
        metrics:
          receivers: [opencensus]
          processors: [batch]
          exporters: [logging]

Toutes les configurations personnalisées doivent définir un récepteur opencensus et un pipeline metrics. Les autres champs sont facultatifs et configurables, mais nous vous recommandons d'inclure un processeur batch et une extension de vérification d'état, comme dans l'exemple.

Après avoir créé le ConfigMap, utilisez kubectl pour créer la ressource :

kubectl apply -f otel-collector-custom-cm.yaml

Le déploiement de l'OpenTelemetry Collector récupère ce ConfigMap et redémarre automatiquement pour appliquer la configuration personnalisée.

Limites

Lorsque vous mettez à niveau Config Sync vers une nouvelle version, si vous avez créé une ConfigMap otel-collector-custom pour une version précédente, vos paramètres personnalisés peuvent ne pas être compatibles avec la nouvelle version de Config Sync. Par exemple, les noms, libellés et attributs des métriques peuvent changer entre les versions de Config Sync.

Lorsque des modifications sont apportées aux métriques Config Sync, elles sont annoncées dans les notes de version. Ces modifications peuvent vous obliger à mettre à jour votre configuration otel-collector personnalisée.

En raison de cette limitation, nous vous recommandons de n'utiliser les configurations de métriques personnalisées que pour des solutions temporaires. Si vous devez utiliser une configuration personnalisée, envoyez une demande d'assistance pour demander la solution de contournement en tant que fonctionnalité ou correction de bug.