DigitalOcean Monitoring is a free, opt-in service that gathers and displays metrics about Droplet-level resource utilization. Monitoring supports configurable alert policies with integrated email and Slack notifications to help you track the operational health of your infrastructure.
Powered by our open-source agent, monitoring on DigitalOcean collects system-level metrics all in one place. View graphs, track performance, and set up alerts instantly within the control panel. Enable monitoring via the control panel or API for new and existing Droplets.
Droplet graphs are a visual representation of system-level metrics. They provide a high-level overview of resource usage to help you understand how your resource usage changes over time and how different resource levels correlate.
By default, Droplet graphs only display information about public and private bandwidth usage, CPU usage, and disk I/O. With DigitalOcean Monitoring, you gain access to additional metrics, including load average (1-, 5-, and 15-minute), memory usage, and disk usage.
Alert policies are user-created rules that define thresholds for resource consumption. When a usage exceeds the threshold, notifications are dispatched through email or Slack.
With DigitalOcean Monitoring, metrics-based alerting is enabled for total CPU usage, incoming bandwidth, outgoing bandwidth, disk read, disk write, memory usage, and disk usage. Alert notifications may be sent via email and/or Slack.
The DigitalOcean metrics agent is an open-source Go utility that forwards basic metrics about your Droplet to the DigitalOcean metrics backend. It currently supports the following operating system versions:
There is also the option to run the agent as a Docker container.
The metrics agent service runs as an unprivileged user with access to only three directories:
/proc
: Where the metrics agent collects data about the current state of the system/var/opt
: Where the metrics agent writes its authentication information/opt/digitalocean
: The binary’s home directoryThe metrics agent also reports the process names to the metrics endpoint, which DigitalOcean uses internally in aggregate to help guide product priorities. It does not report on environmental variables or process arguments to avoid exposing potentially sensitive information. However, you can still opt out of process name collection.
The DigitalOcean metrics agent uses ports 80 and 443 for outgoing data. Inbound access is not required. Since the metrics agent only uses the ports for outbound data, you can safely run a web server without interference.
Port 80 is used to contact the DigitalOcean metadata service to obtain an authentication token. The metrics agent uses this token to authenticate to the metrics backend and encrypt its transmissions.