/do-agent

Collects system metrics from DigitalOcean Droplets

Primary LanguageGoApache License 2.0Apache-2.0

DigitalOcean Agent

Build Status Go Report Card Coverage Status

Overview

do-agent enables droplet metrics to be gathered and sent to DigitalOcean to provide resource usage graphs and alerting.

DO Agent currently supports:

Not officially supported

  • CloudLinux 6+

Note:

Although, we only officially support these distros and versions, do-agent works on most Linux distributions. Feel free to run it wherever you are successful, but any issues you encounter will not have official support from DigitalOcean

Special Note For SELinux Users

The do-agent install script sets the nis_enabled flag to 1. Without this setting the do-agent cannot reach the network to perform authentication or send metrics to DigitalOcean backend servers. If you reverse this action, or install the do-agent on a machine manually you will need to run setsebool -P nis_enabled 1 && systemctl daemon-reexec otherwise the do-agent will not operate.

Installation

To install the do-agent on new Droplets simply select the Monitoring checkbox on the Droplet create screen to get the latest stable version of do-agent. Use your OS package manager (yum/dnf/apt-get) to update and manage do-agent.

Installing via package managers

curl -sSL https://repos.insights.digitalocean.com/install.sh | sudo bash
# or wget
wget -qO- https://repos.insights.digitalocean.com/install.sh | sudo bash

If you prefer to inspect the script first:

curl -L -o ./install.sh https://repos.insights.digitalocean.com/install.sh
# inspect the file
less ./install.sh
# execute the file
sudo ./install.sh

Development

Requirements

git clone git@github.com:digitalocean/do-agent.git
cd do-agent

### build the project
make

### add dependencies
# first make sure you have the appropriate flags set to use go modules
# We recommend using https://github.com/direnv/direnv to automatically set
# these from the .envrc file in this project or you can manually set them
export GO111MODULE=on GOFLAGS=-mod=vendor

# then add your imports to any go file and run
go mod vendor

Uninstall

do-agent can be uninstalled with your distribution's package manager

apt-get remove do-agent for Debian based distros

yum remove do-agent for RHEL based distros

Run as a Docker container

You can optionally run do-agent as a docker container. In order to do so you need to mount the host directory /proc to /host/proc.

For example:

docker run \
        -v /proc:/host/proc:ro \
        -v /sys:/host/sys:ro \
        digitalocean/do-agent:stable

Report an Issue

Feel free to open an issue if one does not already exist