使用公式运算自定义目标追踪规则

在使用目标追踪的伸缩方式时,您可以通过公式运算组合多个企业云监控指标,创建自定义的目标追踪规则,以满足您实际的业务需求。

方案概述

方案优势

  • 支持公式运算。您可以通过公式运算,组合至多三个指标作为追踪的目标,更加灵活。

  • 支持更多的监控指标。该方案基于企业云监控实现,相比使用系统监控的目标追踪规则,该方案支持使用更多的监控指标实现目标追踪,关于企业云监控的更多信息,请参见企业云监控概览

使用流程

本方案基于伸缩组的目标追踪规则企业云监控实现,您可以参考以下流程完成自定义目标追踪规则。

  1. 设计目标追踪伸缩方案

    首先,您需要根据需求,调研需要用到的企业云监控的监控指标,设计目标追踪伸缩方案。

  2. 实现设计的伸缩方案。

    准备需要用到的企业云监控指标,并基于这些指标创建目标追踪规则,实现设计好的伸缩方案。

  3. 持续监控,优化方案。

    持续监控伸缩组的伸缩活动及追踪的指标变化,优化伸缩方案。

1. 设计目标追踪伸缩方案

首先,您需要根据需求,调研需要用到的企业云监控的监控指标,设计目标追踪伸缩方案。您可以参考以下示例设计方案。

企业云监控支持的监控指标,请参见附录1 云产品监控指标。为保证目标追踪的响应速度,请选择最小指标周期为60s的指标进行目标追踪。
指标计算结果应根据伸缩组中实例数量的变化按比例调整,确保在指标高于目标值时增加实例(扩容),而在指标低于目标值时减少实例(缩容)。

示例方案设计

本文以“基于MNS队列的活跃消息数量,动态调整伸缩组实例”的伸缩方案为例,具体方案说明如下。

  • 预计效果

    期望伸缩组平均每个实例均有3个消息需要排队处理,如果消息增多,则触发扩容,小于3则触发缩容。

  • 实现

    为实现该功能,需要准备两个指标:消息服务MNS队列的活跃消息数量(ActiveMessages)、伸缩组中运行的实例数(RunningInstanceCount),基于这两个指标的比值,设置目标追踪规则,目标值设置为3,即使两个指标的比值维持在3左右。即满足公式:

2. 实现设计的伸缩方案

2.1 准备目标追踪规则需要关注的企业云监控指标

如果您已经准备好企业云监控指标,可跳过该步骤。
使用该功能需要开通企业云监控。具体操作,请参见开通企业云监控

在创建目标追踪规则之前,需要先在企业云监控创建目标追踪规则需要关注的企业云监控指标,用于后续追踪该指标,操作步骤如下。

  1. 创建指标仓库。

    具体操作,请参见创建指标仓库

  2. 添加需要关注的指标。

    您可以根据实际需求,在步骤1中创建的指标仓库中,添加您需要关注的指标,具体操作,请参见管理数据接入任务

    说明

    为保证目标追踪的响应速度,请选择最小指标周期为60s的指标进行目标追踪。

示例方案所需指标

创建指标仓库ess-metrics-repo-test,并添加以下两个监控指标:

  • 消息服务 MNS活跃消息(ActiveMessages)指标。

    image

  • 弹性伸缩运行实例数(RunningInstanceCount)指标。

    image

2.2 基于企业云监控指标,创建目标追踪规则

在伸缩组中,创建追踪企业云监控指标的目标追踪规则,具体操作如下。

如果您未创建伸缩组,请先创建伸缩组,具体操作,请参见创建ECS伸缩组创建ECI伸缩组
重要

