檢視簡訊傳遞的 Amazon CloudWatch 指標和日誌 - Amazon Simple Notification Service

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

檢視簡訊傳遞的 Amazon CloudWatch 指標和日誌

您可以使用 Amazon CloudWatch 和 Amazon CloudWatch Logs 監控您的簡訊傳遞。

檢視 Amazon CloudWatch 指標

Amazon SNS 會自動收集有關您的簡訊傳遞的指標並將其推送至 Amazon CloudWatch。您可以使用 CloudWatch 監控這些指標,並建立提醒在指標超過閾值時提醒您。例如,您可以監控 CloudWatch 指標,以得知您的簡訊傳送率和您本月至今的簡訊費用。

如需有關監控 CloudWatch 指標、設定 CloudWatch 提醒和可用指標類型的資訊,請參閱 使用 Amazon CloudWatch 監控 Amazon SNS 主題

檢視 CloudWatch Logs

您可以啟用 Amazon SNS 寫入 Amazon CloudWatch Logs 來收集有關成功和未成功傳送簡訊的資訊。對於您傳送的每一則簡訊,Amazon SNS 都會寫入日誌,其中包括訊息價格、狀態為成功或失敗、失敗的原因 (如果訊息失敗的話)、訊息駐留時間和其他資訊。

為簡訊啟用和檢視 CloudWatch Logs
  1. 登入 Amazon SNS 主控台

  2. 在主控台選單中,設定區域選擇器為支援簡訊的區域

  3. 在導覽面板上,選擇 Text messaging (SMS) (簡訊 (SMS))。

  4. Mobile text messaging (SMS) (行動裝置簡訊 (SMS)) 頁面上,於 Text messaging preference (簡訊喜好設定) 區段中,選擇 Edit (編輯)。

  5. 在下一個頁面上,展開 Delivery status logging (交付狀態記錄日誌) 區段。

  6. 對於 Success sample rate (成功取樣率),指定簡訊成功傳遞的百分比,且 Amazon SNS 將在 CloudWatch Logs 中寫入日誌。例如:

    • 若要僅針對失敗的傳遞寫入日誌,將此值設為 0。

    • 若要針對 10% 的成功傳遞寫入日誌,將其設為 10。

    如果不指定百分比,Amazon SNS 會將所有成功的傳遞寫入日誌。

  7. 若要提供必要的許可,請進行下列其中一個動作:

    • 若要建立新的服務角色,請選擇 Create new service role (建立新服務角色) 然後 Create new roles (建立新角色)。在下一頁上,選擇 Allow (允許),為您的帳戶資源提供 Amazon SNS 寫入存取權。

    • 若要使用現有的服務角色,請選擇 Use existing service role (使用現有的服務角色),然後將 ARN 名稱貼到 IAM role for successful and failed deliveries (成功和失敗交付的 IAM 角色) 方塊。

      您指定的服務角色必須允許對帳戶資源的寫入存取權限。如需為服務建立 IAM 角色的詳細資訊,請參閱 IAM 使用者指南中的建立 AWS 服務的角色

  8. 選擇 Save changes (儲存變更)。

  9. 回到 Mobile text messaging (SMS) (行動裝置簡訊 (SMS)) 頁面上,移至 Delivery status logs (傳遞狀態記錄) 區段以檢視任何可用的記錄檔。

    注意

    根據目的地電話號碼的電信業者,Amazon SNS 主控台最多可能需要 72 小時的時間才會出現在 Amazon SNS 主控台中。

成功傳送簡訊的範例日誌

成功傳送簡訊的傳遞狀態日誌類似以下範例:

{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 310, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 599, "dwellTimeMsUntilDeviceAck": 1344 }, "status": "SUCCESS" }

傳送簡訊失敗的範例日誌

傳送簡訊失敗的傳遞狀態日誌類似以下範例:

{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }

簡訊傳遞失敗的原因

提供具有 providerResponse 屬性的失敗原因。簡訊可能因為下列原因傳遞失敗:

  • 被電話的電信業者視為垃圾郵件而封鎖

  • 目的地位於封鎖清單上

  • 電話號碼無效

  • 訊息內文無效

  • 電話電信業者已封鎖此訊息

  • 電話電信業者目前無法聯絡上/無法使用

  • 電話已封鎖簡訊

  • 手機在封鎖清單上

  • 電話目前無法聯絡上/無法使用

  • 電話號碼退訂

  • 此傳送會超出價格上限

  • 嘗試聯絡電話時發生未知的錯誤