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. In questa pagina viene spiegato come configurare queste metriche per un esportatore personalizzato. Per altri modi per 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 di OpenTelemetry. Per un elenco dei sistemi di monitoraggio supportati, consulta la pagina relativa agli esportatori di OpenTelemetry Collector e agli esportatori di OpenTelemetry Collector-Contrib.

Le risorse di monitoraggio di OpenTelemetry sono gestite in uno spazio dei nomi config-management-monitoring separato. Per configurare un esportatore OpenTelemetry personalizzato da utilizzare con Config Sync, devi creare un ConfigMap con il nome otel-collector-custom in quello spazio dei nomi config-management-monitoring. Il ConfigMap deve contenere una chiave otel-collector-config.yaml e il valore deve essere il contenuto del file della configurazione personalizzata di OpenTelemetry Collector. Per ulteriori informazioni sulle opzioni di configurazione, consulta la documentazione sulla 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 il ConfigMap, utilizza kubectl per creare la risorsa:

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

Il deployment di OpenTelemetry Collector raccoglie questo ConfigMap e si riavvia automaticamente per applicare la configurazione personalizzata.

Limitazioni

Quando esegui l'upgrade di Config Sync a una nuova versione, se hai creato un ConfigMap otel-collector-custom per una versione precedente, le tue 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 da una versione di Config Sync.

Quando vengono apportate modifiche alle metriche di Config Sync, vengono annunciate nelle note di rilascio. Queste modifiche potrebbero richiedere l'aggiornamento della configurazione otel-collector personalizzata.

A causa di questo limite, consigliamo di utilizzare configurazioni di metriche personalizzate solo per soluzioni temporanee temporanee. Se hai bisogno di utilizzare una configurazione personalizzata, invia un ticket di assistenza per richiedere la soluzione alternativa come correzione di un bug o di una funzionalità.