feat(voyage): add examples/observability/ Docker Compose stack — version-pinned per research/01
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.
This commit is contained in:
parent
a39f7ec2e2
commit
48543f63c2
5 changed files with 240 additions and 0 deletions
|
|
@ -0,0 +1,47 @@
|
|||
# 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue