我想通过 stackdriver 监控发送 AWS 实例的指标警报(在组设置中)
Posted
技术标签:
【中文标题】我想通过 stackdriver 监控发送 AWS 实例的指标警报(在组设置中)【英文标题】:I want to send metric alert (in group setting) of AWS instance with stackdriver monitoring 【发布时间】:2018-03-10 04:59:15 【问题描述】:我的问题是在使用 stackdriver 监控 AWS 指标时进行设置。 我在下面尝试过,但是警报(策略)不起作用。 如何使用组设置发送警报(策略)? 我不要的是单人监控,我要的是组设置。
我通过角色设置完成了 aws 帐户的 stackdriver 监控设置。接下来,我设置了组设置警报(策略)指标如下。 平均负载 > 5 磁盘使用率 > 80%目标是一些 ec2 实例,这些是组设置。
-
我完成了这些设置。接下来,进行压力测试。
我查看了指标。然后图表超过了阈值。
但未发送警报(策略),也未打开事件。
以下是详细信息。
警报(策略)创建
-
转到[警报/政策/目标政策]
[添加条件],用于下一步选择[指标阈值]
资源类型为实例(EC2)
适用于是组
选择组。该组包括 EC2 实例。
条件触发如果:任何成员违规
IF METRIC 为 [CPU 平均负载(过去 1m)
条件高于
THRESHOLD 为 5 个负载
FOR 是 1 分钟
按名称写入并推送 [保存策略]
压力测试
-
SSH 到目标实例。
执行压力测试。
确认上述平均负载已达到 5。
但未发送警报(策略)
确认 Stackdriver
-
确认上述平均负载已达到 5,带有警报设置页面。
但未打开事件。
我尝试了其他设置
对于 GCP 实例,警报将正常工作。既是组设置,也是单设置。 警报适用于单一配置中的 AWS 实例,但不适用于组设置。版本信息
堆栈驱动程序 stackdriver-agent 版本:stackdriver-agent.x86_64 5.5.2-366.amzn1 AWS 操作系统:亚马逊 Linux 版本:2016.03 ID_LIKE: rhel fedora更多细节请cmets。
【问题讨论】:
【参考方案1】:如果代理配置不正确并且将指标发送到错误的项目,这可能会导致所描述的行为。这适用于单个实例,但不适用于实例组。这可能适用于 GCP,因为它是用于监控 GCE 实例的零设置。这会导致使用组过滤器的任何警报都不起作用。
https://cloud.google.com/monitoring/agent/troubleshooting#verify-project “如果您使用的是 Amazon EC2 VM 实例,或者如果您在 Google Compute Engine 实例上使用私钥凭证,则凭证可能无效,或者它们可能来自错误的项目。对于 AWS 账户,该项目由代理必须是 AWS 连接器项目,通常命名为“AWS Link...”。”
https://cloud.google.com/monitoring/agent/troubleshooting#verify-running 的这些说明有助于验证代理是否正确发送指标。
【讨论】:
以上是关于我想通过 stackdriver 监控发送 AWS 实例的指标警报(在组设置中)的主要内容,如果未能解决你的问题,请参考以下文章
如何将本地 Kubernetes 日志发送到 Stackdriver
用于监控谷歌云 pubsub 中未传递消息的 REST API
Stackdriver Logging 可以接收 syslog 协议吗?