Skip to content

Monitoring

Real-time infrastructure health and metrics powered by Prometheus.

Overview

Umoo's monitoring stack integrates with a Prometheus server to visualize:

  • Fleet-wide resource usage (CPU, memory, network)
  • Per-device telemetry (agent uptime, ping RTT, disk, goroutines)
  • Platform metrics (DB connections, ingress throughput)

Data is collected by the telemetry plugin running on each device and scraped by Prometheus.

Dashboards

Navigate to Monitor to see your monitoring dashboards.

New tenants get a default Fleet Overview dashboard with pre-built panels:

  • Total Devices / Online Devices — stat panels
  • Fleet Online Rate — gauge with color thresholds
  • Avg CPU Usage / Avg Memory Usage / Avg Disk Usage — time series panels

Custom Dashboards

You can create, edit, and delete dashboards directly in the UI:

  1. Click + Create Dashboard.
  2. Add rows and panels with PromQL queries.
  3. Available panel types: stat, gauge, timeseries, bar, table.
  4. Set time range and refresh interval.

A Template Gallery provides pre-built dashboard templates you can apply with one click.

Device Monitor Tab

Individual device telemetry is available in the device detail Monitor tab.

Panels are organized into rows:

Health Row

PanelMetric
Agent UptimeHow long the umoo-agent has been running
Ping RTTRound-trip time from backend to device

Resources Row

PanelMetric
CPU UsagePercentage across all cores
MemoryHeap memory usage (MB)
Disk UsageRoot filesystem usage percentage

Network Row

PanelMetric
Network RXBytes received per second
Network TXBytes transmitted per second

System Row

PanelMetric
Load Avg (1m)Linux load average
ProcessesNumber of running processes
Agent HeapGo heap allocation (MB)
Agent GoroutinesNumber of active goroutines

Telemetry Plugin Configuration

The telemetry plugin controls what metrics are collected and how often.

Configure it under Settings → Plugin Config (tenant-wide default) or per device group under Devices → Groups → [Group] → Plugins.

SettingDescription
Collection IntervalSeconds between metric collection cycles (default: 30)
Enabled MetricsSelect which categories to collect

Metric Categories

CategoryMetrics
cpuCPU usage percentage across all cores
memoryHeap memory usage in megabytes
diskDisk usage percentage of root filesystem
networkNetwork interface bytes received/transmitted
runtimeAgent uptime, goroutines, memory allocation, Go version

Disabling a category stops that data from being scraped and reduces agent resource usage.

Prometheus Integration

Umoo proxies Prometheus queries through /api/v1/metrics/. The monitoring UI uses this proxy — no direct Prometheus access is needed.

To configure the Prometheus URL, set it in the server configuration:

yaml
prometheus:
  url: http://prometheus:9090

Alerting

Alerts are managed separately via Alertmanager. See Alerts for details.

Umoo — IoT Device Management Platform