System Monitoring

Real-time Docker container resource monitoring for the Arc database. Track CPU, memory, network, and disk I/O metrics collected every 10 seconds.

Monitoring: arc-demo Container

This dashboard monitors the Arc database container where all demo data is being ingested and queried. Performance spikes correlate with demo usage - data ingestion from vessel tracking, flight tracking, and weather monitoring, plus all queries from users viewing the demos.

Data Source
Docker API
Collection Interval
10 seconds
Storage
Arc Database
Format
MessagePack

Loading metrics data...

Implementation

This demo uses the Docker Engine API to collect real-time container metrics from the arc-demo container.

A Python script runs inside a Docker container with read-only access to /var/run/docker.sock, polling metrics every 10 seconds and ingesting them into Arc using MessagePack columnar format.

Metrics Collected

  • CPU Usage: Percentage utilization across all cores
  • Memory: Usage and limit in MB, percentage
  • Network I/O: Cumulative bytes received/transmitted
  • Disk I/O: Cumulative bytes read/written

Query the Data with SQL

All metrics are stored in Arc's system_monitoring.container_metrics table.

SELECT
  container_name,
  AVG(cpu_percent) as avg_cpu,
  AVG(memory_percent) as avg_memory,
  MAX(memory_usage_mb) as peak_memory_mb
FROM system_monitoring.container_metrics
WHERE time > NOW() - INTERVAL '1 hour'
  AND container_name = 'arc-demo'
GROUP BY container_name;