Step 14 of v4.1 — local-development observability stack with version-pinned container images: - prom/prometheus:v3.0.1 - prom/node-exporter:v1.10.2 (textfile collector enabled) - grafana/grafana:11.4.0 - otel/opentelemetry-collector-contrib:0.115.0 Two complementary export paths from voyage hooks/scripts/otel-export.mjs: - VOYAGE_EXPORT_MODE=textfile → node-exporter textfile collector - VOYAGE_EXPORT_MODE=otlp → otel-collector OTLP/HTTP receiver (:4318) Both feed Prometheus → Grafana. Files: examples/observability/docker-compose.yml examples/observability/otel-collector-config.yaml examples/observability/prometheus.yml examples/observability/grafana-datasource.yml examples/observability/README.md Verified manifest expected_paths (5 files). docker compose config validation runs in Step 16 with proper skip-pattern when docker is unavailable.
47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
# OpenTelemetry Collector config for voyage v4.1
|
|
# Receives OTLP/HTTP push from hooks/scripts/otel-export.mjs (port 4318)
|
|
# and exposes a Prometheus scrape endpoint at :8889 for the Prometheus
|
|
# container to pull voyage metrics.
|
|
|
|
receivers:
|
|
otlp:
|
|
protocols:
|
|
http:
|
|
endpoint: 0.0.0.0:4318
|
|
grpc:
|
|
endpoint: 0.0.0.0:4317
|
|
|
|
processors:
|
|
batch:
|
|
send_batch_size: 1024
|
|
timeout: 5s
|
|
# Conservative resource attribute limits — voyage emits small payloads but
|
|
# we cap to prevent runaway label-cardinality blowing up Prometheus.
|
|
memory_limiter:
|
|
check_interval: 5s
|
|
limit_mib: 256
|
|
spike_limit_mib: 64
|
|
|
|
exporters:
|
|
prometheus:
|
|
endpoint: 0.0.0.0:8889
|
|
namespace: voyage
|
|
send_timestamps: true
|
|
metric_expiration: 5m
|
|
enable_open_metrics: true
|
|
# Debug exporter — echoes every received metric to stderr. Useful for
|
|
# local development; comment out in production to reduce log volume.
|
|
debug:
|
|
verbosity: detailed
|
|
sampling_initial: 5
|
|
sampling_thereafter: 200
|
|
|
|
service:
|
|
pipelines:
|
|
metrics:
|
|
receivers: [otlp]
|
|
processors: [memory_limiter, batch]
|
|
exporters: [prometheus, debug]
|
|
telemetry:
|
|
logs:
|
|
level: info
|