Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions devkit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
Expand All @@ -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)
Expand Down Expand Up @@ -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`.
Expand Down
3 changes: 2 additions & 1 deletion devkit/config/features/telemetry.properties
Original file line number Diff line number Diff line change
@@ -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
Loading