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 |
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"
\ -p9501
:9501
-p9502
: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