Monitoring Metrics

Validated on 7 Apr 2025 • Last edited on 24 Apr 2025

DigitalOcean Monitoring is a free, opt-in service that lets you track Droplet resource usage in real time, visualize performance metrics, and receive alerts via email or Slack to proactively manage your infrastructure’s health.

DigitalOcean Monitoring tracks your Droplet’s resource usage over time, including CPU, memory, and disk I/O, so you can understand performance trends and troubleshoot potential issues. You can view these metrics in real time or analyze historical data to identify patterns, spot bottlenecks, and improve overall reliability.

Monitoring works by installing the metrics agent on your Droplet. Once installed, the agent collects system metrics and sends them to the DigitalOcean Control Panel, where you can view the data in charts and set up alerts based on custom thresholds.

Load Average

Load average shows how many processes use or wait to use the CPU over time, but it does not consider how many vCPUs a Droplet has. For example, a load average of two on a single vCPU Droplet means one process uses the CPU and another waits, which shows the Droplet is over capacity. On a Droplet with four vCPUs, the same load means the system uses only half of its available CPU power.

The metrics agent reports 1, 5, and 15 minute load averages using data from /proc/loadavg, which tracks the number of processes that are either running or waiting for CPU time during those intervals.

Load averages graph

We recommend comparing the load average to the number of vCPUs to understand how efficiently your Droplet uses its CPU resources. If the load average is higher than the vCPU count for an extended period, the Droplet may not have enough resources for the workload. To monitor this, use the 15 minute load average metric to see if your Droplet consistently exceeds the number of vCPUs. Brief spikes in the one and five minute averages usually reflect short-term activity and aren’t a concern.

Memory Utilization

Memory utilization shows the percentage of physical memory in use. We calculate this using data from /proc/meminfo, which provides detailed information about total, free, and cached memory available on the system.

Memory utilization graph

We calculate used memory by subtracting both free and cached memory from the total. This is because Linux uses unused memory for disk caching to improve performance, but frees that memory when it’s needed by processes. Since cached memory is effectively available, we don’t count it as used. As a result, tools like htop and top may show higher usage because they include cached memory in their used memory calculations.

CPU Utilization

CPU utilization measures the percentage of total processing power the Droplet is using. Alert policies track total CPU usage without distinguishing between the system time (kernel-level instructions) and user time (everything outside the kernel).

CPU utilization graph

We represent total usage across all CPUs as 100%. However, some tools report 100% per CPU core, so a system with two cores may show 200%, and a system with four cores may show 400%.

Disk Utilization

Disk utilization shows the percentage of total disk space in use. This includes the Droplet’s root storage and any attached block storage devices. We combine all storage into a single value that reflects total usage.

Disk utilization graph

Alert policies also use this combined total when monitoring disk space.

Disk I/O

Disk I/O measures how much data the Droplet reads from and writes to its disks. High disk I/O can signal performance issues caused by intensive read or write operations.

Disk I/O graph

You can set alert policies to monitor read activity and get notified if usage exceeds your thresholds. You can also create alert policies to monitor write activity and detect potential spikes or bottlenecks.

Bandwidth

Bandwidth measures the amount of incoming and outgoing network traffic on a Droplet. High usage may indicate heavy network activity or unusual traffic patterns.

These graphs split bandwidth into public and private traffic. Public bandwidth measures traffic sent and received through the Droplet’s public network interface, while private bandwidth tracks traffic between your Droplets in the same datacenter. Each graph includes separate lines for inbound and outbound traffic.

Bandwidth graph

We can't find any results for your search.

Try using different keywords or simplifying your search terms.