非阿里云ECS主机接入云监控2.0

更新时间:
复制为 MD 格式

当服务器是其他云服务器或自建服务器时(若服务器为阿里云ECS,但 ECS 不属于同一个阿里云账号也可视为自建服务器),通过本方案可以采集服务器和进程的监控指标到阿里云 Prometheus 服务。接入云监控 2.0 的 AI 诊断服务。

前提条件

  • 适用区域:杭州。

  • 适用于Linux 操作系统(支持 RHEL、CentOS、Debian、Ubuntu 等)。

  • 支持的系统架构:amd64 (x86_64)。

  • 操作人需具备 root 权限。

  • 支持 systemd 服务管理器。

  • 网络可访问公网(用于下载二进制文件)。

接入步骤

步骤一:LoongCollector安装

  1. 下载安装包:在服务器上执行下载命令,示例代码中${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;
  2. 选择传输方式并执行安装命令:替换${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
  3. 查看启动状态:执行命令,返回loongcollector is running表示启动成功。

    sudo /etc/init.d/loongcollectord status
  4. 配置用户ID:用户ID文件包含Project所属阿里云主账号的ID信息,用于标识该账号有权限访问、采集这台服务器的日志。

    1. 登录日志服务控制台,鼠标悬浮在右上角用户头像上,在弹出的标签页中查看并复制账号ID。注意需要复制主账号ID。

    2. 在安装了LoongCollector的服务器上,以主账号ID作为文件名,创建用户ID文件。

      touch /etc/ilogtail/users/{阿里云账号ID} # 如果/etc/ilogtail/users目录不存在,请手动创建目录。用户ID文件只需配置文件名,无需配置文件后缀。
  5. 配置机器组自定义标识:

    1. 在服务器上将自定义字符串user-defined-test-1写入用户自定义标识文件,该字符串将在步骤三:数据采集配置中使用。自定义标识的目的是在后面可以批量配置采集任务。我们建议如果希望全局统一监控,可以设置一个统一标识,如果希望按业务监控区分监控,标识可以设置为业务标记名称。

      #向指定文件写入自定义字符串,若目录不存在需手动创建。文件路径和名称由日志服务固定,不可自定义。
      echo "user-defined-test-1" > /etc/ilogtail/user_defined_id 

步骤二:Exporter 安装和卸载

  • 安装主机指标生成器 CMS NodeExporter 和进程指标生成器 CMS ProcessExporter。

    安装要求如下:

    1. 权限要求:脚本必须以 root 权限运行。

    2. 端口冲突:安装前会检查端口是否被占用,如果被占用会报错退出。

    3. 自动重启:服务配置了自动重启机制,如果进程异常退出会自动重启。

    4. 资源限制:服务默认限制 CPU 使用率为 30%,内存限制为 256M。

    5. 版本管理:不同版本会安装在不同的目录中,可以同时存在多个版本(但同一时间只能运行一个)。

    执行命令下载安装:

    # 安装
    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_VERSION

    NodeExporter 版本

    1.6.1

    PROCESS_EXPORTER_VERSION

    ProcessExporter 版本

    0.1

    NODE_LISTEN_PORT

    NodeExporter 监听端口

    19100

    PROCESS_LISTEN_PORT

    ProcessExporter 监听端口

    19256

    REGION_ID

    阿里云区域 ID

    cn-hangzhou

    NETWORK_TYPE

    网络类型(internal/public)

    public

    MEMORY_LIMIT

    服务内存限制

    256M

    GOMAXPROCS

    Go 程序最大 CPU 核心数

    1

    COLLECT_TEXTFILE_DIR

    Textfile 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

    指标生成器卸载

    卸载脚本会执行以下操作:

    1. 停止正在运行的服务。

    2. 禁用服务(取消开机自启)。

    3. 删除 systemd 服务文件。

    4. 重新加载 systemd daemon。

    5. 删除安装目录。

    6. 如果父目录为空,则删除父目录。

    # 卸载
    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-only
  • GPU 监控 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

步骤三:数据采集配置

  1. 登录云监控2.0控制台,进入或创建杭州区域的Workspace,单击导航栏的接入中心,选择主机监控(非 ECS 主机)

  2. 正常安装完 LoongCollector 的机器会生成对应的 infra.server 实体数据,在主机监控(非 ECS 主机)组件接入流程中,选择或创建完接入策略后,需要选择接入的实体范围,目前支持以下两种方式选择:

    • 通过标签进行服务发现。线下主机支持以下两类标签:

      • Key 为loongcollector_version,Value 为LoongCollector 的版本号,例如 3.2.6。

      • Key 为 user_defined_id, Value 为在机器上配置的自定义标识。

    • 直接选择目标机器,通过主机的 hostname 或 IP 地址进行查找并选择。

  3. 进行数据采集配置,根据页面引导的表单配置数据采集项。主机监控和进程监控默认开启。DCGM 监控默认关闭,可按需打开。采集端口默认与安装脚本一致,若修改了默认端口,请同步修改。

  4. 注入额外的指标标签,通过 KV 模式指定你需要固定写入指标的标签。

  5. 接入完成后由接入中心自动维护 LoongCollector 的机器组列表。

步骤四:数据查看

  1. 登录云监控2.0控制台,进入步骤三:数据采集配置中的 Workspace。

  2. 在导航栏的实体探索中,选择其他实体下的基础设施:主机,即可查询到已经接入当 Workspace 的主机。点击任意实体,通过主机关联的大盘查看数据。

  3. 接入中心接入管理中查询接入的策略信息,通过接入策略页面可以查询到关联的 Prometheus 数据源,直接点击进入 Prometheus APP 也可以直接查询指标数据。

故障排查

Exporter 安装端口被占用

如果安装时提示端口被占用:

  1. 检查占用端口的进程:

    lsof -i :19100
    lsof -i :19256
  2. 使用不同的端口:

    NODE_LISTEN_PORT=19101 sudo ./install.sh

Exporter 安装下载失败

如果下载失败:

  1. 检查网络连接。

  2. 确认区域 ID 是否正确。

  3. 尝试切换网络类型(internal/public)。

  4. 检查防火墙设置。

Exporter 服务启动失败

如果服务启动失败,可以:

  1. 查看服务日志:

    journalctl -u cms-node-exporter -n 50
    journalctl -u cms-process-exporter -n 50
  2. 检查二进制文件权限:

    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
  3. 手动测试运行:

    /usr/share/cms-integration/addons/cms-node-exporter/*/bin/node_exporter --version
    /usr/share/cms-integration/addons/cms-process-exporter/*/bin/process-exporter --version