问题标签 [cloudwatch-alarms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - AWS TreatMissingData 策略
我有一个带有一些 CloudWatch 监控警报的 ECS 服务设置。我对 TreatMissingData 政策有点困惑,因为他们的文档对 IGNORE 政策有点不清楚。本质上,我想要完成的是,如果连续 3 个非缺失数据点超出我设置的阈值,警报就会响起。最近我根据这些数据让我的闹钟响了:
O - - X - - O
因为我将 TreatMissingData 设置为 Missing 并将 EvaluationPeriods 设置为 5,所以中间 5 个数据点的警报响了。这不是我想要的,因为那只是昙花一现,所有周围的非缺失数据点都很好。我看到 IGNORE 政策说它只会在这种情况下保持当前的警报状态。这可能是我想要的,但我只是想确认 IGNORE 的 EvaluationPeriods 仅包含最新的非缺失数据点。我不想得到这样的东西:
X - - X - - X
并且不要让我的警报响起,因为没有连续 5 个数据点(包括丢失的数据)而总共有 3 个坏数据点。如果策略设置为 IGNORE,任何人都可以确认或否认这种模式会引发我的警报吗?
amazon-cloudwatch - Cloudwatch 警报未将丢失数据视为未违反
鉴于监控 API 网关错误率的 Cloudwatch 警报,Cloudwatch 不会将丢失的数据点视为notBreaching。
我想在 5 分钟间隔内错误率 > 25% 时触发警报。
警报详细信息:
周期: 1 分钟
要警报的数据点: 5 个中的 3 个
丢失数据处理:将丢失的数据视为良好(未超出阈值)
我注意到由于以下原因触发了 cloudwatch 警报:
阈值越过:最后 5 个数据点中的 3 个 [100.0 (27/05/21 21:56:00)、100.0 (27/05/21 21:54:00)、100.0 (27/05/21 21:49: 00)] 大于或等于阈值 (25.0),并且 2 个缺失数据点被视为 [NonBreaching](至少 3 个数据点用于 OK -> ALARM 转换)。
我希望每分钟计算一次数据点,即 27/05/21 21:50:00、27/05/21 21:51:00、27/05/21 21:52:00、27/05/21 21: 53:00, 27/05/21 21:55:00 应该标记为 Good。所以最近的 5 个数据点应该是
27/05/21 21: 56 :00 : ALARM
27/05/21 21: 55 :00 : OK (丢失数据为 notBreached)
27/05/21 21: 54 :00 : ALARM
27/05/21 21: 53 :00 : OK (丢失数据为 notBreached)
27/05/21 21: 52 :00 : OK (丢失数据为 notBreached)
在最近的 5 个数据点中,只有 2 个应该处于 ALARM 状态状态和最终结果不应触发警报。
想知道我错过了什么?
地形代码片段:
amazon-web-services - 您能否将两个警报操作引用添加到同一个 AWS CloudWatch 警报
我在 json 和 yml 文件中配置了一些 cloudwatch 警报。
可以像这样向 AlarmActions 添加多个引用吗?
Yml
JSON
amazon-web-services - 在时间段结束时触发 cloudwatch 警报
我有一个场景,每天通过自动化作业将 3 个文件推送到 s3 存储桶。对于这种情况,我创建了一个 cloudwatch 警报,以在推送到 S3 的文件(使用 putObject 操作)小于给定数字时发送 sns 通知(在这种情况下,3 是阈值)。
我已将警报时间设置为 24 小时,因为我正在监控一整天的计数。但是当第一个文件到达 s3 时,由于指标值小于阈值并且警报被触发。
我想等到时间段完成,然后检查该值是否小于阈值然后发送一条消息。这种情况在 cloudwatch 中是否可行。如果是,如何?
提前感谢您的帮助。
amazon-web-services - 用于检查和警告从本地到 AWS 中的数据库或服务的连接问题的监控工具
是否有任何监控警报工具可以监控来自连接源和作为目标的 AWS 数据库的任何连接问题并创建警报?例如,是否有任何工具可以监控连接到 AWS RDS 或 RedShift 的本地实例(源)中的实例。目前,本地使用 vpn 连接到 AWS 环境,我希望实例遇到与数据库的连接问题的警报。我没有在目标端看到任何用于 cloudwatch 的这些,因为它们主要监控资源分配、连接数,这无济于事,因为我们有可变数量的连接。
谢谢
amazon-cloudwatch - 云观察洞察力设置警报
我本来认为使用 cloudwatch 洞察力设置警报很简单。相反,它看起来是不可能的?!?我设置了一个非常复杂的查询,如下所示,当计数结果 > 1 时,我想触发一些东西(电子邮件,..)。如果洞察力是不可能的,考虑这个查询的替代方法是什么?
在此先感谢马尔科
amazon-web-services - AWS CloudWatch 状态更改规则和计划
我有一个带有以下代码的状态更改 CloudWatch 警报:
它工作正常,但它也会触发 AWS Instance Scheduler 的事件。有什么方法可以防止预定的状态更改触发此警报?我用谷歌搜索它,但没有成功。
amazon-web-services - AWS CloudWatch - 来自平均指标计数的警报,没有足够的数据
我有一个特定的场景,我有 5 个 EC2 虚拟机在给定时间运行,我监控所有这些虚拟机的“memory_usage_percent”指标值。现在,如果指标的平均值达到 80% 的阈值,那么我想触发为这些指标创建的警报,这将启动另一个处于停止状态的 VM。
因此,如果 m1...m6 是这些指标的 id,那么 avg(metrics(m1,m2,m3,m4,m5,m6)) 将是我需要放入 CW 警报中的数学表达式。但是,在这种情况下,即使所有 5 个 VMS 一起达到阈值,但由于没有来自第 6 个 VM 的任何数据,计算的 avg 将保持在阈值以下。这意味着在这种情况下永远不会触发警报。
您有什么建议只考虑所有正在运行的虚拟机吗?
amazon-web-services - 扩大规模时 Cloudwatch 不发送电子邮件通知
你有一个 cloudformation yaml 模板。Cloudwatch 应该在 CPU > 55% 5 分钟时发送电子邮件(例如)。但是没有电子邮件进来。日志中没有错误。模板也执行得很好。
你能帮我找出问题所在吗?
谢谢。
json - AWS CloudWatch 复合警报的 SNS 通知消息不是 JSON 字符串
触发 AWS cloudwatch 复合警报时收到的 SNS 通知消息如下
{'message':'{"AlarmName":"TestCloudwatchAlarmComposite","AlarmDescription":"","AWSAccountId":"","NewStateValue":"ALARM","NewStateReason":"arn:aws:cloudwatch:region:accountId:alarm:FreeStorage transitioned to ALARM at Thursday 08 July, 2021 16:08:51 UTC","StateChangeTime":"2021-07-08T16:08:51.378+0000","Region":"US West (Oregon)","AlarmArn":"arn:aws:cloudwatch:region:accountId:alarm:TestCloudwatchAlarmComposite","OldStateValue":"OK","AlarmRule":"ALARM("MasterJVMMemoryPressureESInt") OR \\nALARM("MasterCPUUtilizationESInt") OR \\nALARM("JVMMemoryPressureESInt") OR \\nALARM("CPUUtilizationESInt") OR \\nALARM("AutomatedSnapshotFailureAlarmInt") OR \\nALARM("FreeStorage") OR \\nALARM("NodesCount") OR \\nALARM("YellowClusterInt") OR \\nALARM("RedClusterInt")","TriggeringChildren":[{"Arn":"arn:aws:cloudwatch:region:accountId:alarm:FreeStorage","State":{"Value":"ALARM","Timestamp":"2021-07-08T16:08:51.378+0000"}}]}
这里的问题是message
key 不是 JSON 字符串,因为嵌套AlarmRule
key 的值有多个"
. 因此,通知消息在发送给 slack 或团队之前无法正确格式化。
我想确认是否有任何其他开发人员遇到过这个问题,如果有,可能的解决方法是什么。