Monitoring
Logging
Refer to the Logging section to configure Gate's logs.
Tracing
Refer to the Tracing section to configure distributed tracing with OpenTelemetry.
Observability events
Gate can ship a structured stream of boot / heartbeat / per-request events to the SlashID backend so the dashboard can show what a Gate is configured to do and how each request was handled.
Refer to the Observability events page for the event envelope, the three event kinds (GateServerStarted_v1, GateHeartbeat_v1, GateRequestHandled_v1), persistent instance identity, URL visibility, plugin decision telemetry, anonymizer credential findings, and OPA-specific knobs.
Health checks
ExtAuth mode
Gate implements the gRPC Health Checking Protocol v1. We also include grpc_health_probe in all our docker images.
Here's an example of a Docker Compose setup:
version: "3"
services:
gate:
image: slashid/gate-free:latest
ports:
- "8080:8080"
healthcheck:
test: ["CMD", "/usr/local/bin/grpc_health_probe", "-addr=:8080"]
interval: 5s
timeout: 10s
retries: 3
Here's an example of a Kubernetes v1.23+ setup using Kubernetes' built-in gRPC health checking capability:
apiVersion: v1
kind: Pod
metadata:
name: gate
spec:
containers:
- name: gate
image: slashid/gate-free:latest
ports:
- containerPort: 8080
livenessProbe:
grpc:
port: 8080
initialDelaySeconds: 5
Finally, an example of a Kubernetes setup using grpc_health_probe:
apiVersion: v1
kind: Pod
metadata:
name: gate
spec:
containers:
- name: gate
image: slashid/gate-free:latest
ports:
- containerPort: 8080
readinessProbe:
exec:
command: ["/usr/local/bin/grpc_health_probe", "-addr=:8080"]
initialDelaySeconds: 5
livenessProbe:
exec:
command: ["/usr/local/bin/grpc_health_probe", "-addr=:8080"]
initialDelaySeconds: 10