diff --git a/devkit/README.md b/devkit/README.md index 20e6d3d587..a429254453 100644 --- a/devkit/README.md +++ b/devkit/README.md @@ -301,7 +301,7 @@ just chaos-reset Append feature names to `just start`. Multiple features can be combined. ```bash -just start 1 telemetry # Single node + OTel metrics +just start 1 telemetry # Single node + OTel metrics (OTLP + Prometheus) just start 3 tabletopic # 3-node + Iceberg table topic just start 5 zerozone analytics # 5-node + zone router + query engines ``` @@ -310,7 +310,7 @@ just start 5 zerozone analytics # 5-node + zone router + query engines |---------|----------------|----------------| | `tabletopic` | Iceberg table topic, REST catalog, schema registry | Schema Registry (:8081), Iceberg REST (:8181) | | `zerozone` | Zone router, auto AZ assignment (round-robin: az-0/1/2) | — (config only) | -| `telemetry` | OTel metrics export via OTLP HTTP — **edit `config/features/telemetry.properties` to set collector endpoint before use** | — (config only) | +| `telemetry` | OTel metrics export via OTLP HTTP plus in-container Prometheus scrape endpoint — **edit `config/features/telemetry.properties` to set collector endpoint before use** | — (config only) | | `analytics` | Spark + Trino for querying Iceberg tables | Spark (:8888), Trino (:8090) | ## Namespace (Multi-Instance Isolation) @@ -353,6 +353,11 @@ Other services: - Spark: http://localhost:8888 (with analytics) - Trino: http://localhost:8090 (with analytics) +With `telemetry` enabled: +- OTLP push target is configured in `config/features/telemetry.properties` +- Prometheus scrape endpoint listens inside each node container on `http://0.0.0.0:9090/metrics` +- Example: `docker compose -f devkit/docker-compose.yml exec node-0 curl -sf http://localhost:9090/metrics` + ## Configuration 5-layer system — later layers override earlier ones. Each layer is a template rendered via `envsubst` before Docker starts. Final merged config: `.devkit/config/node-N.properties`. diff --git a/devkit/config/features/telemetry.properties b/devkit/config/features/telemetry.properties index 7c83631b6c..6d2ddbe92c 100644 --- a/devkit/config/features/telemetry.properties +++ b/devkit/config/features/telemetry.properties @@ -1,7 +1,8 @@ # AutoMQ DevKit - Telemetry Feature # Layer 4: Enables OpenTelemetry metrics export # Change endpoint to your OTel Collector address before use +# Prometheus exporter listens on the node container's port 9090 -s3.telemetry.metrics.exporter.uri=otlp://?endpoint=http://host.docker.internal:4318&protocol=http +s3.telemetry.metrics.exporter.uri=otlp://?endpoint=http://host.docker.internal:4318&protocol=http,prometheus://?host=0.0.0.0&port=9090 s3.telemetry.metrics.level=INFO s3.telemetry.exporter.report.interval.ms=30000