Enviar métricas do Config Sync para um sistema de monitoramento personalizado

Nesta página, descrevemos como enviar métricas do Config Sync para um exportador personalizado do OpenTelemetry.

O Config Sync usa o OpenCensus para criar e registrar métricas e o OpenTelemetry para exportá-las. Esta página explica como configurar essas métricas para um exportador personalizado. Para outras maneiras de exportar métricas, consulte Monitorar o Config Sync com o Cloud Monitoring ou Monitorar o Config Sync com o Prometheus.

Configurar um exportador personalizado do OpenTelemetry

Para enviar suas métricas a um sistema de monitoramento diferente do Prometheus ou do Cloud Monitoring, modifique a configuração do OpenTelemetry. Para uma lista de sistemas de monitoramento compatíveis, consulte Exportadores do OpenTelemetry Collector e Exportadores do OpenTelemetry Collector-Contrib.

Os recursos de monitoramento do OpenTelemetry são gerenciados em um namespace config-management-monitoring separado. Para configurar um exportador aberto do OpenTelemetry para uso com o Config Sync, você precisa criar um ConfigMap com o nome otel-collector-custom no namespace config-management-monitoring. O ConfigMap precisa ter uma chave otel-collector-config.yaml, e os valores precisam ser os conteúdos do arquivo da configuração personalizada do OpenTelemetry Collector. Para mais informações sobre as opções de configuração, consulte a documentação de configuração do OpenTelemetry Collector.

O ConfigMap a seguir é um exemplo de um ConfigMap com um exportador personalizado de registros:

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

Todas as configurações personalizadas precisam definir um receptor opencensus e um pipeline metrics. Os outros campos são opcionais e configuráveis, mas recomendamos que você inclua um processador batch e uma extensão de verificação de integridade, como no exemplo.

Depois de criar o ConfigMap, use kubectl para criar o recurso:

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

A implantação do OpenTelemetry Collectoor seleciona esse ConfigMap e é reiniciada automaticamente para aplicar a configuração personalizada.

Limitações

Ao fazer upgrade do Config Sync para uma nova versão, se você criou um ConfigMap otel-collector-custom para uma versão anterior, suas configurações personalizadas podem não ser compatíveis com a nova versão do Config Sync. Por exemplo, nomes de métricas, rótulos e atributos podem mudar entre as versões do Config Sync.

Quando são feitas alterações nas métricas do Config Sync, elas são anunciadas nas notas da versão. Essas mudanças podem exigir que você atualize sua configuração personalizada de otel-collector.

Devido a essa limitação, recomendamos que você use configurações de métricas personalizadas apenas para soluções alternativas temporárias. Se você precisar usar uma configuração personalizada, abra um tíquete de suporte para solicitar uma solução alternativa como um recurso ou correção de bug.