使用Prometheus监控ECS主机

本文介绍如何使用阿里云Prometheus监控ECS主机,以及配置主机监控组件、指标采集、告警的方案,以实现符合您所需的指标采集业务场景。

方案概览

使用Prometheus监控ECS主机大致分为4步,如下:

  1. ECS接入主机监控:接入后,会自动安装各类开源Exporter,托管Prometheus Agent自动采集数据,统一管理。

  2. 配置主机监控组件(可选):重新配置主机监控组件参数,例如服务端口,以修复错误的部分,或者满足新的业务需要。

  3. 配置指标采集(可选):废弃不需要采集的指标,使指标数据更清晰,也可节省费用。

  4. 配置告警(可选):根据采集到的数据触发告警,让您对感兴趣的指标变化有感知,帮助您更好的分析问题。

image

前提条件

  • 已创建ECS实例。具体操作,请参见通过控制台使用ECS实例(快捷版)

  • 已开通阿里云资源中心。具体操作,请参见开通资源中心

    说明

    由于Prometheus依赖阿里云资源中心获取云产品当前登录账户的VPC、ECS等数据进行服务发现,在操作ECS接入主机监控前,需要您已开通资源中心。

1.ECS接入主机监控

接入主机监控后,会默认在ECS主机上安装Node-exporter和Process-exporter,托管Prometheus Agent自动采集数据,数据统一存储、展示、告警,单次采集指标量约为1000条/台

1.1 接入主机监控

  1. ARMS控制台接入中心>基础设施页面,单击主机监控image

  2. 在弹出的主机监控页面中,选择目标ECS所属的VPC,按照需求填写配置信息,配置说明请参见步骤一:接入主机监控数据image

  3. 单击确定,等待1~2分钟即可完成ECS主机监控接入。

1.2 查看监控大盘

  1. ARMS控制台接入管理>已接入环境>ECS环境列表中,单击目标环境名称,进入详情页面。image

  2. 组件管理页签,单击组件类型区域的大盘,即可查看内置的Grafana大盘。imageimage

    说明

    ECS接入主机监控后,如果监控大盘没有数据,请检查安全组配置,参见接入主机监控后,在监控大盘查看不到数据,为什么?

2.配置主机监控组件(可选)

在ECS接入主机监控后,如果您想修改主机监控组件的配置,例如主机服务发现的方式、服务端口、采集间隔等,可以参考下面的方案操作。

2.1 配置方案

  1. ARMS控制台接入管理>已接入环境>ECS环境列表中,单击目标环境名称,进入详情页面。image

  2. 找到目标组件,单击设置image

  3. 根据需求修改主机监控组件配置,完成后单击确定,配置说明请参见步骤一:接入主机监控数据

2.2 验证

  1. 刷新页面,再次单击设置即可查看到修改生效。

  2. 查看监控大盘,观察数据是否符合预期。参见1.2 查看监控大盘

3.配置指标采集(可选)

可根据您的业务需求配置不需采集的指标,将指标废弃,废弃的指标将不会再采集,帮助您更轻松的分析和管理。

3.1 配置方案

  1. ARMS控制台接入管理>已接入环境>ECS环境列表中,单击目标环境名称,进入详情页面。image

  2. 指标采集 > 指标废弃区域,配置不需采集的指标名称,单击更新。指标说明请参见指标说明image

    说明

    不支持废弃Prometheus容器监控基础指标。

3.2 验证

  1. 单击更新后,刷新页面即可查看到修改生效。

  2. 查看监控大盘,观察数据是否符合预期。参见1.2 查看监控大盘

4.配置告警(可选)

您可以配置不同规则的告警,监控感兴趣的指标,当指标的变化触发告警时,可以及时通知您,方便您日常维护和问题分析。

告警分为内置告警自定义告警两种,内置告警无法新增,如果需要新增告警,可新增自定义告警。下面介绍两种告警的配置方式。

4.1 配置内置告警

内置的告警规则默认会产生告警事件,但不会进行告警通知,如需通知,可参考下文编辑内置告警规则,配置通知方式。

  1. ARMS控制台接入管理>已接入环境>ECS环境列表中,单击目标环境名称,进入详情页面。image

  2. 组件管理页签,单击组件类型区域的告警规则,即可查看告警事件或者编辑告警。image

  3. 根据需要编辑告警,单击完成。配置参数的具体说明请参见Prometheus告警规则

4.2 配置自定义告警

当内置告警无法满足您的需要时,您可以为该Prometheus实例配置自定义告警。

  1. ARMS控制台接入管理>已接入环境>ECS环境列表中,单击目标环境名称,进入详情页面。image

  2. 组件管理页签,单击基本信息区域的默认指标存储image

  3. 进入告警规则页面,即可创建、编辑和查看自定义告警。告警配置说明请参见Prometheus告警规则image

4.3 验证

  1. 修改告警配置后,刷新页面即可查看到修改生效。

  2. 可配置易触发、无风险的告警规则,配置后尝试触发告警,查看是否符合预期。

    说明

    告警通知的具体方式由您的告警配置决定。

常见问题

接入主机监控后,在监控大盘查看不到数据,为什么?

如果监控大盘没有数据,可能是ECS的安全组未放通导致的,请您确认:

ECS的安全组在入方向需要允许100.64.0.0/10和192.168.0.0/18网段对node-exporter、process-exporter端口的访问权限(node-exporter默认端口:9100,process-exporter默认端口:9256,具体端口需要根据您的配置确认)。查看ECS的安全组详情,请参见查询安全组

选择了自动安装,但Node-Exporter并没有在我的ECS中安装成功,为什么?

请检查以下几点:

  1. 您的ECS实例是否处于运行状态。

  2. 目标ECS实例是否已经安装了开源Node-Exporter并占用了默认9100端口。如果已安装并占用了9100端口,需要在接入管理页面,单击设置修改阿里云Node-exporter的安装端口,避免端口冲突导致的安装失败。

如何验证Node-Exporter是否成功安装?

您可以通过访问http://<ECS-IP>:<PORT>/metrics查看是否有指标数据被输出。如果页面显示指标数据,则表明安装成功。

如果不启用自动配置安全组,需要如何手动添加规则?

您需要登录ECS管理控制台在ECS实例的安全组设置中手动添加入方向规则,以允许指定的监控端口(如9100和9256)的访问(设置为当前VPC网段)。

在接入过程中遇到了网络连接问题,该怎么办?

首先,确认被监控的ECS实例和Prometheus探针服务能够在网络上互相访问。检查VPC的路由表配置,确保数据流向正确。然后检查防火墙或安全组规则是否正确配置,以允许监控流量通过。

监控数据不准确或缺失,可能是什么原因导致的?

检查Node-Exporter和Process-exporter(如果启用)是否正常运行。使用命令行工具(如curl)查询Exporter暴露的指标页面,查看是否可以正常返回数据。如果Exporter运行异常,请检查日志。

启用了进程状态指标采集后,有哪些额外的考虑?

进程状态指标采集通过Process-exporter实现,默认使用9256端口。请确保该端口在安全组中同样被允许,以便指标能够被成功采集。此外,进程状态指标增加了对系统资源的小额额外消耗,通常不会对系统性能造成显著影响,但在资源极为有限的环境中需要注意。