Verify incoming data
Metrics and traces have different verification processes.Verify traces
The Live Telemetry Analyzer provides a real-time view of incoming traces grouped by tag and their relative frequency. Use the Live Telemetry Analyzer to display the stream of incoming spans from your trace data.- In the navigation menu, click Go to Admin and then select Analyzers > Live Telemetry.
- Click the Traces tab.
- Click Capture live data to display the stream of incoming
spans. The default grouping shows spans by service (
__service__), but you can include additional tags to group by, such as__trace_id__and__span_id__.
Verify metrics
You can also use the Live Telemetry Analyzer to inspect the incoming stream of metrics ingested by Observability Platform.- In the navigation menu, click Go to Admin and then select Analyzers > Live Telemetry.
- Click the Metrics tab.
- Click Capture live data to display streaming metrics.
- In the Keys list, select the
__name__andinstancelabel keys. - In the Values filter, enter a
key:valuepair for a metric the OpenTelemetry exporter is sending, or any specific value the Collector is sending.
- Metric Data Points Received
- Metric Data Points Rejected
No data displays in Observability Platform
Common reasons and corresponding log messages for data not appearing in Observability Platform:Missing API token
If your API key is missing, the following message displays in the OpenTelemetry Collector logs:API-Token header to the otlp/chronosphere exporter
configuration and that you’re correctly setting and
passing API token value.
Invalid API token
If your API key is invalid, the OpenTelemetry Collector logs report the following error:API-Token, but it’s invalid. Ensure you’ve correctly
copied the API Token value and that you’re correctly setting and passing the value in
for the API token.
Incorrect permission
If your service account doesn’t have write permission, the OpenTelemetry Collector logs report the following error:write-only scope.
Some metrics are missing in Observability Platform
The following sections can help you when you’re ingesting some metrics, but some of the expected metrics are missing. Validations are applied to metrics as they’re ingested.| Reason code | Description | Remediation |
|---|---|---|
label_name_invalid | The label name isn’t compatible with Prometheus. The Collector and Chronosphere OTLP endpoint normalize this for you. | See the Prometheus documentation on metric names and labels. |
label_value_invalid | The label value is invalid. This is enforced only for metric names, which must follow a specific format for PromQL compatibility. The Collector and Chronosphere OTLP endpoint normalize this on your behalf. | See the Prometheus documentation on metric names and labels. |
label_name_too_long | The maximum supported length for a label name is 512 bytes. | Update your instrumentation or consider adding Prometheus relabel rules or OTel Collector processor changes. |
label_value_too_long | The maximum supported length for a label value is 1,024 bytes. | Update your instrumentation or consider adding Prometheus relabel rules or OTel Collector processor changes. |
label_value_empty | Label values can’t be empty. | Use a sentinel value of “unknown” for empty strings. |
label_count_too_high | The maximum supported number of labels for a single time series is 64. | Update your instrumentation or consider adding Prometheus relabel rules or OTel Collector processor changes. |
total_bytes_too_high | The maximum supported amount of bytes used across all labels for a single time series is 4,096. | Update your instrumentation or consider adding Prometheus relabel rules or OTel Collector processor changes. |
otel_service_instance_id_required | See OTEL_SERVICE_INSTANCE_ID_REQUIRED validation error. | See OTEL_SERVICE_INSTANCE_ID_REQUIRED validation error. |
histogram_sample_invalid | An exponential histogram sample contains internal inconsistencies, such as a mismatch between the overall count field and the sum of all bucket counts. | Check for bugs in instrumentation libraries that emit exponential histograms or OTel Collector receivers or processors that might be corrupting histograms. |
Metrics were dropped in a partial success
When ingesting metrics using the OpenTelemetry protocol, Observability Platform returns a partial success response when metrics are dropped. The OpenTelemetry Collector logs warnings for partial successes, and you can configure it to provide additional details about what failed. In the OpenTelemetry Collector OTLP Exporter configuration, add theChronosphere-Metrics-Validation-Response header with the value set to
SUMMARY or DETAILED to include the reasons why the metrics were dropped, and
to see which metrics were dropped.
The following is an example of a DETAILED response logged by the OpenTelemetry Collector:
OTEL_SERVICE_INSTANCE_ID_REQUIRED validation error
When using the OpenTelemetry Collector, Observability Platform requiresservice.name and service.instance.id as labels for all metrics to construct the
Prometheus resource attributes. Metrics without these labels will be rejected and the
following error message displays in your logs:
Chronosphere-Metrics-Validation-Response: SUMMARY header to the
OTLP Exporter
to include the validation error code in the response.
To resolve this, add an attributes processor
to your metrics pipeline to map an existing label that can be used as the unique
instance label for your environment. See
Mapping resource attributes
for additional information.
To troubleshoot this issue, investigate metric data points and their attributes
to determine what attributes the metric includes.
Add the debug exporter with detailed verbosity in the OpenTelemetry Collector
configuration exporters ConfigMap. Then, add the debug exporter to your metrics
pipeline. For example:
debug
exporter. When you review the resource attributes list, you can see the required
service.name is available, but service.instance.id is missing. The host.name
attribute is a unique attribute which can be used as the service.instance.id.
See
Mapping resource attributes
to learn how to add attribute mapping to copy the host.name attribute to
service.instance.id.
Errors claim that metrics don’t support exemplars
Versions of the Chronosphere Collector prior to v0.107.0 fail time-series validation with the error messagemetric name <YOUR_HISTOGRAM_NAME_COUNT> does not support exemplars
in the Collector logs when using Prometheus clients that support OpenMetrics 1.1.
The OpenMetrics 1.0 specification allowed exemplars only on histogram_bucket and
counter time series. The OpenMetrics 1.1 specification allows exemplars for all
time series.
New Prometheus client versions implementing this updated specification, such as
Prometheus Java Client v1.2.0,
support exemplars for all time series. This causes time-series validation errors
in earlier versions of the Chronosphere Collector.
Upgrade to Chronosphere Collector v0.107.0 or later before upgrading Prometheus
clients to versions that support exemplars for all time series.