我想通过 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

在stackdriver上监视VM进程

用于监控谷歌云 pubsub 中未传递消息的 REST API

Stackdriver Logging 可以接收 syslog 协议吗?

安装在 VM 上的 GCP stackdriver-agent 每分钟发送一次奇怪的日志

Stackdriver 监控 - 指标缺失