Monitoring & Logging
Eloquent provides structured logging, distributed tracing, and a built-in analytics dashboard for monitoring platform health and usage.
Structured Logging
All backend services use structured logging with consistent fields:
- Request ID — unique per request, set by the API Gateway and propagated across services
- Organization ID — identifies which org the request belongs to
- Service name — which service generated the log
- Timestamp — UTC time of the log entry
Viewing Logs
# All logs for a service
kubectl logs -n eloquent deployment/agents-service --tail=100
# Follow logs in real-time
kubectl logs -n eloquent deployment/agents-service -f
# Logs from all pods of a service
kubectl logs -n eloquent -l app=agents-service --tail=100
Health Checks
Every service exposes an HTTP health check endpoint. Kubernetes uses these for liveness and readiness probes.
# Check if a service is healthy
kubectl get pods -n eloquent -l app=agents-service
Pod statuses:
- Running — service is healthy
- CrashLoopBackOff — service is crashing repeatedly (check logs)
- Pending — waiting for resources (check node capacity)
Key Metrics to Monitor
Infrastructure Health
| Metric | How to Check | Warning Sign |
|---|---|---|
| Pod restarts | kubectl get pods -n eloquent | Count > 0 indicates crashes |
| Message queue health | Service logs | Connection failures |
| Redis memory | redis-cli info memory | Memory usage near limit |
| PostgreSQL connections | Service logs | Pool exhaustion errors |
| ClickHouse disk | kubectl exec into pod | Disk usage > 80% |
Application Health
| Metric | How to Check | Warning Sign |
|---|---|---|
| Chat sessions | Admin analytics dashboard | Unexpected drops |
| Job success rate | Scheduler service logs | High failure rate |
| Token consumption | Admin analytics dashboard | Unexpected spikes |
| API latency | Gateway logs / tracing | Response times > 5s |
Admin Analytics Dashboard
The Admin App includes a built-in analytics page showing platform-wide metrics:
Global KPIs
- Total organizations
- Total chats
- Total messages
- Total users
- Total tokens consumed
- Total cost
Per-Organization Breakdown
A table showing for each organization:
- Organization name
- Chat count
- Message count
- Token count
- Unique users
- Total cost (USD)
Use this dashboard for capacity planning, cost allocation, and identifying high-usage organizations.
Deployment Monitoring
# Check rollout status
kubectl rollout status deployment/agents-service -n eloquent
# View deployment history
kubectl rollout history deployment/agents-service -n eloquent
# Check all service statuses
kubectl get deployments -n eloquent
HyperDX — Built-in Observability
Eloquent ships with HyperDX pre-installed as part of the Helm deployment. HyperDX provides a unified observability dashboard for logs, traces, and metrics across all platform services — out of the box, with no additional setup.

Key capabilities:
- Log search — full-text search across all services with filters by severity, service, and organization
- Distributed tracing — end-to-end request traces from the API Gateway through backend services
- Metrics & dashboards — service latency, error rates, and throughput
- Alerts — configurable alerts on log patterns, error spikes, and latency thresholds
- Correlation — click from a log line to its full trace, or from a trace span to related logs
All services emit OpenTelemetry traces and structured logs to HyperDX automatically. No per-service configuration is required.