小编Ten*_*sho的帖子

AWS ECS 是否可以在达到内存利用率限制时发出警报?

我已阅读ECS 监控文档,但未找到如何使用 CloudWatch Events 或 Metrics 帮助对达到ECS 任务内存限制发出警报。我遇到过这样的情况,当 ECS 容器突破默认任务硬限制 512 Mb 并重新启动时。CloudWatch Event触发ECS 任务状态更改,例如从 RUNNING 到 STOPPED,但在事件详细信息中,"stoppedReason"您可能只会发现“任务在...中失败的 ELB 运行状况检查”,尽管我明确知道实际原因是内存限制突破和容器谋杀码头工人方面。这是事件规则模式:

{
  "source": [
    "aws.ecs"
  ],
  "detail-type": [
    "ECS Task State Change"
  ],
  "detail": {
    "lastStatus": [
      "STOPPED"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

CloudWatchMemoryUtilization维度指标ServiceName没有多大帮助,因为触发警报的最短周期(范围)是 1 分钟,但容器终止-重新启动周期运行得更快。时间不够,无法抓住高峰。我想这与ClusterName维度(换句话说,对于整个集群)也是相关的。

我想知道如何获取有关任务(容器、容器实例)硬内存限制突破的通知?

amazon-web-services amazon-ecs amazon-cloudwatch aws-ecs

5
推荐指数
1
解决办法
3027
查看次数

在Terraform控制台中获取局部变量

有什么方法可以在Terraform控制台中获取局部变量吗?

> local.name
unknown values referenced, can't compute value
Run Code Online (Sandbox Code Playgroud)

似乎Terraform控制台仅允许检查输入变量和模块输出变量。

> var.in
2

> module.abc.out
3
Run Code Online (Sandbox Code Playgroud)

配置文件示例:

# main.tf

locals {
  name = 1
}

variable "in" {
  value = 2
}

module "abc" {
  source "path/to/module"
}

# path/to/module/main.tf

output "out" {
  value = 3
}
Run Code Online (Sandbox Code Playgroud)

terraform

3
推荐指数
2
解决办法
2742
查看次数

在隐式接收器上调用*方法

我想创建下一个DSL部分:

* 'Ruby'
Run Code Online (Sandbox Code Playgroud)

下一个实验显示了可预测的结果:

def *(a)
  a
end

* 'Ruby'         #=> SyntaxError: (irb):4: syntax error, unexpected '\n', expecting :: or '[' or '.'
self.*(1)        #=> NoMethodError: private method `*' called for main:Object
self.send(:*, 1) #=> 'Ruby'
Run Code Online (Sandbox Code Playgroud)

我想Ruby语法分析器将这种表达式视为星号方法的splat运算符或语法糖.有人可以解释这个更详细和(如果可能)提供解决方案来解决我的问题?

ruby dsl

2
推荐指数
1
解决办法
67
查看次数

如何对alphabiticaly的单词排序,但考虑到字母的情况?

写词必须先
安德鲁网和安德鲁
安德鲁安德鲁安德里网

UPD:

安德鲁网安德鲁
安德鲁安德雷安德鲁网

ruby sorting

-3
推荐指数
1
解决办法
2571
查看次数