Files
zeekay 087e487107 feat: rebrand signoz-otel-collector → Hanzo OTEL Collector
- Go module: github.com/SigNoz/signoz-otel-collector → github.com/hanzoai/otel-collector
- All signoz-prefixed packages → o11y-prefixed
- Docker: signoz/* → ghcr.io/hanzoai/otel-collector
- ClickHouse exporter → Hanzo Datastore
- Env vars: SIGNOZ_* → HANZO_*
- Directory renames for all processor/receiver/exporter packages
2026-03-12 00:21:24 -07:00

74 lines
2.2 KiB
YAML

# This example is practical application of a 3-pipeline configuration for
# writing to a remote prometheus-compatible write endpoint.
#
# The spanmetrics processor will output data on every span batch that is received,
# that could overwhelm the remote write endpoint.
#
# Therefore, a good pattern to follow is to ratelimit the metrics coming out of
# spanmetrics by adding a prometheus exporter (to expose these metrics as snapshots)
# and a prometheus receiver to scrape these snapshots at a controlled interval,
# passing these scraped metrics onto the prometheusremotewrite exporter.
#
# The added benefit of this pattern is that it provides a regular "heartbeat" of
# datapoints that prevents gaps in the timeseries.
receivers:
jaeger:
protocols:
thrift_http:
endpoint: "0.0.0.0:14278"
# Dummy receiver that's never used, because a pipeline is required to have one.
otlp/spanmetrics:
protocols:
grpc:
endpoint: "localhost:12345"
prometheus:
config:
scrape_configs:
- job_name: 'ratelimiter'
scrape_interval: 15s
static_configs:
- targets: [ "0.0.0.0:8889" ]
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
otlp:
endpoint: "localhost:4317"
tls:
insecure: true
prometheusremotewrite:
endpoint: "http://myremotewriteendpoint:1234"
headers:
Authorization: "Bearer mybearertoken"
processors:
batch:
o11yspanmetrics:
metrics_exporter: prometheus
service:
pipelines:
traces:
receivers: [jaeger]
# spanmetrics will pass on span data untouched to next processor
# while also accumulating metrics to be sent to the configured 'otlp/spanmetrics' exporter.
processors: [o11yspanmetrics, batch]
exporters: [otlp]
# This pipeline acts as a proxy to the 'metrics' pipeline below,
# allowing for further metrics processing if required.
metrics/spanmetrics:
# This receiver is just a dummy and never used.
# Added to pass validation requiring at least one receiver in a pipeline.
receivers: [otlp/spanmetrics]
exporters: [prometheus]
metrics:
receivers: [prometheus]
# The metrics_exporter must be present in this list.
exporters: [prometheusremotewrite]