Ess报警任务全新升级

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: AutoScaling(弹性伸缩) 报警任务迎来全新升级,本次升级从监控范围,监控方式,监控响应速度等三个方面做出了全方位的优化,升级后的 AutoScaling 报警任务将您提供一种更全面,更可靠的利用报警任务动态管理 AutoScaling 伸缩组的方式。

AutoScaling(弹性伸缩) 报警任务迎来全新升级,本次升级从监控范围,监控方式,监控响应速度等三个方面做出了全方位的优化,升级后的 AutoScaling 报警任务将您提供一种更全面,更可靠的利用报警任务动态管理 AutoScaling 伸缩组的方式。

本次的升级内容主要包括:

  1. 增加了对系统磁盘,网卡,TCP连接数等监控指标的报警任务支持。
  2. 报警任务最小统计周期升级到 1分钟,提供更灵敏的监控报警。
  3. 增加自定义监控,为用户自有监控系统接入 AutoScaling 报警任务提供标准化方式。

AutoScaling 报警任务

AutoScaling 报警任务是 AutoScaling 与 云监控服务(CMS) 深度合作,提供的一种动态管理伸缩组的方式,类似于 AutoScaling 定时任务,AutoScaling 报警任务通过触发您指定的伸缩规则来执行伸缩活动,达到调整伸缩组内实例个数的目的。

定时任务可以在您指定的时间执行您指定的伸缩规则,当业务场景在时间上可预料时,能够提前做出响应,但是,在面对突发或者时间上不可预料的业务场景时,定时任务就显得捉襟见肘,此时,就需要报警任务来提供更灵活的触发伸缩规则的方式,在业务高峰期增加伸缩组内实例数量来缓解业务压力,在业务低谷时释放伸缩组内实例,减小生产成本。

报警任务通过监控特定的监控指标,对数据指标进行实时的统计,当统计值满足您指定的报警条件时,触发报警,执行您指定的伸缩规则。使用报警任务,您可以实时的根据业务的变化来不断调整伸缩组内的实例数量,保证您监控的指标维持在您期望的范围内。

AutoScaling 系统监控报警任务

AutoScaling 系统监控报警任务的监控指标是云监控为用户采集的 ECS 实例的相关数据指标,比如CPU,负载等。用户在 AutoScaling 中设置的系统监控的报警任务是以伸缩组作为监控粒度的,即以伸缩组内的所有实例的监控指标的统计平均值作为伸缩组的指标值,当伸缩组内实例数量发生变化时,监控指标也会同时进行更新。

支持的监控指标

AutoScaling 系统监控报警任务目前支持的监控项,其中红色字体代表本次升级新增支持的监控项:

监控项 单位
CPU %
内存 %
系统平均负载
内网出流量 KB/min
内网入流量 KB/min
外网出流量 KB/min
外网入流量 KB/min
系统盘写bps Byte/s
系统盘读bps Byte/s
系统盘写iops 个/s
系统盘读iops 个/s
外网网卡发包数(经典网络) 个/s
外网网卡收包数(经典网络) 个/s
内网网卡发包数 个/s
内网网卡收包数 个/s
TCP总连接数
TCP已建立连接数

注意事项

  1. AutoScaling 伸缩组在同一时刻只能执行一个伸缩活动,当伸缩组内存在正在执行的伸缩活动是,由报警任务触发伸缩规则产生的伸缩活动将被拒绝。
  2. AutoScaling 报警任务在触发伸缩规则时受伸缩规则冷却时间影响,伸缩规则在冷却时间内时,将拒绝执行伸缩规则。伸缩组内新增加的 ECS 实例从加入伸缩组到完成系统启动配置,部署用户业务,获取到监控数据需要一定的时间(通常需要几分钟),因此您应该根据具体的业务场景,设置合适的冷却时间,防止在新增实例的监控数据缺失的这段时间中,重复触发伸缩规则。
  3. AutoScaling 报警任务,默认设置了一分钟的沉默时间,即触发报警之后,一分钟内不会再次触发伸缩规则。
  4. 部分系统监控项(内存,负载,网卡发包数,TCP连接数)指标的采集需要为您安装云监控客户端。默认情况下,当您针对需要云监控客户端采集的监控项设置报警任务时,将为报警任务关联的伸缩组内的所有实例安装云监控客户端,同时,将为您在云监控控制台开启 新购ECS自动安装云监控,为您所有新购的 ECS 实例安装云监控客户端。

AutoScaling 自定义监控项报警任务

AutoScaling 自定义监控项报警任务的监控对象为用户自主上报到云监控中的监控指标。在一些场景下,系统监控项可能不包含您所需要的监控指标,您可能拥有自己的一套监控系统,并且关心的是与您特定业务相关的某些指标,自定义监控报警任务,为您自有的监控系统,或者与业务相关的自有监控指标提供了设置报警任务的接入点。

AutoScaling 自定义监控报警任务是针对阿里云云监控服务的自定义监控项设置报警的,用户在使用 AutoScaling 自定义监控报警任务之前需要首先向云监控上报自定义监控数据,即自定义监控项。云监控自定义监控是提供给用户自由定义监控项及报警规则的一项服务,通过此服务,用户可以针对自己关心的业务指标进行监控,将采集到监控数据上报至云监控,由云监控来进行数据的处理,并可以对其设置报警规则。

上报监控数据到云监控

云监控的自定义监控服务为您提供了上报监控数据的方式,您可以将自己采集到的时序数据上报到云监控,这样的数据称作时间序列。云监控提供了OpenAPI、Java SDK 和阿里云命令行工具(CLI) 三种方式上报数据,这里我们将主要关注如何使用Java SDK的方式上报监控数据。更多详细的信息您可以查看文档 上报监控数据

使用Java sdk之前您需要首先在项目中引入相应的jar包,如果您使用maven管理项目,您只需要在项目中加入以下依赖:

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>3.2.6</version>
        </dependency>

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>aliyun-cms</artifactId>
            <version>0.2.4</version>
        </dependency>

您可以按照如下的方式向云监控上报自定义监控项:

static String endPoint     = "https://metrichub-cms-cn-hangzhou.aliyuncs.com";
CMSClient cmsClient = new CMSClient(endPoint, accAutoScalingKey, accAutoScalingSecret);
CustomMetricUploadRequest request = CustomMetricUploadRequest.builder()
                    .append(CustomMetric.builder()
                    .setMetricName("myCustomMetric")//自定义指标名
                    .setGroupId(54504L)//设置分组id
                    .setTime(new Date())//时间
                    .setType(CustomMetric.TYPE_VALUE)//类型为原始值,
                    .appendValue(MetricAttribute.VALUE, number)//原始值,key只能为这个
                    .appendDimension("key1", "value1")//添加维度
                    .appendDimension("key2","value2")
                    .build())
                 .build();
            CustomMetricUploadResponse response = cmsClient.putCustomMetric(request);//上报

在上述的代码片段中,我们上报了一个数据点到云监控。上报时,必须指定groupId参数,即云监控应用分组id,该分组id可以是您在云监控中已创建的应用分组,也可以是一个不存在的应用分组。您可以在 云监控应用分组 创建和查看应用应用分组信息。您上报的自定义监控项(时间序列),可以在云监控控制的 自定义监控 中查看。

我们建议您向一个 云监控中已经存在的应用分组中推送自定义监控数据,云监控的应用分组是针对多种云产品的逻辑分组,向一个已存在的应用分组推送自定义监控数据将使您在需要使用云监控等相关功能时保留扩展的能力。当然,您也可以完全不必理会应用分组的概念,选择向任意一个分组id推送数据。

您上报到云监控的监控数据,云监控会自动帮您进行聚合,当然,当您需要推送的数据量太大时,您也可以选择在本地聚合之后再推送到云监控。详细信息可以参考 上报监控数据

需要注意,云监控对用户上报监控数据设置了以下限制:

  1. 单云账号QPS限制为100。
  2. 单次最多上报100条数据,body最大为256KB。
  3. “metricName”字段只支持字母、数字、下划线。需要以字母开头,非字母开头会替换为大写“A”,非法字符替换为“_”。
  4. “dimensions”字段不支持“=”、“&”、“,” ,非法字符会被替换为“_”。
  5. metricName 和dimensions的Key-value 最大均为64字节,超过64字节会被截断。
  6. 其他限制请关注计量计费说明。

最佳实践

在本文的最佳实践中将具体讲解 如何在 AutoScaling 控制台创建,查看,以及修改一条报警任务。

创建系统监控项报警任务

首先进入 AutoScaling控制台,选中报警任务侧边栏,点击创建报警任务。

image.png

image.png

在弹出的创建报警任务对话框中,我们选中监控类型为 系统监控,设置任务名称,描述等基本信息,然后选择监控资源,即报警任务监控的伸缩组,选择监控项为cpu(cpu使用率),统计周期选择1分钟,表示将对每1分钟的监控数据进行统计检查,判断是否满足报警条件。统计办法我们选择了 平均值>=50%,重复3次,这表示,当cpu的使用了在1分钟平均值超过阈值50%,并且连续3次满足统计办法时,将发生报警。报警触发规则为伸缩规则add1,表明在发生报警时,将执行报警规则add1,为伸缩组增加1台机器。

创建自定义监控项报警任务

创建自定义监控项报警任务的过程和创建系统监控类似,唯一的不同在于,系统监控报警任务的监控项是由云监控为用户采集,而自定义监控报警任务的监控项则需要用户自己上报至云监控。

在创建自定义监控类型的报警任务时,首先需要存在已上报的自定义监控项,即时间序列。然后才能针对该时间序列设置报警规则。

image.png

在上图创建自定义报警任务之前,已经向云监控推送了一条自定义监控数据流(时间序列)。该时间序列所属的应用分组为54504,监控项名称为testMetric,维度信息为 age=10。

查看监控项详情

在成功的创建完报警任务之后,我们可以在报警任务列表看到我们刚刚创建的报警任务。

image.png

切换到自定义监控列表,查看刚刚创建的自定义报警任务。

image.png

点击报警任务的名称,将跳转到详情页,在详情页您将看到报警任务对应监控项的历史数据。

image.png

image.png

修改报警任务

您可以在报警任务的列表页修改报警任务,也可以进入报警任务的详情页修改报警规则。

image.png

image.png

修改报警任务分为两个部分,一个是修改报警任务的基本信息,另外一个是修改报警规则的触发规则。

修改基本信息包括修改任务名称,监控项,统计周期,统计办法,重复次数等,我们不建议您修改报警任务的监控项,因为,修改监控项意味着监控不同的指标,此时,新建一条针对新指标的报警任务是更合适的方法。

写在最后

AutoScaling 报警任务为您提供了一种通过监控特定监控指标来动态调整伸缩组内实例数量的方法,让您能够根据业务的变化实时的执行指定的伸缩规则,调整伸缩组内的实例数量。

本次的 AutoScaling 报警任务的升级,扩展了原有的监控指标,并在原有监控项的基础上,支持用户接入自定义的监控项,提供定制化的报警任务,大大增强了 AutoScaling 报警任务的可用性和实用性,满足用户具体的,多样化的需求。

目录
相关文章
|
4月前
|
DataWorks 监控
DataWorks报警延迟是什么?
DataWorks报警延迟是什么?
37 3
|
10月前
|
运维 Kubernetes 监控
云联壹云企业版新增自动巡检功能
我们在 v3.10 的企业版中新增了自动巡检功能,关于设计这个功能的初衷以及效果、客户收益简单给大家介绍一下。
云联壹云企业版新增自动巡检功能
|
弹性计算 监控 负载均衡
通过报警任务和云监控创建弹性伸缩方案-介绍|学习笔记
快速学习通过报警任务和云监控创建弹性伸缩方案-介绍
143 0
通过报警任务和云监控创建弹性伸缩方案-介绍|学习笔记
|
弹性计算 监控 开发者
通过报警任务和云监控创建弹性伸缩方案-操作演示|学习笔记
快速学习通过报警任务和云监控创建弹性伸缩方案-操作演示
117 0
通过报警任务和云监控创建弹性伸缩方案-操作演示|学习笔记
|
SQL 存储 数据采集
用户指南—监控与告警—计算资源监控
为方便您掌握实例的运行状态,PolarDB-X提供监控查询功能。您可以在控制台上查看计算资源监控和存储资源监控信息。其中计算资源监控展示了实例计算层资源的性能数据,本文将介绍如何查看计算资源监控信息。
110 0
用户指南—监控与告警—计算资源监控
|
存储 数据采集 监控
用户指南—监控与告警—存储资源监控
为方便您掌握实例的运行状态,PolarDB-X提供监控查询功能。您可以在控制台上查看计算资源监控和存储资源监控信息。其中存储资源监控展示了实例存储层资源的性能数据,本文将介绍如何查看存储资源监控信息。
用户指南—监控与告警—存储资源监控
|
Prometheus 监控 Cloud Native
使用云监控进行跨账号监控
前言云监控的跨账号监控依赖资源目录RD(Resource Directory),RD的具体操作见其官方文档。需要前当前登录的账号是RD的主账号MA(Master Account)或者是云监控的委派管理员DA(DelegatedAdminAccount)才能进行跨账号监控数据管理。主账号MA无需进行任何设置,只需登陆云监控的控制台正常操作就行。但如果需要某个成员账号也能在云监控上管理其他账号的数据,
3119 0
使用云监控进行跨账号监控
|
监控 Kubernetes 容器
云监控报警最佳实践之无数据策略
本文介绍了云监控报警中的无数据策略,通过该策略用户可以实现被监控对象无数据时的响应、处理。 ## 背景 云监控报警通常情况下是通过监控数据的阈值的判断来进行报警,比如cpu超过80%报警等。但有时候被监控对象的监控数据出现不连续或断掉的情况。如果要对这种情况进行报警,就需要配置无数据策略。 ## 配置无数据策略 首先进入[云监控控制台](https://cloudmonitor.console.
473 2
云监控报警最佳实践之无数据策略
|
存储 Prometheus 运维
顺滑迁移Prometheus告警到SLS告警
Prometheus作为一个开源的云原生监控系统,具有很广泛的应用场景,通过各种Exporter收集各类设备,应用的指标,将各类指标抽象为时序数据,在Prometheus上可以使用PromQL进行高效的指标查询和分析。SLS告警是云上的一站式告警监控运维平台,支持各种Ops场景。SLS告警系统主要包括指标采集,监控系统,告警管理,通知管理等子系统。本文介绍如何将Prometheus告警无缝转换为SLS告警,并使用SLS告警的管理功能。
704 0
|
存储 监控 Cloud Native
PolarDB-X 1.0-用户指南-监控与报警-管理报警规则
您可以通过PolarDB-X控制台创建和管理阈值报警规则,帮助您及时了解PolarDB-X实例、数据库和存储资源的各项监控数据是否出现异常并快速进行处理。本文将以实例监控为例介绍如何管理报警规则。
180 0
PolarDB-X 1.0-用户指南-监控与报警-管理报警规则