使用 Amazon CloudWatch 監控 Amazon SNS 主題 - Amazon Simple Notification Service

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

使用 Amazon CloudWatch 監控 Amazon SNS 主題

Amazon SNS 和 Amazon CloudWatch 已經整合,讓您可收集、檢視和分析每個作用中 Amazon SNS 通知的指標。一旦您為 Amazon SNS 設定好 CloudWatch 之後,就可以對於您的 Amazon SNS 主題、推送通知和簡訊傳送獲得更深入的效能洞察。例如,您可以設定警示,在達到 Amazon SNS 指標的指定閾值 (例如 NumberOfNotificationsFailed) 時傳送電子郵件通知。有關 Amazon SNS 傳送至 CloudWatch 之所有指標的清單,請參閱 Amazon SNS 指標。如需使用 Amazon SNS 推送通知的詳細資訊,請參閱 使用 Amazon SNS 傳送行動推播通知

注意

自動收集您為 Amazon SNS 主題設定 CloudWatch 的指標,並在 1 分鐘間隔推送到 CloudWatch。這些指標會針對所有符合 CloudWatch 作用中的要求的主題進行收集。被 CloudWatch 視為作用中的主題為自上次在主題上活動 (例如任何 API 呼叫) 已長達六小時者。

CloudWatch 中所報告的 Amazon SNS 指標不會產生費用;這是做為 Amazon SNS 服務的一部分提供。

檢視 Amazon SNS 的 CloudWatch 指標

您可以使用 CloudWatch 主控台、CloudWatch 本身的命令列界面 (CLI) 或使用 CloudWatch API 的程式設計方式來監控 Amazon SNS 指標。下列程序顯示如何使用 AWS Management Console存取指標。

使用 CloudWatch 主控台檢視指標
  1. 登入 CloudWatch 主控台

  2. 在導覽面板上,選擇 Metrics (指標)

  3. All metrics (所有指標) 標籤上,選擇 SNS,然後選擇下列其中一個維度:

    • Country, SMS Type (國家/地區,簡訊類型)

    • PhoneNumber

    • Topic Metrics (主題指標)

    • Metrics with no dimensions (無維度的指標)

  4. 若要檢視更多詳細資訊,請選擇特定項目。例如,如果您選擇 Topic Metrics (主題指標),然後選擇 NumberOfMessagesPublished,則會顯示 6 小時範圍內一分鐘時間所發佈 Amazon SNS 訊息的平均數量。

  5. 若要檢視 Amazon SNS 用量指標,請在 All metrics (所有指標) 索引標籤上選擇 Usage (用量),然後選取 target Amazon SNS usage metric (針對 Amazon SNS 用量指標) (例如 NumberOfMessagesPublishedPerAccount)。

設定 Amazon SNS 指標的 CloudWatch 警示

CloudWatch 亦可讓您設定到達指標的閾值時的警示。例如,您可以設定指標 NumberOfNotificationsFailed 的警示,以便在抽樣週期內到達指定的閾值時,傳送電子郵件通知給您通知您發生事件。

使用 CloudWatch 主控台設定警示
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 選擇 Alarms (警示),然後選擇 Create Alarm (建立警示) 按鈕。這會啟動 Create Alarm (建立警示) 精靈。

  3. 捲動 Amazon SNS 指標以找到您要設定警示的指標。選取要建立警示的指標,然後選擇 Continue (繼續)。

  4. 填入指標的 Name (名稱)、Description (描述)、Threshold (閾值) 和 Time (時間) 值,然後選擇 Continue (繼續)。

  5. 選擇 Alarm (警示) 做為警示狀態。如果您希望 CloudWatch 在達到警示狀態時傳送電子郵件給您,請選擇現有的 Amazon SNS 主題或選擇 Create New Email Topic (建立新的電子郵件主題)。如果您選擇 Create New Email Topic (建立新的電子郵件主題),即可為新的主題設定名稱和電子郵件地址。此清單將會儲存並顯示在下拉式方塊中,供未來警示用。選擇 Continue (繼續)。

    注意

    如果您使用 Create New Email Topic (建立新的電子郵件主題) 來建立新的 Amazon SNS 主題,電子郵件地址必須先經過驗證才會接收通知。電子郵件只有在警示進入警示狀態時才會傳送。如果此警示狀態在驗證電子郵件地址之前發生變更,就不會收到通知。

  6. 此時,Create Alarm (建立警示) 精靈會提供您機會檢閱您將建立的警示。如果您需要進行任何變更,可以使用右邊的 Edit (編輯) 連結。編輯好之後,選擇 Create Alarm (建立警示)。

如需使用 CloudWatch 和警示的詳細資訊,請參閱 CloudWatch 文件

Amazon SNS 指標

Amazon SNS 會傳送下列指標至 CloudWatch。

命名空間 指標 描述

AWS/SNS

NumberOfMessagesPublished

發佈至 Amazon SNS 主題的訊息數量。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和

AWS/SNS

NumberOfNotificationsDelivered

成功從 Amazon SNS 主題傳送至訂閱端點的訊息數量。

為了讓傳遞嘗試成功,端點的訂閱必須接受訊息。訂閱接受訊息的情況為 a.) 它缺少篩選條件政策或 b.) 其篩選條件政策包含符合指派給該訊息的屬性。如果訂閱拒絕訊息,此指標不會計入傳遞嘗試次數。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和

AWS/SNS

NumberOfNotificationsFailed

Amazon SNS 無法傳送之訊息的數量。

對於 Amazon SQS、電子郵件、簡訊或行動推送端點,當 Amazon SNS 停止嘗試傳遞訊息,此指標會以 1 的方式遞增。對於 HTTP 或 HTTPS 端點,指標包含每個失敗的傳遞嘗試,包括首次嘗試之後的重試次數。對於所有其他端點,計數會在訊息傳遞失敗時增加 1 (不論嘗試次數多寡)。

