• Русский
  • Экспонирование метрик

    OpenTelemetry Collector экспонирует метрики о объеме данных, которые он обработал. Эти метрики полезны для мониторинга рабочего состояния Collector и диагностики проблем сбора данных.

    Доступные метрики

    Collector экспонирует следующие метрики, связанные с объемом обработки данных:

    Метрики Spans

    • otelcol_receiver_accepted_spans: Количество spans, принятых receivers
    • otelcol_receiver_refused_spans: Количество spans, отклоненных receivers
    • otelcol_exporter_sent_spans: Количество spans, отправленных exporters
    • otelcol_exporter_enqueue_failed_spans: Количество spans, которые не удалось поставить в очередь в exporters

    Метрики Logs

    • otelcol_receiver_accepted_logs: Количество log records, принятых receivers
    • otelcol_receiver_refused_logs: Количество log records, отклоненных receivers
    • otelcol_exporter_sent_logs: Количество log records, отправленных exporters
    • otelcol_exporter_enqueue_failed_logs: Количество log records, которые не удалось поставить в очередь в exporters

    Метрики Metrics

    • otelcol_receiver_accepted_metrics: Количество metric data points, принятых receivers
    • otelcol_receiver_refused_metrics: Количество metric data points, отклоненных receivers
    • otelcol_exporter_sent_metrics: Количество metric data points, отправленных exporters
    • otelcol_exporter_enqueue_failed_metrics: Количество metric data points, которые не удалось поставить в очередь в exporters

    Настройка экспонирования метрик

    Настройка endpoint метрик Prometheus

    Чтобы экспонировать внутренние метрики Collector, настройте exporter с pull-моделью Prometheus в custom resource (CR) OpenTelemetryCollector. В следующем примере Collector настраивается на экспонирование метрик в формате Prometheus на порту 8888:

    apiVersion: opentelemetry.io/v1beta1
    kind: OpenTelemetryCollector
    metadata:
      name: <collector_name>
    spec:
      config:
        service:
          telemetry:
            metrics:
              readers:
                - pull:
                    exporter:
                      prometheus:
                        host: "0.0.0.0"
                        port: 8888
                        without_scope_info: true
                        without_type_suffix: true
                        without_units: true

    Включение сбора метрик

    Чтобы включить автоматический сбор метрик Collector в Prometheus, установите поле spec.observability.metrics.enableMetrics в значение true в CR OpenTelemetryCollector. Operator автоматически создает ресурс ServiceMonitor или PodMonitor в зависимости от режима развертывания Collector:

    apiVersion: opentelemetry.io/v1beta1
    kind: OpenTelemetryCollector
    metadata:
      name: <collector_name>
    spec:
      observability:
        metrics:
          enableMetrics: true

    Ручная проверка (необязательно)

    Вы можете проверить endpoint метрик напрямую, используя kubectl port-forward для доступа к порту метрик Collector:

    kubectl port-forward <collector_pod_name> 8888:8888

    Затем откройте http://localhost:8888/metrics в браузере или используйте curl, чтобы убедиться, что метрики экспонируются:

    curl http://localhost:8888/metrics

    Доступ к метрикам

    После включения сбора метрик вы можете проверить и получить доступ к метрикам Collector через веб-консоль Prometheus в Alauda Container Platform:

    1. Откройте веб-консоль Prometheus в вашем кластере Alauda Container Platform.

    2. Перейдите в StatusTargets.

    3. Убедитесь, что ServiceMonitors или PodMonitors в формате <instance_name>-collector имеют статус Up.

    После того как targets будут подтверждены как Up, вы можете использовать интерфейс запросов Prometheus для анализа метрик Collector, перечисленных в разделе Доступные метрики.