do-agent 项目介绍
项目概述
do-agent 是一个用于收集和发送虚拟机(Droplet)指标到 DigitalOcean 的工具。通过它,用户可以获得资源使用图表和警报功能。它支持多个 Linux 发行版,包括 Ubuntu、Debian、Fedora、CentOS,以及 Docker 环境。但需注意,CloudLinux 6+ 虽然可以运行 do-agent,但不在官方支持范围内。
适用环境
do-agent 兼容于以下操作系统:
- Ubuntu:支持最旧的 LTS 版本及其后续版本。
- Debian:同样支持最旧的 LTS 版本及其后续版本。
- Fedora:26 版本及以后。
- CentOS:6 版本及以后。
- Docker:可在 Docker 容器中运行(需特别配置,详见下文)。
即便其他 Linux 发行版未列在官方支持中,do-agent 也可能在其上正常运行。然而,如果在这些环境中遇到问题,DigitalOcean 将不提供官方支持。
附注:SELinux 用户
对于使用 SELinux 的用户,安装脚本会将 nis_enabled
标志设置为 1。这是因为 do-agent 需要通过网络进行身份验证和发送指标。如果反转此设置或手动安装 do-agent,则需要通过运行 setsebool -P nis_enabled 1 && systemctl daemon-reexec
以确保其正常工作。
安装方法
创建新 Droplets
要在新的 Droplets 上安装 do-agent,可以在创建时勾选监控功能,即可安装到最新的稳定版本。
通过包管理器安装
可以通过以下命令行指令快速安装:
curl -sSL https://repos.insights.digitalocean.com/install.sh | sudo bash
# 或者使用 wget
wget -qO- https://repos.insights.digitalocean.com/install.sh | sudo bash
如果想先检查脚本内容:
curl -L -o ./install.sh https://repos.insights.digitalocean.com/install.sh
# 检查文件内容
less ./install.sh
# 执行文件
sudo ./install.sh
开发与维护
必要条件
开发 do-agent 需要以下工具:
在开发过程中,使用 Git 克隆项目,并按照以下步骤进行构建:
git clone git@github.com:digitalocean/do-agent.git
cd do-agent
make
确保设置 go modules 的相关标志,推荐使用 direnv 自动配置:
export GO111MODULE=on GOFLAGS=-mod=vendor
再添加所需的依赖:
go mod vendor
卸载方法
可使用 Linux 发行版自带的包管理器卸载 do-agent。
- 对于 Debian 系统:
apt-get remove do-agent
- 对于 RHEL 系统:
yum remove do-agent
作为 Docker 容器运行
do-agent 还可以作为 Docker 容器运行。需注意的是,应将主机的 /proc
目录挂载到容器内的 /host/proc
路径。示例如下:
docker run \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
digitalocean/do-agent:stable
问题反馈
如果遇到问题,可以在 GitHub 仓库中提交新的问题报告,以便开发团队跟踪与解决。