這個指標不包含被訂閱篩選政策拒絕的訊息。

您可以控制 HTTP 端點的重試數目。如需詳細資訊,請參閱Amazon SNS 訊息傳遞重試

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut

被訂閱篩選政策拒絕的訊息數。當訊息屬性不符政策屬性時,篩選政策會拒絕訊息。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut-MessageAttributes

被以屬性為基礎篩選的訂閱篩選政策拒絕的訊息數。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut-MessageBody

被以承載為基礎篩選的訂閱篩選政策拒絕的訊息數。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut-InvalidAttributes

因為訊息屬性無效而被訂閱篩選條件政策拒絕的訊息數量,例如,因為屬性 JSON 的格式不正確。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut-NoMessageAttributes

因為訊息沒有屬性而被訂閱篩選條件政策拒絕的訊息數量。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFilteredOut-InvalidMessageBody

因訊息內文無效而被訂閱篩選政策拒絕的訊息數,例如,JSON 訊息內文無效。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsRedrivenToDlq

已移至無效字母佇列的訊息數量。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

NumberOfNotificationsFailedToRedriveToDlq

無法移至無效字母佇列的訊息數量。

單位:計數

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:總和、平均

AWS/SNS

PublishSize

已發佈訊息的大小。

單位:位元組

有效維度:Application、 PhoneNumber、 Platform 和 TopicName

有效統計資料:最小值、最大值、平均值和計數

AWS/SNS

SMSMonthToDateSpentUSD

您從當月月初開始傳送簡訊所累計的費用。

您可以為此指標設定警示,以得知本月至今的費用是否已接近您帳戶的每月簡訊費用配額。當 Amazon SNS 判定傳送簡訊會致使成本超過此配額時,就會在幾分鐘內停止發步簡訊。

如需有關每月簡訊費用配額的設定資訊,或者要求 AWS提高費用配額的相關資訊,請參閱 在 Amazon SNS 中設定簡訊偏好設定

單位: USD

有效維度:

有效統計資料:總和

AWS/SNS

SMSSuccessRate

成功傳送簡訊的比率。

單位:計數

有效維度:PhoneNumber

有效統計資料:總和、平均、資料範例

Amazon SNS 指標的維度

Amazon Simple Notification Service 會傳送下列維度至 CloudWatch。

維度

描述

Application

篩選應用程式物件,該物件代表向其中一個支援的推送通知服務 (例如 APN 和 FCM) 註冊的應用程式和裝置。

Application,Platform

篩選應用程式和平台物件,其中平台物件適用於支援的推送通知服務,例如 APN 和 FCM。

Country

篩選簡訊的目的地國家/地區或區域。國家/地區或區域是以其 ISO 3166-1 alpha-2 代碼表示。

PhoneNumber

當您直接將簡訊發佈至電話號碼 (不含主題) 時,篩選電話號碼。

Platform

篩選適用於推送通知服務 (例如 APN 和 FCM) 的平台物件。

TopicName

篩選 Amazon SNS 主題名稱。

SMSType

篩選簡訊的訊息類型。可以是促銷型交易型

Amazon SNS 用量指標

Amazon Simple Notification Service 會傳送下列用量指標至 CloudWatch。

命名空間

服務

指標

資源

類型

描述

AWS/用量 SNS ResourceCount NumberOfMessagesPublishedPerAccount 資源
  • 在您的 AWS 帳戶中發佈至 Amazon SNS 主題的訊息數量。

  • 單位:無

  • 有效的統計資訊:總和

AWS/用量 SNS ResourceCount ApproximateNumberOfTopics 資源
  • 您 AWS 帳戶中的大約主題數量。

  • 單位:無

  • 有效統計資訊:平均數、下限、上限、總和

AWS/用量 SNS ResourceCount ApproximateNumberOfFilterPolicies 資源
  • 您  AWS  帳戶中的大致篩選政策數量。

  • 單位:無

  • 有效統計資訊:平均數、下限、上限、總和

AWS/用量 SNS ResourceCount ApproximateNumberOfPendingSubscriptions 資源
  • 您 AWS 帳戶中待定訂閱的大約數量。

  • 單位:無

  • 有效統計資訊:平均數、下限、上限、總和

AWS/用量 SNS CallCount
  • AddPermission

  • CheckIfPhoneNumberIsOptedOut

  • CreatePlatformApplication

  • CreatePlatformEndpoint

  • ConfirmSubscription

  • CreateSMSSandboxPhoneNumber

  • CreateTopic

  • DeleteEndpoint

  • DeletePlatformApplication

  • DeleteSMSSandboxPhoneNumber

  • DeleteTopic

  • GetEndpointAttributes

  • GetPlatformApplicationAttributes

  • GetSMSAttributes

  • GetSMSSandboxAccountStatus

  • GetSubscriptionAttributes

  • GetTopicAttributes

  • ListEndpointsByPlatformApplication

  • ListOriginationNumbers

  • ListPhoneNumbersOptedOut

  • ListPlatformApplications

  • ListSMSSandboxPhoneNumbers

  • ListSubscriptions

  • ListSubscriptionsByTopic

  • ListTagsForResource

  • ListTopics

  • OptInPhoneNumber

  • RemovePermission

  • SetEndpointAttributes

  • SetPlatformApplicationAttributes

  • SetSMSAttributes

  • SetSubscriptionAttributes

  • SetTopicAttributes

  • Subscribe

  • Unsubscribe

  • UntagResource

  • VerifySMSSandboxPhoneNumber

API
  • 您 AWS 帳戶中所選 Amazon SNS API 的 API 呼叫次數。

  • 單位:無

  • 有效的統計資訊:總和