哪吒监控 V0 Agent 手动部署教程:Linux 安装 v0.20.5 并配置 systemd 自启
购买新的 VPS 后,如果已有哪吒监控 V0 服务端,通常只需要在新服务器上部署 Agent,并将其连接到现有面板即可。
本文记录 Linux 环境下手动部署 哪吒监控 V0 Agent v0.20.5 的完整流程,包括下载程序、配置运行参数、使用 systemd 实现后台运行和开机自启,以及常用的状态检查与故障排查。
本文采用手动部署方式,不使用一键安装脚本,方便了解每个步骤的具体作用。
版本说明: 本文针对哪吒监控 V0 Agent v0.20.5。哪吒监控不同版本之间的配置方式可能存在差异,请勿直接将本文命令套用于新版 Agent。
一、准备工作
开始之前,请确认:
- 已经部署并正常运行哪吒监控 V0 服务端。
- 已获取服务端连接地址、端口和对应的密钥。
- 服务器能够访问 GitHub 下载地址。
- 当前使用的 Linux 系统支持
systemd,例如 Debian、Ubuntu 等常见发行版。
本文以 Linux x86_64(AMD64)架构为例。
可以先检查系统架构和 systemd:
uname -m
systemctl --version如果 uname -m 输出 x86_64,即可使用本文中的 linux_amd64 安装包。
二、下载并安装 Agent
1. 安装必要工具
Debian / Ubuntu 系统可以执行:
apt update
apt install -y wget unzip2. 下载指定版本
进入临时目录并下载 Agent v0.20.5:
cd /tmp
wget -O nezha-agent_linux_amd64.zip \
https://github.com/nezhahq/agent/releases/download/v0.20.5/nezha-agent_linux_amd64.zip这里固定使用 v0.20.5,便于复现原文中的部署环境。
生产环境中,建议使用经过确认的版本,不要在没有测试的情况下随意切换版本或启用自动更新。
3. 解压并检查文件
unzip nezha-agent_linux_amd64.zip检查解压后的文件:
ls -lh ./nezha-agent
file ./nezha-agent确认文件存在且架构正确后,将程序安装到统一的可执行文件目录:
install -m 755 ./nezha-agent /usr/local/bin/nezha-agent验证安装结果:
/usr/local/bin/nezha-agent --help如果能够正常显示帮助信息,说明程序基本可以运行。
三、配置 Agent 连接参数
哪吒监控 Agent 需要知道服务端地址、端口和认证密钥,才能将监控数据上报至面板。
本文使用以下示例变量:
| 参数 | 说明 |
|---|---|
SERVER_ADDR | 未经过 CDN 代理的面板服务端地址和端口 |
SECRET | 服务端对应的 Agent 连接密钥 |
请将示例值替换为你自己的真实配置。
1. 确认服务端连接地址
例如:
monitor.example.com:8008这里仅为格式示例。实际地址应使用服务端 Agent 监听的端口,并确认该端口可从客户端服务器直接访问。
如果面板域名使用 Cloudflare 等 CDN 或代理服务,需要根据哪吒 V0 的网络配置,确认 Agent 连接地址是否支持相应代理方式。原文采用的是未接入 CDN 的面板服务器地址。
2. 准备服务端密钥
请从现有哪吒监控 V0 服务端获取对应的 Agent 密钥。
密钥属于敏感配置,不要将真实密钥发布在博客、公开代码仓库或截图中。
四、使用 systemd 实现后台运行和开机自启
相比直接使用 nohup,使用 systemd 更适合长期运行的服务器程序,因为它可以统一管理服务状态、开机启动、日志和异常退出后的重启行为。
1. 创建环境配置文件
先创建配置文件:
vim /etc/default/nezha-agent填写以下内容,并替换成实际的服务端地址和密钥:
SERVER_ADDR="monitor.example.com:8008"
SECRET="替换为服务端的真实密钥"保存后限制文件权限:
chmod 600 /etc/default/nezha-agent这样可以避免普通用户直接读取配置文件中的密钥。不过,服务启动参数仍可能在进程信息中暴露密钥,因此应限制服务器上的普通账户权限,并避免在不可信环境中共享进程信息。
2. 创建 systemd 服务
执行:
vim /etc/systemd/system/nezha-agent.service写入以下内容:
[Unit]
Description=Nezha Agent V0
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
EnvironmentFile=/etc/default/nezha-agent
ExecStart=/usr/local/bin/nezha-agent --disable-auto-update --disable-command-execute -s ${SERVER_ADDR} -p ${SECRET}
Restart=on-failure
RestartSec=5
User=root
WorkingDirectory=/usr/local/bin
[Install]
WantedBy=multi-user.target参数说明:
--disable-auto-update:禁用 Agent 自动更新,便于固定版本并控制升级时机。--disable-command-execute:禁用通过面板执行命令的功能,减少远程命令执行带来的风险。-s:指定服务端连接地址和端口。-p:指定服务端密钥。Restart=on-failure:程序异常退出时自动尝试重启。RestartSec=5:重启前等待 5 秒。User=root:以 root 身份运行 Agent。
关于 root 权限: 本文沿用原始部署方式,以保证旧版本及相关功能的兼容性。但如果不需要特权操作,建议评估使用专用低权限用户运行。即使禁用了面板命令执行功能,也不应将 Agent 视为完全可信的程序。
另外,EnvironmentFile 的变量展开方式依赖 systemd 的支持情况。如果服务启动失败,应优先检查日志及当前 systemd 版本,并确认 ExecStart 中的变量能够正确解析。
3. 启动并设置开机自启
执行:
systemctl daemon-reload
systemctl enable --now nezha-agent这两条命令分别用于重新加载 systemd 服务配置,以及立即启动 Agent 并设置开机自启。
五、检查 Agent 是否正常运行
1. 查看服务状态
systemctl status nezha-agent --no-pager如果显示:
Active: active (running)说明服务进程当前正在运行。
但进程处于运行状态并不代表已经成功连接服务端,还需要结合日志和面板状态进行确认。
2. 查看运行日志
journalctl -u nezha-agent -n 100 --no-pager实时查看日志:
journalctl -u nezha-agent -f如果服务没有正常运行,可以重点检查:
- 服务端地址和端口是否正确。
- 服务端密钥是否填写正确。
- 网络、防火墙和安全组是否允许连接。
- 服务端是否正在运行并监听对应端口。
- Agent 版本和服务端版本是否兼容。
3. 确认开机自启状态
执行:
systemctl is-enabled nezha-agent如果返回:
enabled说明已设置开机自启。
最后,进入哪吒监控面板,确认新服务器已经上线,并且 CPU、内存、磁盘等监控数据能够正常更新。
六、常用服务管理命令
日常运维时,可以使用以下命令管理 Agent。
查看状态:
systemctl status nezha-agent启动服务:
systemctl start nezha-agent停止服务:
systemctl stop nezha-agent重启服务:
systemctl restart nezha-agent取消开机自启,但保留服务文件:
systemctl disable nezha-agent取消开机自启并立即停止:
systemctl disable --now nezha-agent修改服务配置后,需要重新加载:
systemctl daemon-reload
systemctl restart nezha-agent七、卸载 Agent
如果不再需要监控这台服务器,可以按以下步骤卸载。
1. 停止服务并取消开机自启
systemctl disable --now nezha-agent2. 删除 systemd 服务文件
rm -f /etc/systemd/system/nezha-agent.service
systemctl daemon-reload
systemctl reset-failed nezha-agent3. 删除程序和配置
rm -f /usr/local/bin/nezha-agent
rm -f /etc/default/nezha-agent注意:以上操作会删除本机的 Agent 程序及连接配置,不会自动删除服务端面板中已经存在的服务器记录。若希望清理面板中的记录,还需要在服务端单独处理。
八、补充:使用 nohup 临时运行
如果只是临时测试,也可以不创建 systemd 服务,而是使用 nohup 在后台运行:
nohup /usr/local/bin/nezha-agent \
--disable-auto-update \
--disable-command-execute \
-s "monitor.example.com:8008" \
-p "替换为服务端的真实密钥" \
>/dev/null 2>&1 &这种方式的不足是:
- 不会自动配置开机启动。
- 进程异常退出后不会自动重启。
- 缺少 systemd 统一管理的服务状态与日志机制。
因此,对于需要长期运行的 VPS,更推荐使用 systemd 管理 Agent。
九、总结
手动部署哪吒监控 V0 Agent v0.20.5 的核心流程如下:
- 下载并解压对应架构的 Agent 程序。
- 将程序安装到固定目录。
- 配置服务端连接地址和密钥。
- 创建 systemd 服务并设置开机自启。
- 检查服务状态、运行日志和面板在线状态。
对于长期运行的服务器,建议固定经过验证的版本、关闭不需要的远程命令执行功能,并在每次升级前做好测试和回滚准备。
完结,撒花。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