amazon-web-services - AWS Cloudwatch 警报可以检测到没有事件吗?

标签 amazon-web-services lambda aws-lambda amazon-cloudwatch cloudwatch

我想设置云监视警报以在没有事件时触发,例如,当 Lambda 函数未执行至少 5 分钟时触发云监视警报。
我设置了一个简单的测试 lambda 函数(testLambdaFunc),然后使用 python 脚本设置警报,如下所示:

import boto3
lambdaFunction = 'testLambdaFunc'
alarmName = 'testLambdaAlarm'
client = boto3.client("cloudwatch")
# create alarm to fire after five minutes of inactivity
response = client.put_metric_alarm(
AlarmName=alarmName,
AlarmActions=[],
MetricName='Invocations',
Namespace='AWS/Lambda',
Dimensions=[
{
'Name': 'FunctionName',
'Value': lambdaFunction
},
],
Statistic='Average',
Period=300,
EvaluationPeriods=1,
Threshold=0,
ComparisonOperator='LessThanOrEqualToThreshold'
)

创建警报后,它立即进入数据不足状态。然后我触发一次 lambda 函数以获取数据点。警报进入 OK 状态,然后大约 10 分钟后回到 INSUFFICIENT DATA 状态。是正常的还是应该报警?我如何设置一个警报,当有时触发 没有事件在功能上?

最佳答案

当 CloudWatch 指标在 5 或 10 分钟内没有数据时,任何警报都将进入“INSUFFICIENT_DATA”状态。这是因为警报没有足够的数据来知道它应该处于“ALARM”状态还是“OK”状态。

创建 CloudWatch 警报时,您可以指定 SNS 主题以在警报进入“INSUFFICIENT_DATA”状态时进行通知。这是作为 InsufficientDataActions 的一部分完成的您的成员(member)put_metric_alarm方法调用。

如果您希望您的指标始终包含过去 5 分钟内的数据,那么您可以使用 InsufficientDataActions当数据不足时触发警报。本质上是告诉你你没有得到数据。我想这就是你想要的。

关于amazon-web-services - AWS Cloudwatch 警报可以检测到没有事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854773/

相关文章:

c# - 对二维数组中的每个元素执行一个操作

ruby - 你如何字符串化/序列化 Ruby 代码?

amazon-web-services - 如何确保S3不会将并行事件放入lambda?

amazon-web-services - 如何使用 AWS Lex 提出多个是/否问题?

amazon-web-services - 从 cloudformation 启用 ALB 的访问日志记录

python - 如何对 AWS Sagemaker 托管的自定义 Tensorflow 模型使用多个输入

amazon-web-services - 将 Whatsapp 与 Aws 集成 - 用于发送有关 AWS 服务的消息

c# - 无法将 lambda 表达式转换为类型 'System.Delegate',因为它不是委托(delegate)类型

python - 使用 Oracle 的 AWS Python Lambda - OID 生成失败

amazon-web-services - request.Body 通过 http 网关的值与通过测试 GUI 的值不同