Skip to content

Verification

Validate that your LogSys deployment is working correctly.

Health Checks

API Health

curl http://localhost:8000/health
# Expected: {"status":"ok"}

Database Connectivity

curl http://localhost:8000/api/monitoring/health
# Expected:
# {
#   "postgres": {"status": "ok", "latency_ms": 1.2},
#   "redis": {"status": "ok", "latency_ms": 0.4}
# }

Kafka Topics

docker compose exec kafka-broker \
  kafka-topics.sh --bootstrap-server localhost:9092 --list

# Expected topics:
# raw_logs
# raw_metrics
# raw_traces
# raw_events
# canonical-events
# dlq

Collector Status

curl http://localhost:8000/api/monitoring/collectors
# Expected: JSON with status per collector (jira, prometheus, azuredevops, gitlab_webhook)

ML Service

curl http://localhost:8001/health
# Expected: {"status":"healthy","model_loaded":true,"model_version":"roberta_v1.1"}

Functional Verification

1. Send Test Event via Vector

curl -X POST http://localhost:8686 \
  -H "Content-Type: text/plain" \
  -d "ERROR: Connection timeout to database at 2026-01-15T10:30:00Z"

2. Verify Event in API

# Wait 2-3 seconds for processing
curl "http://localhost:8000/api/logs?limit=1&priority=P1"
# Should return the event with P1 priority

3. Check Dashboard

  1. Open http://localhost:5173
  2. Login (admin@alertops.com / Admin@2026!)
  3. Navigate to Monitoring page
  4. Verify the test event appears in the table

4. Test AI Insights

curl http://localhost:8000/api/ai-insights/engine
# Should return full insight snapshot with RCA, anomalies, recommendations

5. Verify Real-time Updates

  1. Open browser DevTools → Network → WS
  2. Connect to ws://localhost:8000/ws/kpis
  3. Send another test event
  4. Verify kpi:snapshot or events:new message received

Automated Verification Script

#!/bin/bash
# verify-deployment.sh

set -e

echo "🔍 Verifying LogSys deployment..."

checks=(
  "curl -sf http://localhost:8000/health | grep -q '\"status\":\"ok\"' && echo '✅ API health' || echo '❌ API health'"
  "curl -sf http://localhost:8000/api/monitoring/health | grep -q '\"status\":\"ok\"' && echo '✅ DB/Redis health' || echo '❌ DB/Redis health'"
  "curl -sf http://localhost:8001/health | grep -q '\"status\":\"healthy\"' && echo '✅ ML service' || echo '❌ ML service'"
  "docker compose ps --format 'table {{.Name}}\t{{.Status}}' | grep -q 'Up' && echo '✅ All containers running' || echo '❌ Containers not running'"
)

for check in "${checks[@]}"; do
  eval "$check"
done

echo ""
echo "📊 Sending test event..."
curl -sf -X POST http://localhost:8686 \
  -H "Content-Type: text/plain" \
  -d "ERROR: Test event for verification $(date)" > /dev/null

sleep 3

echo "🔍 Checking event processing..."
curl -sf "http://localhost:8000/api/logs?limit=1&search=verification" | grep -q "verification" \
  && echo "✅ Event processed and queryable" \
  || echo "❌ Event not found"

echo ""
echo "🎉 Verification complete!"

Troubleshooting Failed Checks

Check Failed Likely Cause Action
API health API not started docker compose logs api
DB/Redis health Postgres/Redis not ready Check healthchecks, wait longer
ML service Model not loaded docker compose logs ml-service
Containers not running Port conflicts, OOM docker compose ps -a, check logs
Event not processed Pipeline error docker compose logs consumer-pipeline
WebSocket fails Port 8000 conflict, proxy issue Check Nginx/Caddy config

Performance Baseline

After verification, run a quick load test:

# Send 1000 events at ~100/sec
python devtools/webhook_simulator.py --file ./sample-logs.txt --rate 100 --count 1000

# Monitor throughput
watch -n 2 'curl -s http://localhost:8000/api/kpis | jq ".events_per_second"'

Expected: > 1,500 events/sec sustained on modest hardware.