DigitalOcean Monitoring is a free, opt-in service that gathers metrics about Droplet-level resource utilization. It provides additional Droplet graphs and supports configurable metrics alert policies with integrated email Slack notifications to help you track the operational health of your infrastructure.
DigitalOcean Monitoring is provided at no additional cost.
Monitoring is available in all regions. The DigitalOcean metrics agent must be installed on all participating Droplets.
Droplet graphs are a visual representation of system-level metrics to provide a high-level overview of resource usage. This can help you understand how your resource usage is changing 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.
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 directory
The 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.
You cannot revert to basic Droplet graphs after enabling the metrics agent.
You cannot add or change the alert email address for individual accounts.
Alerting is not yet available for load average.
Because the metrics agent focuses on system-level data, it is not suitable for application performance monitoring (APM) tasks like tracking application errors, website connections, or identifying application bottlenecks. These require a monitoring system with a different focus, which could be used in addition to DigitalOcean Monitoring.
The retention period for Droplet performance metrics has been decreased from 30 days to 14 days.
The installation repo for the metrics agent has been moved to DigitalOcean Spaces.
6-hour and 1-day alert policies for Droplets and Kubernetes worker nodes have been deprecated. No new alert policies with these intervals can be created. Existing alert policies using these intervals will remain in place until 1 August 2019, at which point they will be modified to reflect a 1-hour interval.
For more information, see all Monitoring release notes.