Open
Description
Component(s)
exporter/sematext
Collector version
v0.124.1
What happened?
Description
The Sematext exporter can be started with no configuration, leading to errors when trying to send data, as it is not possible to send data without an app token and the region.
Steps to Reproduce
- Prepare configuration
service:
pipelines:
metrics:
receivers:
- hostmetrics
exporters:
- sematext
receivers:
hostmetrics:
scrapers:
load:
exporters:
sematext:
- Add Sematext exporter to the list of exporters in
cmd/otelcontribcol/builder-config.yaml
:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sematextexporter v0.124.1
- Build the collector binary
make install-tools && make genotelcontribcol && make otelcontribcol
- Run the built binary with the above config
bin/otelcontribcol_linux_amd64 --config config.yaml
Expected Result
Collector should fail to start, reporting that the region and metrics app token are required.
Actual Result
Collector starts successfully and reports errors when trying to send data:
$ bin/otelcontribcol_linux_amd64 --config config.yaml
2025-04-24T11:00:29.515+0200 info [email protected]/service.go:199 Setting up own telemetry...
2025-04-24T11:00:29.515+0200 info builders/builders.go:26 Development component. May change in the future. {"otelcol.component.id": "sematext", "otelcol.component.kind": "exporter", "otelcol.signal": "metrics"}
2025-04-24T11:00:29.516+0200 info [email protected]/service.go:266 Starting otelcontribcol... {"Version": "0.124.1-dev", "NumCPU": 20}
2025-04-24T11:00:29.517+0200 info extensions/extensions.go:41 Starting extensions...
2025-04-24T11:00:29.517+0200 info [email protected]/service.go:289 Everything is ready. Begin running and processing data.
2025-04-24T11:00:30.518+0200 error internal/queue_sender.go:57 Exporting failed. Dropping data. {"otelcol.component.id": "sematext", "otelcol.component.kind": "exporter", "otelcol.signal": "metrics", "error": "not retryable error: Permanent error: failed to convert OTLP metric to line protocol: failed to write point for gauge: Permanent error: failed to encode point: invalid tag value token=\"\"", "dropped_items": 3}
go.opentelemetry.io/collector/exporter/exporterhelper/internal.NewQueueSender.func1
go.opentelemetry.io/collector/[email protected]/exporterhelper/internal/queue_sender.go:57
go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch.(*disabledBatcher[...]).Consume
go.opentelemetry.io/collector/[email protected]/exporterhelper/internal/queuebatch/disabled_batcher.go:22
go.opentelemetry.io/collector/exporter/exporterhelper/internal/queuebatch.(*asyncQueue[...]).Start.func1
go.opentelemetry.io/collector/[email protected]/exporterhelper/internal/queuebatch/async_queue.go:47
Additional context
The properties region
, logs::app_token
, metrics::app_token
should be marked as required in the component's README, unless I'm missing something? Is any of them not required?