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

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

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

Configurare 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 di sistemi di monitoraggio supportati, consulta Esportatori di OpenTelemetry Collector e Esportatori di OpenTelemetry Collector-Contrib.

Le risorse di monitoraggio di OpenTelemetry vengono gestite in uno spazio dei nomiconfig-management-monitoring separato. Per configurare un esportatore OpenTelemetry personalizzato da utilizzare con Config Sync, devi creare un ConfigMap con il nome otel-collector-custom nell'namespace config-management-monitoring. Il ConfigMap deve contenere una chiave otel-collector-config.yaml e il valore deve essere costituito dai contenuti 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 opencensusdestinatario e una metrics pipeline. Il resto dei campi è facoltativo e configurabile, ma ti consigliamo di includere un'estensione di controllo di integrità e un processore batch come nell'esempio.

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

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

Il deployment del collector OpenTelemetry rileva 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 ConfigMapotel-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 da una versione di Config Sync all'altra.

Quando vengono apportate modifiche alle metriche di Config Sync, queste vengono annunciate nelle note di rilascio. Queste modifiche potrebbero richiedere di aggiornare la configurazione otel-collector personalizzata.

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