托管 Prometheus 服务支持监控云服务器(ECS)实例,获取云服务器的指标信息。本文为您介绍如何配置云服务器(ECS)实例监控。
登录 私有网络控制台。
在左侧导航栏中选择 安全组。
在安全组列表中,单击 创建安全组,配置托管采集器使用的安全组。该安全组会在配置集成任务时,绑定在托管采集器的 Pod 网卡上,允许托管采集器访问指定的目标 IP 网段和端口。
172.16.0.0/12
,端口号为 TCP 协议9100
端口。配置 ECS 实例使用的安全组,本文以 Default 安全组为例。在 入方向规则中,添加规则,放通指标采集端口。其中,源地址为上文中配置的采集器的安全组,端口为 TCP9100
端口。
说明
您也可以创建一个新的安全组,并将托管采集器和 ECS 实例均加入到该安全组。此时,无需配置新的访问规则,新创建安全组中的默认的出规则和入规则,即可实现托管采集器和 ECS 实例之间的互访。
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
说明
如果您无法在 ECS 云服务器中下载 exporter,可以尝试在本地主机中下载并上传至 ECS 云服务器。详情请参见 本地 Linux 或 macOS 系统通过 SCP 上传文件到 Linux 云服务器。
nohup ./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~40 个字符。 |
工作区 | 选择已创建的托管 Prometheus 工作区。 |
ECS VPC | 选择 ECS 实例所在的 VPC。 |
安全组 | 选择托管采集器使用的安全组,允许托管采集器访问用户 VPC 中的资源。支持多选。 注意 为确保托管采集器能够正确采集到 ECS 中的指标,请将目标网段、端口添加到所选的安全组出访问规则中。 |
子网 | 选择进行服务发现的 VPC 子网。系统会在选择的子网下进行 ECS 服务发现,监控所有符合要求的 ECS 实例。支持多选。 |
global: scrape_interval: 15s scrape_timeout: 10s scrape_configs: - job_name: ecs scheme: http metrics_path: /metrics volc_sd_configs: - port: 9100
说明
配置完成后,您可以查看任务状态和任务详情。确定目标 ECS 实例是否正确接入 Promethues 服务。
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询。
说明
RabbitMQ 的常见指标,请参见 官方文档。
您可以自建 Grafana,并通过 Grafana 查看 ECS 实例的指标和创建大盘。包括:
您可以在托管 Prometheus 的告警中心配置 ECS 实例的相关告警。详情请参见 创建告警规则。
您可以在云服务器实例的控制台中,执行以下命令,检查接口是否被占用。
ss -naltp | grep 9100
返回如下信息时,表示 9100 端口已经被占用。
LISTEN 0 128 [::]:9100 [::]:* users:(("node_exporter",pid=1654,fd=3))
node-exporter 缺省使用 9100 端口对外暴露指标,当云服务器中的 9100 端口被占用时,您可以在启动 node-exporter 时,通过--web.listen-address
参数,修改 node-exporter 的指标暴露端口。例如修改为 9200 端口。
nohup ./node_exporter --web.listen-address=":9200"&