Monitoring

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.

Plans and Pricing

DigitalOcean Monitoring is provided at no additional cost.

Regional Availability

Monitoring is available in all regions. The DigitalOcean metrics agent must be installed on all participating Droplets.

Features

Additional Droplet Graphs

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.

Alert Policies

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.

Metrics Agent

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:

  • Ubuntu 14.04 and higher
  • CentOS 6 and higher
  • Debian 8 and higher
  • Fedora 27 and higher

There is also the option to run the agent as a Docker container.

What Can the Metrics Agent Access?

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.

How Does the Metrics Agent Send Metrics?

The DigitalOcean metrics agent uses ports 80 and 443 for outgoing data. Inbound access is not required. Since the metrrics 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.

Limits

  • You cannot revert to basic Droplet graphs after enabling the metics 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.