Affichage des journaux et des métriques Amazon CloudWatch pour les distributions de SMS - Amazon Simple Notification Service

Affichage des journaux et des métriques Amazon CloudWatch pour les distributions de SMS

Vous pouvez utiliser Amazon CloudWatch et Amazon CloudWatch Logs pour contrôler les distributions de vos messages SMS.

Affichage des métriques Amazon CloudWatch

Amazon SNS collecte automatiquement des métriques sur vos distributions de SMS et les envoie à Amazon CloudWatch. Vous pouvez utiliser CloudWatch pour contrôler ces métriques et créer des alarmes pour vous avertir lorsqu'une métrique dépasse un seuil. Par exemple, vous pouvez contrôler les métriques CloudWatch afin de connaître votre vitesse de distribution de messages SMS et les frais relatifs aux messages SMS du mois actuel.

Pour plus d'informations sur la surveillance des métriques CloudWatch, la définition d'alarmes CloudWatch et les types de métriques disponibles, consultez Surveillance des rubriques Amazon SNS à l'aide de CloudWatch.

Affichage des CloudWatch Logs

Vous pouvez rassembler des informations sur les distributions de SMS qui ont réussi et celles qui ont échoué, en autorisant Amazon SNS à écrire dans Amazon CloudWatch Logs. Pour chaque SMS que vous envoyez, Amazon SNS écrit un journal qui inclut le prix du message, l'état de réussite ou d'échec, la cause d'échec (le cas échéant), la durée de conservation du message et d'autres informations.

Pour activer et afficher les CloudWatch Logs pour vos messages SMS

  1. Connectez-vous à la console Amazon SNS.

  2. Dans le menu de la console, définissez le sélecteur de région sur une région prenant en charge la messagerie SMS.

  3. Dans le panneau de navigation, choisissez Messages texte (SMS).

  4. Sur la pageSMS mobile, dans la section Préférences de SMS, choisissez Modifier.

  5. Sur la page suivante, développez la section Journalisation de l'état de distribution.

  6. Pour Taux d'échantillonnage de réussite, spécifiez le pourcentage de distributions de SMS réussies pour lesquelles Amazon SNS écrira des journaux dans CloudWatch Logs. Par exemple :

    • Pour écrire des journaux uniquement pour les distributions qui ont échoué, définissez cette valeur sur 0.

    • Pour écrire des journaux pour 10 % des distributions qui ont réussi, définissez-la sur 10.

    Si vous ne spécifiez pas de pourcentage, Amazon SNS écrit des journaux pour toutes les distributions réussies.

  7. Pour fournir les autorisations requises, utilisez une des méthodes suivantes :

    • Pour créer un nouveau rôle de service, choisissez Créer un nouveau rôle de service puis Créer de nouveaux rôles. Sur la page suivante, choisissez Autoriser pour permettre à Amazon SNS d'accéder en écriture aux ressources de votre compte.

    • Pour utiliser un rôle de service existant, choisissez Utiliser le rôle de service existant, puis collez le nom ARN dans la case Rôle IAM pour les distributions ayant réussi et échoué.

      Le rôle de service que vous spécifiez doit autoriser l'accès en écriture aux ressources de votre compte. Pour de plus amples informations sur la création de rôles IAM, veuillez consulter la section Création d'un rôle pour un AWS service dans le Guide de l'utilisateur IAM.

  8. Choisissez Enregistrer les modifications.

  9. De retour sur la page Messagerie texte mobile (SMS), accédez à la section Journaux de l'état de distribution pour afficher tous les journaux disponibles.

    Note

    Selon l'opérateur du numéro de téléphone de destination, l'affichage des journaux de distribution peut durer jusqu'à 72 heures dans la console Amazon SNS.

Exemple de journal pour une distribution SMS réussie

Le journal de l'état de distribution pour une distribution SMS réussie se présente comme l'exemple suivant :

{ "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" }

Exemple de journal pour une distribution SMS ayant échoué

Le journal de l'état de distribution pour une distribution SMS ayant échoué se présente comme l'exemple suivant :

{ "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" }

Causes d'échec de la distribution SMS

La cause d'un échec est fournie avec l'attribut providerResponse. La distribution des SMS risque d'échouer pour les raisons suivantes :

  • Il est bloqué en tant que courrier indésirable par l'opérateur de téléphonie

  • La destination est sur une liste bloquée

  • Le numéro de téléphone n'est pas valide

  • Le corps du message n'est pas valide

  • L'opérateur de téléphonie a bloqué ce message

  • L'opérateur de téléphonie est actuellement inaccessible/indisponible

  • Le téléphone a bloqué le SMS

  • Le téléphone est sur une liste bloquée

  • Le téléphone est actuellement inaccessible/indisponible

  • Le numéro de téléphone est désactivé

  • Cette distribution entraînerait un dépassement du prix maximum

  • Erreur inconnue lors de la tentative d'accès au téléphone