NMX Telemetry (NMX-T) Documentation

Open Telemetry Exporter

    The NVL telemetry component of the NMX-T application package provides active (push) data streaming using the Open Telemetry exporter. The OTLP exporter adopts the same data filtering and transformation methods as the Prometheus Remote Writer and the Prometheus metrics endpoint. To set up the export configuration, use any of the configuration options supported by NMX-T, such as the Telemetry Collection Configuration. The configuration parameters related to the OTLP exporter are listed below. By default, these parameters are set to empty strings, indicating that no export is enabled.

    Parameter

    Type

    Description

    Default

    nvl_telemetry.otlp.target

    string

    URL of a Prometheus Remote write receiver target


    nvl_telemetry.otlp.counter_set

    string

    Name of the counter-set to apply to the remote write exporter


    nvl_telemetry.otlp.field_set

    string

    Name of the field-set to apply to the remote write exporter


    Usage Scenario

    Here is an example of the data exporting with Prometheus Remote Write.

    Prerequisites

    • NMX-T is up and running on the system, either as NVOS Cluster Application, standalone containerized application or native, as described in Application Lifecycle

    • Create an OpenTelemetry configuration https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/prometheusexporter/README.md

      receivers:
        otlp:
          protocols:
            grpc:
              endpoint: 0.0.0.0:9501
            http:
              endpoint: 0.0.0.0:9502
      exporters:
        debug:
          verbosity: detailed
        prometheus:
          endpoint: 0.0.0.0:9503"
          send_timestamps: true
          metric_expiration: 180m
          enable_open_metrics: true
          add_metric_suffixes: false
          resource_to_telemetry_conversion:
            enabled: true
      
      service:
        pipelines:
          traces:
            receivers: [otlp]
            exporters: [debug]
          metrics:
            receivers: [otlp]
            exporters: [debug]
          logs:
            receivers: [otlp]
            exporters: [debug]

    • Start the Open Telemetry receiver to run

      docker run --rm --name "$(whoami)_open_telemetry" \
          -p 9501:9501 -p 9502:9502 \
          -v $(pwd)/data:/data -v $(pwd)/collector-config.yaml:/etc/otelcol/config.yaml otel/opentelemetry-collector

    Configuring the Open Telemetry Metrics Target

    • Update nvl_telemetry.otlp.target parameter via configuration interface Telemetry Collection Configuration to start streaming the telemetry out to the given target.

      curl http://0.0.0.0:9350/telemetry/config --data-binary @- << EOF
      nvl_telemetry.otlp.target = http://0.0.0.0:9502/v1/metrics
      nvl_telemetry.otlp.counter_set = default
      nvl_telemetry.otlp.field_set = default
      EOF
      

    Last updated: