时间聚合字段中的各种选项意味着什么?

时间:2017-02-14 03:59:52

标签: azure autoscaling

我第一次尝试使用Scale Rule并试图摆弄“存储队列”资源。在尝试设置选项时,我在“时间聚合”中看到以下选项:最小值,最大值,平均值,总计和最后一个。 我学到的是从TimeAggregation中选择的值将用于指定的“持续时间”,并将与指定的“阈值”进行比较。 但是我无法理解它将尝试做的数据的采样间隔是多少。另请考虑以下示例:

说我有以下规则: 如果AppxMsgCount> = 15,则将实例计数增加3 哪里, 阈值= 15,时间聚合设置为“平均值”

系统状态: AppxMsgCount = 20 当前实例数= 2

因此,第一次使用上述系统状态启动自动量程时,实例计数会增加到5。

现在,随着AppxMsgCount增加的实例应该下降?我的预感说它一定是,但那应该是什么数学呢?是20 * 2/5吗?

第二件事其他选项在这里是什么意思,什么时候应该使用它们 - 即我何时应该使用总数与什么时候应该使用平均数

如果我可以获得一些链接以供参考,将会很有帮助。

2 个答案:

答案 0 :(得分:3)

这些属性共同作用如下:每个“ timeGrain”都会计算“ metricName”的“ statistic”。每个“ timeGrain”自动缩放将获取先前“ timeWindow”数据量的“ timeAggregation”,并将其与基于“运算符”的“阈值”进行比较。使用下面的特定示例,这意味着:

每分钟将计算平均CPU百分比。每分钟,自动缩放将采用前5分钟数据的平均值,并检查其是否大于60%。如果是,它将触发缩放规则。

 "rules": [{
    "metricTrigger": {
      "metricResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]",
      "metricName": "Percentage CPU",
      "timeGrain": "PT1M",
      "statistic": "Average",
      "timeWindow": "PT5M",
      "timeAggregation": "Average",
      "operator": "GreaterThan",
      "threshold": 60
    },

注意:对于单个VM,CPU百分比只是一个数字。但是,如果设置了比例,则每个VM都会报告一个CPU百分比数字。为了合并这些数据,规模集计算所有虚拟机的“统计”。例如,假设我们的“统计信息”为“最大值”,“ timeGrain”为1分钟,“ timeAggregation”为“平均值”,“ timeWindow”为5分钟。这意味着,比例集每分钟在该比例集中的所有VM上发出最大CPU百分比。例如,如果在缩放比例集中有两台VM,其中一台以0%CPU运行,另一台以90%CPU运行,则在这一分钟内,缩放集将最多发射90%。然后,自动缩放将平均这些最大值的最后5分钟,并将其与阈值进行比较。

希望这会有所帮助!这有点令人困惑,而且信息分散在不同的文档页面上,因此我在这里https://negatblog.wordpress.com/2018/07/06/autoscaling-scale-sets-based-on-metrics/整理了一个有关自动缩放比例集基础的快速入门博客。希望它有用:)

干杯, 尼尔

答案 1 :(得分:0)

下面的链接是指向autoscale的Microsoft文档的 最佳实践 的链接:https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/insights-autoscale-best-practices

但是,我也会尝试回答您上述问题。

1)我相信您可以设置 scale in 选项,以决定何时减少到更少的实例数量。在以前的版本中,不存在in选项的缩放比例,我相信一旦不再触发限制,它就会缩小回实例的初始数量。即低于15 ApxMsgCount

2)对这一点不太确定,以我的经验,我一直使用 总计 指标而不是平均值,但是我认为平均值最好用于特定指标时间范围。

希望这会有所帮助