監控解決方案 - AWS 上的執行個體排程器

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控解決方案

記錄和通知

Instance Scheduler 使用針對 CloudWatch Logs Insights 查詢最佳化的結構化記錄。此解決方案會記錄每個已標記執行個體的處理資訊、執行個體期間評估的結果、該期間執行個體的所需狀態、套用的動作,以及偵錯訊息。

日誌會以兩個日誌群組寫入 Amazon CloudWatch Logs:

{stackName}-{namespace}-administrative-logs

資源註冊和取消註冊、自訂資源操作、CLI 請求和其他管理活動的日誌。

{stackName}-{namespace}-scheduling-logs

排程操作的日誌,包括協同運作和請求處理常式執行。

警告和錯誤日誌也會轉送至解決方案建立的 Amazon SNS 主題,該主題可設定為將訊息傳送至訂閱的電子郵件地址。您可以在解決方案堆疊的輸出索引標籤中找到 Amazon SNS 主題的名稱。

CloudWatch Logs Insights 查詢

Instance Scheduler 的結構化記錄格式可讓您使用 CloudWatch Logs Insights 有效率地查詢。您可以使用 Logs Insights 來搜尋、分析和視覺化日誌資料,以疑難排解操作問題並監控排程活動。

Instance Scheduler 提供預先格式化的日誌查詢,您可以從 CloudWatch Logs 主控台的已儲存查詢區段存取:

SchedulingHistory

查詢對資源執行的排程動作,包括開始和停止操作。

RegistrationEvents

查詢資源註冊和取消註冊事件。

Errors

查詢錯誤日誌以疑難排解解決方案的問題。

如需 CloudWatch Logs Insights 的詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的使用 CloudWatch Logs Insights 分析日誌資料Amazon CloudWatch

營運洞見儀表板

Operational Insights 儀表板可讓您了解排程執行個體管理的解決方案效能和節省成本。

若要存取儀表板,請確保在中樞堆疊參數中操作監控設定為「啟用」。導覽至 CloudWatch,然後從導覽功能表中選取「儀表板」。儀表板名稱為 *{stack-name}-Operational-Insights-Dashboard*

儀表板會顯示受管執行個體計數、節省的執行時數,以及 Lambda 函數效能指標。

營運洞見儀表板概觀

OpsDashboardOverview
注意

這些圖表中的資訊取決於解決方案中樞堆疊上設定的排程間隔。更新解決方案的排程間隔時,儀表板只會在排程間隔的最新更新之後顯示 的排程指標。

監控 Lambda 執行時間以確保最佳效能 (請參閱配額)。如果執行時間一致地接近逾時閾值,請考慮增加 Lambda 大小屬性,或將執行個體排程器部署到延遲較低的受管區域。

Lambda 指標顯示持續時間和錯誤計數

OpsDashboardLambdaMetrics

與此功能相關的額外費用

此操作儀表板由解決方案收集的自訂 CloudWatch 指標提供支援,會產生額外費用。在解決方案中樞堆疊上停用「操作監控」可以關閉此功能。此功能每月需額外支付 3.00 美元,加上根據您的部署大小而定的額外擴展成本。成本如下:

自訂 CloudWatch Dashboard 3 美元

Per-instance-type指標

每個執行個體類型 $0.90*

API 用量

每個作用中目標約 0.10 USD**

*這些成本會依服務類別 (EC2/RDS) 追蹤,且僅適用於實際用於排程的執行個體類型。

*

監控 EventBridge 事件

Instance Scheduler 會將排程和註冊事件發佈至 EventBridge 事件匯流排,以提供解決方案操作的可見性,並啟用與其他 AWS 服務的整合。

Event types (事件類型)

解決方案會發佈兩個主要類別的事件:

排程事件:執行個體排程器採取動作啟動、停止或設定受管資源時發佈。這些事件包括有關執行個體、排程和所採取動作的詳細資訊。 啟動、停止或設定受管資源。這些事件包括有關執行個體、排程和所採取動作的詳細資訊。

註冊事件:根據標記操作註冊或取消註冊資源以進行排程時發佈。

事件目的地

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 - 將事件來源識別為「instance-scheduler」

  • DetailType - 指定事件類別:執行個體操作的「排程動作」或標記事件的「已註冊資源」

  • Resources - 包含受影響 ARNs陣列

  • Detail - 包含具有帳戶 ID、區域、服務類型 (ec2/rds)、資源 ID、排程名稱,以及排程事件的事件承載,包括請求的動作和實際結果

排程事件的可能requested_action值:

  • Start:用於啟動執行個體的排程器

  • Stop:旨在停止執行個體的排程器

  • Configure:用於設定執行個體的排程器

排程事件的可能action_taken值:

  • Started:執行個體已啟動

  • Stopped:執行個體已停止

  • Hibernated:執行個體已休眠

  • Configured:已修改執行個體組態

  • Error:排程操作期間發生錯誤

建立 EventBridge 規則

若要監控執行個體排程器事件:

  1. 導覽至 AWS 帳戶中的 EventBridge 主控台

  2. 建立以IS-GlobalEvents事件匯流排 (用於集中監控) 或IS-LocalEvents事件匯流排 (用於本機監控) 為目標的新規則

  3. 定義事件模式以符合執行個體排程器事件

  4. 設定目標,例如 SNS 主題、Lambda 函數或 CloudWatch Logs

如需 EventBridge 的詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge? EventBridge