目标追踪伸缩规则支持缩容到0,请在创建目标追踪规则之前,根据实际需求设置伸缩组的组内最小实例数组内最大实例数,控制扩缩容的边界,防止方案设计问题导致服务不可用或费用超预算等问题。

  1. 进入待操作伸缩组的创建伸缩规则页。

    image

    进入伸缩规则页具体步骤

    1. 登录弹性伸缩控制台

    2. 在左侧导航栏中,单击伸缩组管理

    3. 在顶部菜单栏处,选择地域。

    4. 找到待操作的伸缩组,在对应操作列下,单击查看详情

    5. 在页面上方,单击伸缩规则与报警任务页签。

    6. 伸缩规则页签下,单击创建伸缩规则进入创建伸缩规则页。

  2. 在创建伸缩规则页面,具体配置项说明如下。

    配置项

    说明

    伸缩规则类型

    选择目标追踪规则

    监控指标类型

    选择企业云监控

    监控指标仓库

    选择在步骤2.1中准备的指标仓库。

    监控指标描述

    选择在步骤2.1中准备的指标,以及需要监控的资源。

    指标计算表达式

    根据实际需求,输入表达式。支持+-*/以及()

    重要
    • 指标运算表达式最多支持三种不同指标参与运算。

    • 指标计算结果应根据伸缩组中实例数量的变化按比例调整,确保在指标高于目标值时增加实例(扩容),而在指标低于目标值时减少实例(缩容)。

    目标值

    指标计算表达式的目标值,目标追踪规则会将云监控指标运算后的结果值维持在目标值附近。

    实例预热时间

    单位为秒。处于预热状态的实例正常加入伸缩组,但是不会向云监控上报监控数据。动态计算需要扩缩容的实例数量时,处于预热状态的实例不计入现有实例数量,以免造成指标值波动。

    扩容报警触发的阈值次数

    创建目标追踪规则后,会自动创建报警任务。该参数指定自动创建出的扩容报警任务触发报警时,所需连续满足阈值条件的次数。

    缩容报警触发的阈值次数

    创建目标追踪规则后,会自动创建报警任务。该参数指定自动创建的缩容报警任务触发报警时,所需连续满足阈值条件的次数。

    禁用缩容

    是否禁用缩容影响自动创建的报警任务的数量:

    • 如果禁用缩容,目标伸缩规则仅创建一个用于扩容的报警任务,因此不会从伸缩组移出ECS实例或ECI实例。

    • 如果允许缩容,目标伸缩规则会创建两个报警任务,一个用于扩容,一个用于缩容。

    示例方案所需关键配置说明

    配置项

    示例

    监控指标类型

    选择企业云监控

    监控指标仓库

    选择在步骤2.1中准备的指标仓库,即ess-metrics-repo-test。

    监控指标描述

    指标a:

    • 监控指标选择AliyunEss_RunningInstanceCount

    • 监控的资源选择当前伸缩组。

    指标b:

    • 监控指标选择AliyunMnsnew_ActiveMessages

    • 监控的资源选择需要监控的MNS队列。

    指标计算表达式

    输入b/a。表示平均每个实例需要处理的消息数。

    目标值

    输入3。表示期望平均每个实例有3个消息排队。

  3. 完成配置后单击确认按钮,完成目标追踪规则的创建。

3. 持续监控,优化方案

在您创建目标追踪规则之后,需要持续监控您的伸缩组是否按照您的预期运行。您可以结合指标运算值的监控信息及伸缩活动、伸缩组监控等信息,判断伸缩组是否按照您的预期执行。

相关操作

  • 查看目标追踪规则信息

    您可以在伸缩规则与报警任务 > 伸缩规则页签下,找到创建的目标追踪规则,单击伸缩规则ID可查看目标伸缩规则的信息。您可以点击已关联的报警任务,查看报警任务的监控信息。

    image

  • 监控指标运算值

    创建目标追踪规则后,会自动创建两个报警任务(企业云监控),您可以在伸缩规则与报警任务 > 报警任务 > 报警任务(企业云监控)页签下,找到对应的报警任务,单击报警任务ID进入报警任务详情页,查看监控指标计算值。

    image

    image

  • 查看伸缩活动

    伸缩活动页签下,查看伸缩组进行的伸缩活动的日志。

    image