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
这个页面对您有帮助吗?
有用
有用
无用
无用