You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
资源与业务监控
使用 node-exporter 监控 ECS 实例
复制全文
下载 pdf
使用 node-exporter 监控 ECS 实例
托管 Prometheus 服务支持监控云服务器(ECS)实例,获取云服务器的指标信息。本文为您介绍如何基于 node-exporter 实现云服务器(ECS)实例监控。
背景信息
node-exporter 是 Prometheus 开源生态中的重要组件,它能够对 Linux 服务器硬件和操作系统的指标进行收集,包括:CPU、内存、磁盘、网络、文件系统等。它以 HTTP 服务的形式对外提供这些指标数据,方便 Prometheus 进行抓取,进而实现对 Linux 服务器运行状态的监控。
node-exporter 与其他监控工具相比,包含以下主要优势:
  • 深度融入 Prometheus 生态:作为 Prometheus 官方组件,能与 Alertmanager、Grafana 等无缝协作,形成完整监控闭环。
  • 轻量高效:采用 Go 语言开发,资源占用低,对被监控节点性能影响小,适合大规模集群部署。
  • 指标采集全面且灵活:默认覆盖系统底层指标,还支持通过自定义脚本或拓展组件(如文本文件收集器)添加个性化指标,适配不同监控场景。
  • 社区活跃与生态丰富:依托 Prometheus 庞大社区,更新维护及时,且在云原生环境(如 Kubernetes)中支持节点自动发现,适配容器化部署趋势。
前提条件
  • 托管 Prometheus 和云服务器,必须在相同地域。
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
操作步骤
步骤一:配置安全组
  1. 在左侧导航栏中选择 安全组
  1. 在安全组列表中,单击 创建安全组,配置托管采集器使用的安全组。该安全组会在配置集成任务时,绑定在托管采集器的 Pod 网卡上,允许托管采集器访问指定的目标 IP 网段和端口。
  • 私有网络 下拉菜单中,选择用户的 VPC。
  • 访问规则 中,选择 出方向,单击 添加规则,配置托管采集器的安全规则。其中,目的 IP 地址为采集目标所在的网段,例如172.16.0.0/12,端口号为 TCP 协议9100端口。
  • alt
  1. 配置 ECS 实例使用的安全组,本文以 Default 安全组为例。在 入方向规则中,添加规则,放通指标采集端口。其中,源地址为上文中配置的采集器的安全组,端口为 TCP9100端口。
  • alt
说明
您也可以创建一个新的安全组,并将托管采集器和 ECS 实例均加入到该安全组。此时,无需配置新的访问规则,新创建安全组中的默认的出规则和入规则,即可实现托管采集器和 ECS 实例之间的互访。
步骤二:在 ECS 实例中部署 node-exporter
  1. 在左侧菜单栏中选择 实例与镜像 > 实例,进入目标云服务器的控制台。
  • alt
  1. 执行以下命令,下载 node-exporter 并解压。
wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz && tar -xvf node_exporter-1.5.0.linux-amd64.tar.gz
alt
说明
如果您无法在 ECS 云服务器中下载 exporter,可以尝试在本地主机中下载并上传至 ECS 云服务器。详情请参见 本地 Linux 或 macOS 系统通过 SCP 上传文件到 Linux 云服务器
  1. 进入解压后的文件夹,执行以下命令,启动 node-exporter。
nohup ./node_exporter &
  1. 执行以下命令,查看 node-exporter 暴露的指标,确认其是否工作正常。
curl http://127.0.0.1:9100/metrics
预期返回结果如下,够获看到采集到的指标。
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 7
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.19.3"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 2.626832e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 2.626832e+06
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.447059e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 2055
......
步骤三:配置接入任务
  1. 登录 VMP 服务控制台
  1. 在顶部导航栏,选择目标地域。
  1. 在左侧导航栏中选择 接入中心 > 组件。
  1. 单击 云服务器,配置云服务器接入任务。
  1. (可选)服务授权。
  1. 当第一次配置 ECS 集成任务时,需要对 VMP 服务面向 ECS 服务和 VPC 服务进行跨服务访问授权。单击 去授权,配置服务授权。
  • alt
  1. 单击 立刻授权,为 VMP 跨服务访问请求进行授权。
  • alt
  1. 配置集成任务的详情。
  • alt
  • 配置项
    说明
    任务名称
    配置集成任务的名称。支持中文、英文大小写、数字和下划线_,取值范围为 1~40 个字符。
    工作区
    选择已创建的托管 Prometheus 工作区。
    ECS VPC
    选择 ECS 实例所在的 VPC。
    安全组
    选择托管采集器使用的安全组,允许托管采集器访问用户 VPC 中的资源。支持多选。
    注意
    为确保托管采集器能够正确采集到 ECS 中的指标,请将目标网段、端口添加到所选的安全组出访问规则中。
    子网
    选择进行服务发现的 VPC 子网。系统会在选择的子网下进行 ECS 服务发现,监控所有符合要求的 ECS 实例。支持多选。
  1. Job 配置,指定采集间隔、服务发现的端口号等。
global:
scrape_interval: 15s
scrape_timeout: 10s
scrape_configs:
- job_name: ecs
scheme: http
metrics_path: /metrics
volc_sd_configs:
- port: 9100
说明
  • Job 配置修改并下发后,约 1 分钟后才会生效,请您耐心等待。
  1. 单击 确认,完成配置。
查看结果
配置完成后,您可以查看任务状态和任务详情。确定目标 ECS 实例是否正确接入 Promethues 服务。
  1. 单击左侧导航栏的 集成中心,并选择 集成任务 页签。
  1. 在任务列表中,选择目标任务,在 操作 栏中单击 目标列表,即可查看系统自动发现,并已正确接入托管 Prometheus 的 ECS 实例。
alt
查看信息
指标
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询
alt
说明
RabbitMQ 的常见指标,请参见 官方文档
大盘
您可以自建 Grafana,并通过 Grafana 查看 ECS 实例的指标和创建大盘。包括:
告警
您可以在托管 Prometheus 的告警中心配置 ECS 实例的相关告警。详情请参见 创建告警规则
常见问题
如何查看云服务器的 9100 端口是否被占用
您可以在云服务器实例的控制台中,执行以下命令,检查接口是否被占用。
ss -naltp | grep 9100
返回如下信息时,表示 9100 端口已经被占用。
LISTEN 0 128 [::]:9100 [::]:* users:(("node_exporter",pid=1654,fd=3))
如何修改 node-exporter 的缺省端口
node-exporter 缺省使用 9100 端口对外暴露指标,当云服务器中的 9100 端口被占用时,您可以在启动 node-exporter 时,通过--web.listen-address参数,修改 node-exporter 的指标暴露端口。例如修改为 9200 端口。
nohup ./node_exporter --web.listen-address=":9200"&
最近更新时间:2025.06.17 15:19:03
这个页面对您有帮助吗?
有用
有用
无用
无用