本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控解決方案
記錄和通知
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 函數效能指標。
營運洞見儀表板概觀
注意
這些圖表中的資訊取決於解決方案中樞堆疊上設定的排程間隔。更新解決方案的排程間隔時,儀表板只會在排程間隔的最新更新之後顯示 的排程指標。
監控 Lambda 執行時間以確保最佳效能 (請參閱配額)。如果執行時間一致地接近逾時閾值,請考慮增加 Lambda 大小屬性,或將執行個體排程器部署到延遲較低的受管區域。
Lambda 指標顯示持續時間和錯誤計數
與此功能相關的額外費用
此操作儀表板由解決方案收集的自訂 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 規則
若要監控執行個體排程器事件:
-
導覽至 AWS 帳戶中的 EventBridge 主控台
-
建立以
IS-GlobalEvents事件匯流排 (用於集中監控) 或IS-LocalEvents事件匯流排 (用於本機監控) 為目標的新規則 -
定義事件模式以符合執行個體排程器事件
-
設定目標,例如 SNS 主題、Lambda 函數或 CloudWatch Logs
如需 EventBridge 的詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge?。 EventBridge