当服务器是其他云服务器或自建服务器时(若服务器为阿里云ECS,但 ECS 不属于同一个阿里云账号也可视为自建服务器),通过本方案可以采集服务器和进程的监控指标到阿里云 Prometheus 服务。接入云监控 2.0 的 AI 诊断服务。
前提条件
适用区域:杭州。
适用于Linux 操作系统(支持 RHEL、CentOS、Debian、Ubuntu 等)。
支持的系统架构:amd64 (x86_64)。
操作人需具备 root 权限。
支持 systemd 服务管理器。
网络可访问公网(用于下载二进制文件)。
接入步骤
步骤一:LoongCollector安装
下载安装包:在服务器上执行下载命令,示例代码中
${region_id}可使用cn-hangzhou替换,若想加快安装包下载速度,请参考地域替换${region_id}为ECS所属地域。wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;选择传输方式并执行安装命令:替换
${region_id}为Project所属地域的地域。公网:适用于大多数场景,常见于跨地域或其他云/自建服务器,但受带宽限制且可能不稳定。对于主机监控需求,版本需要≥3.2.6。
chmod +x loongcollector.sh; ./loongcollector.sh install ${region_id}-internet -v "3.3.0"传输加速:用于跨地域(如中国内地到海外),通过CDN加速提升性能,避免公网延迟高,传输不稳定问题,但流量需额外计费。
需要先打开Project的日志跨域传输加速功能,再执行安装命令。
chmod +x loongcollector.sh; ./loongcollector.sh install ${region_id}-acceleration
查看启动状态:执行命令,返回
loongcollector is running表示启动成功。sudo /etc/init.d/loongcollectord status配置用户ID:用户ID文件包含Project所属阿里云主账号的ID信息,用于标识该账号有权限访问、采集这台服务器的日志。
登录日志服务控制台,鼠标悬浮在右上角用户头像上,在弹出的标签页中查看并复制账号ID。注意需要复制主账号ID。
在安装了LoongCollector的服务器上,以主账号ID作为文件名,创建用户ID文件。
touch /etc/ilogtail/users/{阿里云账号ID} # 如果/etc/ilogtail/users目录不存在,请手动创建目录。用户ID文件只需配置文件名,无需配置文件后缀。
配置机器组自定义标识:
在服务器上将自定义字符串
user-defined-test-1写入用户自定义标识文件,该字符串将在步骤三:数据采集配置中使用。自定义标识的目的是在后面可以批量配置采集任务。我们建议如果希望全局统一监控,可以设置一个统一标识,如果希望按业务监控区分监控,标识可以设置为业务标记名称。#向指定文件写入自定义字符串,若目录不存在需手动创建。文件路径和名称由日志服务固定,不可自定义。 echo "user-defined-test-1" > /etc/ilogtail/user_defined_id
步骤二:Exporter 安装和卸载
安装主机指标生成器 CMS NodeExporter 和进程指标生成器 CMS ProcessExporter。
安装要求如下:
权限要求:脚本必须以 root 权限运行。
端口冲突:安装前会检查端口是否被占用,如果被占用会报错退出。
自动重启:服务配置了自动重启机制,如果进程异常退出会自动重启。
资源限制:服务默认限制 CPU 使用率为 30%,内存限制为 256M。
版本管理:不同版本会安装在不同的目录中,可以同时存在多个版本(但同一时间只能运行一个)。
执行命令下载安装:
# 安装 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/install.sh -o /tmp/install.sh && sudo bash /tmp/install.sh如果无法使用
sudo bash ...(如提示user admin is not allowed to execute '/usr/bin/bash' as root),请联系管理员开通权限,或切换到 root 用户后直接执行:# 公网安装 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/install-0.0.6.sh -o /tmp/install.sh && bash /tmp/install.sh # 阿里云内网安装 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/exporter/install.sh -o /tmp/install.sh && bash /tmp/install.sh --internal # 卸载 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/uninstall-0.0.6.sh -o /tmp/uninstall.sh && bash /tmp/uninstall.sh安装脚本可选进程参数说明
参数
类型
作用
--node-exporter-only
bool
主机指标生成器 CMS NodeExporter
--process-exporter-only
bool
进程指标生成器 CMS ProcessExporter
--dcgm-exporter-only
bool
GPU 指标生成器 CMS DcgmExporter
--public
bool
是否使用公网(默认)
--internal
bool
是否使用内网
环境变量配置
可以通过环境变量自定义安装参数:
环境变量
说明
默认值
NODE_EXPORTER_VERSIONNodeExporter 版本
1.6.1PROCESS_EXPORTER_VERSIONProcessExporter 版本
0.1NODE_LISTEN_PORTNodeExporter 监听端口
19100PROCESS_LISTEN_PORTProcessExporter 监听端口
19256REGION_ID阿里云区域 ID
cn-hangzhouNETWORK_TYPE网络类型(internal/public)
publicMEMORY_LIMIT服务内存限制
256MGOMAXPROCSGo 程序最大 CPU 核心数
1COLLECT_TEXTFILE_DIRTextfile collector 目录(可选)
-
安装文件路径
NodeExporter:
/usr/share/cms-integration/addons/cms-node-exporter/{version}/。ProcessExporter:
/usr/share/cms-integration/addons/cms-process-exporter/{version}/。服务文件:
/etc/systemd/system/cms-node-exporter.service和/etc/systemd/system/cms-process-exporter.service。
验证安装
安装成功后,可以通过以下方式验证:
# 检查服务状态 systemctl is-active cms-node-exporter systemctl is-active cms-process-exporter # 检查端口监听 ss -tlnp | grep 19100 # NodeExporter ss -tlnp | grep 19256 # ProcessExporter # 访问 metrics 端点 curl http://localhost:19100/metrics # NodeExporter curl http://localhost:19256/metrics # ProcessExporter服务管理
安装完成后,服务会自动启动并设置为开机自启。可以使用以下命令管理服务:
# 查看服务状态 systemctl status cms-node-exporter systemctl status cms-process-exporter # 启动服务 systemctl start cms-node-exporter systemctl start cms-process-exporter # 停止服务 systemctl stop cms-node-exporter systemctl stop cms-process-exporter # 重启服务 systemctl restart cms-node-exporter systemctl restart cms-process-exporter # 查看服务日志 journalctl -u cms-node-exporter -f journalctl -u cms-process-exporter -f指标生成器卸载
卸载脚本会执行以下操作:
停止正在运行的服务。
禁用服务(取消开机自启)。
删除 systemd 服务文件。
重新加载 systemd daemon。
删除安装目录。
如果父目录为空,则删除父目录。
# 卸载 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/uninstall.sh -o uninstall.sh # 卸载所有 exporter sudo ./uninstall.sh # 仅卸载 NodeExporter sudo ./uninstall.sh --node-exporter-only # 卸载指定版本 NODE_EXPORTER_VERSION=1.6.1 sudo ./uninstall.sh --node-exporter-onlyGPU 监控 DCGM Exporter
使用与主机监控一致的安装脚本,通过指定参数安装 DCGM Exporter。需要满足以下条件:
仅支持 Linux amd64 主机。
仅支持 NVIDIA GPU 卡,需要先安装驱动程序。
# 公网安装 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/install-0.0.6.sh -o /tmp/install.sh && bash /tmp/install.sh --dcgm-exporter-only # 阿里云内网安装 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/exporter/install-0.0.6.sh -o /tmp/install.sh && bash /tmp/install.sh --internal --dcgm-exporter-only # 卸载 curl -sSL https://cms-agent-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/exporter/uninstall-0.0.6.sh -o /tmp/uninstall.sh && bash /tmp/uninstall.sh --dcgm-exporter-only
步骤三:数据采集配置
登录云监控2.0控制台,进入或创建杭州区域的Workspace,单击导航栏的接入中心,选择主机监控(非 ECS 主机)。
正常安装完 LoongCollector 的机器会生成对应的 infra.server 实体数据,在主机监控(非 ECS 主机)组件接入流程中,选择或创建完接入策略后,需要选择接入的实体范围,目前支持以下两种方式选择:
通过标签进行服务发现。线下主机支持以下两类标签:
Key 为
loongcollector_version,Value 为LoongCollector 的版本号,例如 3.2.6。Key 为
user_defined_id, Value 为在机器上配置的自定义标识。
直接选择目标机器,通过主机的 hostname 或 IP 地址进行查找并选择。
进行数据采集配置,根据页面引导的表单配置数据采集项。主机监控和进程监控默认开启。DCGM 监控默认关闭,可按需打开。采集端口默认与安装脚本一致,若修改了默认端口,请同步修改。
注入额外的指标标签,通过 KV 模式指定你需要固定写入指标的标签。
接入完成后由接入中心自动维护 LoongCollector 的机器组列表。
步骤四:数据查看
登录云监控2.0控制台,进入步骤三:数据采集配置中的 Workspace。
在导航栏的实体探索中,选择其他实体下的基础设施:主机,即可查询到已经接入当 Workspace 的主机。点击任意实体,通过主机关联的大盘查看数据。
在接入中心的接入管理中查询接入的策略信息,通过接入策略页面可以查询到关联的 Prometheus 数据源,直接点击进入 Prometheus APP 也可以直接查询指标数据。
故障排查
Exporter 安装端口被占用
如果安装时提示端口被占用:
检查占用端口的进程:
lsof -i :19100 lsof -i :19256使用不同的端口:
NODE_LISTEN_PORT=19101 sudo ./install.sh
Exporter 安装下载失败
如果下载失败:
检查网络连接。
确认区域 ID 是否正确。
尝试切换网络类型(internal/public)。
检查防火墙设置。
Exporter 服务启动失败
如果服务启动失败,可以:
查看服务日志:
journalctl -u cms-node-exporter -n 50 journalctl -u cms-process-exporter -n 50检查二进制文件权限:
ls -l /usr/share/cms-integration/addons/cms-node-exporter/*/bin/node_exporter ls -l /usr/share/cms-integration/addons/cms-process-exporter/*/bin/process-exporter手动测试运行:
/usr/share/cms-integration/addons/cms-node-exporter/*/bin/node_exporter --version /usr/share/cms-integration/addons/cms-process-exporter/*/bin/process-exporter --version