The Vector Observability API
Vector ships with a gRPC API that allows you to interact with a running Vector instance. This page covers how to configure and enable Vector’s API.
Configuration
api
optional objectAPI options.
Warning
The API currently does not support authentication. Only enable it in isolated environments or for debugging. It must not be exposed to untrusted clients.
api.address
common optional stringThe network address to which the API should bind. If you’re running
Vector in a Docker container, bind to
0.0.0.0. Otherwise
the API will not be exposed outside the container.default:
127.0.0.1:8686Endpoints
GET /health
HTTP healthcheck endpoint served on the same port as the
gRPC API, preserved for compatibility with Vector 0.54.0
and earlier so existing HTTP probes (for example AWS ALB
and Kubernetes HTTP probes) keep working unchanged.
The response body is
{"ok": true} while Vector is
serving and {"ok": false} once Vector begins draining.Responses
Code
Description
200
Vector is initialized and running.
503
Vector is draining or shutting down and should be removed from the load balancer.
HEAD /health
Same semantics as
GET /health but returns no body.
Intended for load balancer probes that prefer HEAD.Responses
Code
Description
200
Vector is initialized and running.
503
Vector is draining or shutting down and should be removed from the load balancer.
How it works
The API exposes a gRPC service defined in proto/vector/observability.proto.
You can interact with it using any standard gRPC tooling.
For compatibility with Vector 0.54.0 and earlier, the HTTP GET /health
endpoint continues to be served on the same port as the gRPC API, so
existing HTTP probes (for example AWS ALB health checks and Kubernetes
HTTP liveness/readiness probes) keep working without changes. See the
Endpoints section above for details.
Example using grpcurl
# Check health (standard gRPC health check, compatible with Kubernetes gRPC probes)
grpcurl -plaintext localhost:8686 grpc.health.v1.Health/Check
# List components
grpcurl -plaintext localhost:8686 vector.observability.v1.ObservabilityService/GetComponents
# Stream events (tap)
grpcurl -plaintext \
-d '{"outputs_patterns": ["*"], "limit": 100, "interval_ms": 500}' \
localhost:8686 vector.observability.v1.ObservabilityService/StreamOutputEvents
Example using curl (HTTP health)
# 200 with body {"ok":true} while serving, 503 {"ok":false} during drain
curl -i http://localhost:8686/health