本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控解决方案
日志记录和通知
实例计划程序使用针对 Logs Insight CloudWatch s 查询进行了优化的结构化日志记录。此解决方案将记录每个已标记实例的处理信息、实例的时段评估结果、时段内的实例所需状态、已应用的操作和调试消息。
日志按两个日志组写入 Amazon CloudWatch 日志:
-
{stackName}-{namespace}-administrative-logs -
资源注册和注销、自定义资源操作、CLI 请求和其他管理活动的日志。
-
{stackName}-{namespace}-scheduling-logs -
用于调度操作的日志,包括编排和请求处理程序执行。
警告和错误日志还会转发到解决方案创建的 Amazon SNS 主题,该主题可配置为向订阅的电子邮件地址发送消息。您可以在解决方案堆栈的输出选项卡中找到该 Amazon SNS 主题的名称。
CloudWatch 记录见解查询
实例调度器的结构化日志格式支持使用 CloudWatch Logs Insights 进行高效查询。您可以使用 Logs Insights 来搜索、分析和可视化日志数据,以解决操作问题并监控计划活动。
Instance Scheduler 提供预格式化的日志查询,您可以从 CloudWatch 日志控制台的 “已保存查询” 部分访问这些查询:
-
SchedulingHistory -
查询对资源执行的调度操作,包括启动和停止操作。
-
RegistrationEvents -
查询资源注册和注销事件。
-
Errors -
查询错误日志,对解决方案的问题进行故障排除。
有关 Lo CloudWatch gs Insights 的更多信息,请参阅 Amazon Logs 用户指南中的使用 CloudWatch CloudWatch 日志见解分析日志数据。
运营洞察控制面板
Operation Insights 仪表板可让您深入了解计划实例管理带来的解决方案性能和成本节约。
要访问控制面板,请确保在中心堆栈参数中将操作监控设置为 “启用”。导航到导航菜单 CloudWatch 并选择 “仪表板”。仪表板名称为 * {stack-name}-Operational-Insights-D ashboard*。
控制面板显示托管实例计数、节省的运行时数和 Lambda 函数性能指标。
运营见解仪表板概述
注意
这些图表中的信息取决于解决方案中心堆栈上配置的计划间隔。更新解决方案的计划间隔时,控制面板将仅显示计划间隔最近一次更新之后的计划指标。
监控 Lambda 执行时间以确保最佳性能(参见配额)。如果执行时间一直接近超时阈值,请考虑增加 Lambda 大小属性或将实例调度器部署到托管区域延迟较低的区域。
显示持续时间和错误计数的 Lambda 指标
与此功能相关的额外成本
此操作仪表板由解决方案收集的自定义 CloudWatch 指标提供支持,这将产生额外费用。可通过在解决方案中心堆栈上禁用“运营监控”来关闭此功能。此功能的额外成本为每月 3.00 美元,此外还会根据部署规模产生额外的扩展成本。具体成本如下:
| 自定义 CloudWatch 控制面板 | 3 美元 |
|---|---|
|
Per-instance-type 指标 |
每实例类型 0.90 美元* |
|
API 使用 |
*这些费用按服务类别 (EC2/RDS) 进行跟踪,并且仅针对实际用于调度的实例类型进行跟踪。
*
监视 EventBridge 事件
Instance Scheduler 将调度和注册事件发布到EventBridge 事件总线,以提供解决方案操作的可见性并实现与其他 AWS 服务的集成。
事件类型
该解决方案发布了两类主要的事件:
计划事件:在实例计划程序采取措施启动、停止或配置托管资源时发布。这些事件包括有关实例、计划和所采取的操作的详细信息。启动、停止或配置托管资源。这些事件包括有关实例、时间表和所采取的操作的详细信息。
注册事件:在资源注册或取消注册以进行基于标记操作的调度时发布。
活动目的地
IS-LocalEvents 事件总线:IS-LocalEvents事件总线部署在每个成员账户(包括中心账户)的每个托管区域。每条总线都会接收用于在该区域内调度操作和资源注册的事件。
IS-GlobalEvents 事件总线:中心账户中的IS-GlobalEvents事件总线会收到发送到任何IS-LocalEvents事件总线的每个事件的副本,从而对所有账户和区域进行集中监控。
使用 EventBridge 事件
您可以为以下目的创建 EventBridge 规则:
-
监控整个基础架构的调度操作
-
在实例启动或停止时触发通知
-
与其他 AWS 服务集成,实现自动化工作流程
-
实施合规性监控和警报
事件结构
所有活动都使用标准 EventBridge 格式。以下示例显示了每种事件类型的结构:
日程安排活动:
{ "Source": "instance-scheduler", "DetailType": "Scheduling Action", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "requested_action": "Start", "action_taken": "Started", "schedule": "office-hours" } }
报名活动:
{ "Source": "instance-scheduler", "DetailType": "Resource Registered", "Resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "Detail": { "account": "123456789012", "region": "us-east-1", "service": "ec2", "resource_id": "i-1234567890abcdef0", "schedule": "office-hours" } }
每个事件都包含以下关键字段:
-
Source-将事件源标识为 “实例调度器” -
DetailType-指定事件类别:“计划操作”(例如操作)或标记事件的 “已注册资源” -
Resources-包含受影响的 ARNs AWS 资源的数组 -
Detail-包含带有账户 ID、区域、服务类型 (ec2/rds)、资源 ID、计划名称的事件负载,对于计划事件,包括请求的操作和实际结果
调度事件的可能requested_action值:
-
Start: 用于启动实例的调度程序 -
Stop: 计划程序旨在停止实例 -
Configure: 用于配置实例的调度程序
调度事件的可能action_taken值:
-
Started: 实例已启动 -
Stopped: 实例已停止 -
Hibernated: 实例已休眠 -
Configured: 实例配置已修改 -
Error: 调度操作期间出错
创建 EventBridge 规则
要监控实例调度器事件,请执行以下操作:
-
在您的 AWS 账户中导航到 EventBridge 控制台
-
创建针对
IS-GlobalEvents事件总线(用于集中式监视)或IS-LocalEvents事件总线(用于本地监控)的新规则 -
定义事件模式以匹配实例调度器事件
-
配置目标,例如 SNS 主题、Lambda 函数或日志 CloudWatch
有关更多信息 EventBridge,请参阅 Amazon 是什么 EventBridge? 在《亚马逊 EventBridge 用户指南》中。