Stackdriver 监控 - 指标缺失

Posted

技术标签:

【中文标题】Stackdriver 监控 - 指标缺失【英文标题】:Stackdriver monitoring - Metric Absent 【发布时间】:2019-04-05 08:27:35 【问题描述】:

我正在尝试在我的实例关闭时进行监控并获得警报。为此,我在 stackdriver 中配置了警报策略,如下所示:

指标缺失条件

在以下情况下违反:CPU 使用率(GCE 监控)缺席超过 5 分钟

它仅在第一次工作,然后从未为任何停止的实例创建任何事件。 我在这里想念什么?

【问题讨论】:

您使用哪些通知渠道配置了警报策略?如果您使用电子邮件渠道,通常会从 alerts@stackdriver.com 发送电子邮件,因此请确保该地址未被您的电子邮件客户端过滤或阻止。您也可以尝试使用其他频道。 我已经为警报通知配置了电子邮件,但我认为问题出在监控指标本身,因为堆栈驱动程序监控 GUI 上什至没有显示任何事件。 您有一个有效的点,如果满足政策条件但没有在警报/事件下进行条目,那么这不太可能是渠道问题。您之前提到过它在设置后立即工作,是否有任何条目记录了该违规行为?此外,在 Stackdriver Logging 的高级过滤器中,使用以下过滤器检查是否有该 VM resource.type="gce_instance" AND (resource.labels.instance_id="[VM instance ID]" AND resource.labels.zone="[Zone]" AND resource.labels.project_id="[Project Name]") 的日志 要查找 VM 实例 ID,请转到 VM 实例页面,单击您正在监视的 VM -> 向下滚动并单击等效 REST,然后检查 REST 响应代码是否有类似这样的内容:@ 987654323@。如果通过这种方式找不到日志,我建议在 Google 问题跟踪器中提交 private issue。这将创建一个私人问题,只有您和 Google 员工才能使用受影响的项目编号访问该问题。因此支持团队可以进一步调查此问题。 谢谢@SunnyJ。 ,我会试试这个然后回来。 【参考方案1】:

预期行为

@Jyotsna。我对这个问题进行了更多调查,并且能够确认这是当前的预期行为,因为警报条件不是由非活动实例触发的,这解释了原因,当 VM 实例 CPU 未注册任何警报时,您将不会收到任何警报指标。但是,目前有一个 Feature Request 正在更新此行为。

已知问题

还有一个已知问题似乎导致即使在有问题的虚拟机重新上线后,在随后违反政策的情况下也没有将日志发送到 Stackdriver 的行为。这就解释了为什么,

它只在第一次工作,然后从未为任何停止的实例创建任何事件。

因此,在问题得到解决之前,停止的实例将无法正常工作。不幸的是,没有预计到达时间。关于这一点,但最终,它会得到解决。

【讨论】:

感谢@Sunny,我向 Google 提出了支持请求,他们也做出了同样的解释。我觉得它模棱两可,因为第一次发送警报。根据谷歌的 Metrics 没有文档,应该有一个数据点来监控,因此,当第一次实例出现故障时,stackdriver 代理会记录事件并发送警报。现在,当实例再次启动并运行时,它不再处于非活动状态,代理应该再次运行并再次监控,并且应该与以前完全相同,假设将再次记录使用指标。如果我错了,请纠正我。 这个issuetracker.google.com/issues/119491735 是由那里的支持团队应我的要求创建的。 :) @Jyotsna。你没有错,这是绝对正确的。我进一步调查了这个问题,这似乎是目前公制缺失警报中的一个已知问题。因此,在问题得到解决之前,停止的实例将无法正常工作。不幸的是,没有预计到达时间。对此,但目前正在进行修复。我还更新了上述答案以反映这一点。 问题仍然存在。 IMO 这是任何依赖于指标的监控系统的基本功能 - 但 Stackdriver 还没有。 Prometheus 的 QL 轻松支持这一点。

以上是关于Stackdriver 监控 - 指标缺失的主要内容,如果未能解决你的问题,请参考以下文章

GKE 和 prometheus 监控

Stackdriver 上未显示自定义 OpenCensus 指标

用于错误报告的Stackdriver监视指标?

用于将自定义 OpenCensus 指标写入 GKE 上的 StackDriver 的简单 hello world 演示?

google cloud Stackdriver Metrics 以扩展管理实例组 - 区域

Stackdriver 警报“减少”条件失火