Monitoring ๐ŸŸก PREVIEW - System Health

Real-time system observability

Monitoring Dashboard Screen

Overview

Monitoring is the system health dashboard in General Bots Suite. Track CPU, RAM, disk, and network usage in real time. Monitor service status across BotServer, PostgreSQL, Valkey, MinIO, and all other components. Investigate logs, configure alerts, and ensure your infrastructure remains healthy.


Features

Dashboard

MetricDescription
CPU UsageReal-time processor utilization
RAM UsageMemory consumption and availability
Disk UsageStorage capacity and I/O
NetworkBandwidth and connection stats
UptimeSystem availability percentage

Services

ServiceStatus Indicators
BotServerRunning, stopped, degraded
PostgreSQLConnection pool, query latency
ValkeyMemory, hit rate, connections
MinIOStorage, request throughput
QdrantVector operations, indexing
ZitadelAuthentication, session count

Metrics

ChartTimeframe
CPU HistoryLast 1h, 6h, 24h, 7d
Memory TrendsAllocation, garbage collection
Request RateRequests per second
Error Rate4xx and 5xx responses
LatencyP50, P95, P99 response times

Logs

FilterDescription
ComponentFilter by service name
LevelERROR, WARN, INFO, DEBUG
Time RangeLast 5m, 15m, 1h, 24h
SearchFull-text search across logs
ExportDownload filtered logs as JSON

Alerts

AlertThresholdSeverity
High CPU> 80% for 5 minWarning
Critical CPU> 95% for 2 minCritical
Low Disk< 20% freeWarning
Memory Pressure> 90% usedWarning
Service DownStatus != runningCritical

Keyboard Shortcuts

ShortcutAction
RRefresh all metrics
G then DGo to Dashboard
G then SGo to Services
G then LGo to Logs
G then AGo to Alerts
FToggle fullscreen chart
EscapeClose modal

Monitoring via Chat

Checking System Health

Reviewing Logs

Checking a Specific Service


API Endpoints

EndpointMethodDescription
/api/monitoring/healthGETOverall system health
/api/monitoring/metricsGETCurrent system metrics
/api/monitoring/metrics/:serviceGETService-specific metrics
/api/monitoring/logsGETSearch and filter logs
/api/monitoring/servicesGETList all services and status
/api/monitoring/services/:nameGETDetailed service status
/api/monitoring/alertsGETActive alerts
/api/monitoring/alertsPOSTCreate alert rule
/api/monitoring/alerts/:idDELETERemove alert rule

Health Response

{
    "status": "healthy",
    "uptime_seconds": 1209600,
    "cpu_percent": 42.5,
    "memory_percent": 68.2,
    "disk_percent": 55.1,
    "services": {
        "botserver": { "status": "running", "pid": 1234 },
        "postgresql": { "status": "running", "connections": 12 },
        "valkey": { "status": "running", "memory_used_mb": 256 },
        "minio": { "status": "running", "storage_gb": 12.4 }
    }
}

Logs Query

{
    "component": "botserver",
    "level": "ERROR",
    "since": "2025-05-15T10:00:00Z",
    "limit": 50,
    "search": "connection"
}

Configuration

Monitoring thresholds can be configured in config.csv:

key,value
metrics-retention,30d
log-retention,7d
alert-cpu-warning,80
alert-cpu-critical,95
alert-disk-warning,20
alert-memory-warning,90

Troubleshooting

Metrics Not Updating

  1. Check Valkey connectivity (metrics are cached)
  2. Verify the monitoring service is running
  3. Check for clock drift between services
  4. Refresh the dashboard manually with R

Logs Missing

  1. Verify log retention policy hasnโ€™t expired entries
  2. Check disk space for log storage
  3. Ensure log level is set appropriately
  4. Check component is writing to expected log path

Alerts Not Firing

  1. Verify alert thresholds are configured
  2. Check notification channels are active
  3. Ensure the alert service is running
  4. Review alert history for suppressed notifications

See Also