【发布时间】:2021-10-21 08:29:27
【问题描述】:
请给我建议一种方法,让我每天一次收到所有计算引擎实例活动的电子邮件通知 我需要获取所有详细信息,例如我的虚拟机何时启动,何时停止运行了多少小时
【问题讨论】:
-
Google Cloud 不提供这些功能。您需要编写自己的软件来解析 Cloud Logging 或查找第三方产品。
请给我建议一种方法,让我每天一次收到所有计算引擎实例活动的电子邮件通知 我需要获取所有详细信息,例如我的虚拟机何时启动,何时停止运行了多少小时
【问题讨论】:
要在 VM 启动或停止时收到警报,请按照以下步骤操作。
为 VM 启动创建基于日志的指标。
转到控制台-> 日志记录-> 基于日志的指标-> 单击创建指标-> 选择计数器作为指标-> 给出指标名称-> 单位为 1。
在构建过滤器框中使用以下查询。
resource.type="gce_instance"
protoPayload.methodName="v1.compute.instances.start"
为 VM 停止创建基于日志的指标。
按照上面提到的相同步骤并在构建过滤器框中使用以下查询。
resource.type="gce_instance"
protoPayload.methodName="v1.compute.instances.stop"
为 VM 启动警报创建警报策略和通知通道。
转到控制台中的监控 -> 单击警报 -> 创建策略 -> 选择资源类型作为 VM 实例 -> 选择上面创建的指标进行启动 -> 在配置中选择“任何时间序列违反”作为条件触发器,“高于”作为条件,0 为阈值,“最新值”为 For。
点击下一步。
点击通知渠道。如果没有现有频道,则通过单击“管理通知频道”创建。点击电子邮件并输入您的电子邮件地址。
重复上述相同步骤,为 VM 停止警报创建警报策略和通知通道。
如果您停止并启动任何 VM,您现在将收到一封电子邮件警报。要查看您收到通知的实例,请转到警报和事件,单击特定策略名称。
获取警报或检查 VM 的运行时间。
在监控页面点击组->创建组->输入组名->资源类型为类型,VM实例为资源类型。
转到监控页面中的警报 -> 创建策略 -> 选择资源类型作为 VM 实例 -> 选择正常运行时间总计作为指标 -> 选择组作为过滤器并选择上面创建的组 -> 均值作为聚合器 -> 在配置中选择“任何时间序列违反”作为条件触发器,选择“高于”作为条件,选择 0 作为阈值,选择“23 小时 30 分钟”作为条件。
点击下一步并选择通知渠道。
注意:您可以通过在监控页面的metrics explorer中选择资源类型(VM Instance)、metric(Uptime Total)和filter(instance_name)来直接监控VM的运行时间。
参考链接:
Log-based-metrics
Alerting Policies
Incidents-for-log-based-metrics
Metrics Explorer
【讨论】: