Monitoring

Monitor Outpost health and performance

Hinweis

This chapter covers the Docker path. On the Desktop app, you see health and connection status right in the UI — it monitors the tunnel and services for you.

Health check

The Outpost exposes a simple health endpoint:

# Check if the vault is running
curl http://localhost:8080/health/
# Response: {"status":"healthy"}
 
# Check the database (PostgreSQL/VectorChord)
docker compose exec database pg_isready -U datavault -d datavault
# Response: accepting connections

Basic monitoring

Daily health check

daily-check.sh
#!/bin/bash
echo "=== Data Vault Status - $(date) ==="
 
# Service status
docker compose ps
 
# Resource usage
docker stats --no-stream vault vault-worker database
 
# API health
if curl -s http://localhost:8080/health/ | grep -q "healthy"; then
    echo "✅ Data Vault: Healthy"
else
    echo "❌ Data Vault: Down"
fi
 
# Recent errors
docker compose logs --since 24h | grep -i error | tail -3

Built-in monitoring

The Outpost has optional built-in monitoring, controlled by these config settings:

Monitoring configuration
logging:
  # Heartbeat for uptime monitoring (requires an external service)
  heartbeat_url: $HEARTBEAT_URL          # Optional: Better Stack, etc.
  heartbeat_interval_minutes: 1
 
  # System monitoring (0 to disable)
  system_monitoring_interval: 60         # CPU/memory stats
  storage_monitoring_interval: 300       # Disk usage
  database_monitoring_interval: 60       # Database stats

System monitoring API

If enabled, you can query system stats:

# Get system usage (requires authentication)
curl -H "Authorization: Bearer $VAULT_SECRET" \
  http://localhost:8080/health/system
 
# Get rate limit status
curl -H "Authorization: Bearer $VAULT_SECRET" \
  http://localhost:8080/health/ratelimit

Log monitoring

Check logs

# Recent errors
docker compose logs | grep -i error | tail -10
 
# Ingestion issues
docker compose logs vault-worker | grep -i "ingestion\|processing"
 
# Database connectivity
docker compose logs vault | grep -i "database\|postgres"
 
# Tunnel sidecar status
docker compose logs piko

Log files

If configured with log_to_file: true:

# Application logs
tail -f logs/app.log
 
# Web server logs
tail -f logs/uvicorn.log

Performance monitoring

# Ingestion throughput
docker compose logs vault-worker | grep -i "ingestion.*finished"
 
# Resource usage trends
docker stats --no-stream
 
# Current ingestion status
docker compose logs vault-worker | grep -i "started\|finished" | tail -5

Troubleshooting

Service issues

# Restart services
docker compose restart
 
# Check health
docker compose ps
curl http://localhost:8080/health/
 
# View recent logs
docker compose logs --tail 50 vault

Connection issues

The Docker path connects to meinGPT via the bundled tunnel sidecar (the piko service). (The Desktop app uses the Go Bridge agent instead and surfaces this in its UI.)

# Check the tunnel sidecar
docker compose logs piko | tail -10
 
# Check outbound reachability of meinGPT
curl -I https://vault-proxy.meingpt.com
 
# Verify vault credentials
echo $VAULT_ID
echo $VAULT_SECRET

That's it: the Outpost provides simple health endpoints and optional system monitoring. Use Docker logs for troubleshooting.

Was this page helpful?