Summary
Micromize has no observability features — no metrics endpoint, no health checks, no readiness/liveness probes.
What's Needed
1. Prometheus Metrics
Expose metrics at /metrics:
micromize_events_total{gadget, action} — Counter of events by gadget and action (blocked/audited)
micromize_gadgets_running — Gauge of currently running gadgets
micromize_gadget_errors_total{gadget} — Counter of gadget errors
micromize_uptime_seconds — Uptime gauge
2. Health Endpoint
Expose /healthz and /readyz endpoints:
- Healthy when all gadgets are loaded and running
- Unhealthy if a gadget fails
3. Kubernetes Probes
Add to the DaemonSet template:
livenessProbe:
httpGet:
path: /healthz
port: 8080
readinessProbe:
httpGet:
path: /readyz
port: 8080
Considerations
- The tool runs as a DaemonSet — metrics should be scrapable per-node
- Consider whether to use the Prometheus Go client library or a lightweight alternative
- Port should be configurable
Files
internal/runtime/manager.go
internal/gadget/registry.go
charts/micromize/templates/daemonset.yaml
Summary
Micromize has no observability features — no metrics endpoint, no health checks, no readiness/liveness probes.
What's Needed
1. Prometheus Metrics
Expose metrics at
/metrics:micromize_events_total{gadget, action}— Counter of events by gadget and action (blocked/audited)micromize_gadgets_running— Gauge of currently running gadgetsmicromize_gadget_errors_total{gadget}— Counter of gadget errorsmicromize_uptime_seconds— Uptime gauge2. Health Endpoint
Expose
/healthzand/readyzendpoints:3. Kubernetes Probes
Add to the DaemonSet template:
Considerations
Files
internal/runtime/manager.gointernal/gadget/registry.gocharts/micromize/templates/daemonset.yaml