Invia le metriche di Config Sync a un sistema di monitoraggio personalizzato

La pagina descrive come inviare metriche da Config Sync a un esportatore OpenTelemetry personalizzato.

Config Sync utilizza OpenCensus per creare e registrare le metriche e OpenTelemetry per esportarne le metriche. Questa pagina spiega come configurare queste metriche in un esportatore personalizzato. Per altri modi di esportare le metriche, consulta Monitorare Config Sync con Cloud Monitoring o Monitorare Config Sync con Prometheus.

Configura un esportatore OpenTelemetry personalizzato

Se vuoi inviare le metriche a un sistema di monitoraggio diverso da Prometheus o Cloud Monitoring, puoi modificare la configurazione OpenTelemetry. Per un elenco dei sistemi di monitoraggio supportati, consulta Esportatori OpenTelemetry Collector ed OpenTelemetry Collector-Contrib Exporter.

Le risorse di monitoraggio di OpenTelemetry sono gestite in uno spazio dei nomi config-management-monitoring separato. Per configurare un programma di esportazione OpenTelemetry personalizzato da utilizzare con Config Sync, devi creare un ConfigMap con il nome otel-collector-custom nello spazio dei nomi config-management-monitoring. Il ConfigMap deve contenere una chiave otel-collector-config.yaml e il valore deve essere i contenuti del file della configurazione personalizzata di OpenTelemetry Collector. Per ulteriori informazioni sulle opzioni di configurazione, consulta la documentazione di configurazione di OpenTelemetry Collector.

Il seguente ConfigMap è un esempio di ConfigMap con un esportatore di log personalizzato:

# 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]

Tutte le configurazioni personalizzate devono definire un ricevitore opencensus e una pipeline metrics. Gli altri campi sono facoltativi e configurabili, ma ti consigliamo di includere un processore batch e un'estensione per il controllo di integrità come nell'esempio.

Dopo aver creato un ConfigMap, utilizza kubectl per creare la risorsa:

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

Il deployment OpenTelemetry Collector seleziona questo ConfigMap e lo riavvia automaticamente per applicare la configurazione personalizzata.

Limitazioni

Quando esegui l'upgrade di Config Sync a una nuova versione, se hai creato un oggetto ConfigMap otel-collector-custom per una versione precedente, le impostazioni personalizzate potrebbero non essere compatibili con la nuova versione di Config Sync. Ad esempio, i nomi, le etichette e gli attributi delle metriche possono cambiare tra le versioni di Config Sync.

Le modifiche apportate alle metriche di Config Sync vengono annunciate nelle note di rilascio. Per queste modifiche potrebbe essere necessario aggiornare la configurazione di otel-collector personalizzata.

A causa di questa limitazione, ti consigliamo di utilizzare configurazioni di metriche personalizzate solo per soluzioni temporanee. Se ritieni di dover utilizzare una configurazione personalizzata, invia un ticket di assistenza per richiedere la soluzione alternativa come funzionalità o correzione di bug.