Configuration des alertes par e-mail AWS API Gateway pour l'état de l'agent

Python Boto3

Présentation de la configuration des alertes sur AWS

La configuration d'alertes automatisées par e-mail dans AWS API Gateway pour des statuts d'agent spécifiques, tels que « Occupé » ou « Indisponible », présente un défi unique lorsque ces statuts dépassent une certaine durée. Dans ce cas, il est obligatoire d'envoyer des notifications si le statut persiste plus de 15 minutes. Cette fonctionnalité est cruciale pour gérer efficacement les opérations de support client, garantissant qu'aucun agent ne reste inactif ou débordé sans intervention.

Malgré l'existence de systèmes d'alerte par e-mail pour les appels manqués, la configuration d'alertes pour des durées de statut personnalisées dans le panneau de configuration des contacts (CCP) d'Amazon Connect manque de documentation et de support simples. Cette absence de conseils directs nécessite une approche plus personnalisée, combinant les services AWS de manière innovante pour surveiller efficacement les métriques en temps réel et la disponibilité des agents.

Commande Description
boto3.client('connect') Initialise un client pour s'interfacer avec le service Amazon Connect.
boto3.client('sns') Crée un client Simple Notification Service pour envoyer des notifications.
get_current_metric_data Récupère les données de métriques en temps réel pour les ressources spécifiées dans Amazon Connect.
publish Envoie un message aux abonnés d'une rubrique Amazon SNS.
put_metric_alarm Crée ou met à jour une alarme qui surveille une seule métrique CloudWatch.
Dimensions Utilisé dans CloudWatch pour définir les dimensions de la métrique surveillée (par exemple, l'ID d'instance).

Explication détaillée des fonctionnalités du script

Le premier script utilise le kit AWS SDK pour Python, connu sous le nom de Boto3, pour interagir avec Amazon Connect et le Simple Notification Service (SNS). La fonctionnalité principale s'articule autour de commande, qui établit une connexion à Amazon Connect, permettant les opérations liées aux métriques d'état de l'agent. Le script vérifie si la durée du statut personnalisé d'un agent, en particulier les statuts tels que « Occupé » ou « Indisponible », dépasse 15 minutes à l'aide de l'option fonction. Cette fonction récupère les données de métriques en temps réel, permettant d'identifier tout agent ayant dépassé le seuil spécifié.

Si la condition de dépassement du seuil est remplie, le script utilise alors le pour initier la communication avec le service de notification simple d'AWS. Le La commande envoie un e-mail d'alerte aux destinataires spécifiés, les informant du problème d'état. Ce mécanisme de notification est essentiel dans les environnements où le maintien de temps de réponse optimaux des agents est essentiel à la satisfaction du client. Le script garantit une intervention rapide, empêchant toute surveillance qui pourrait entraîner une diminution de la qualité du service ou une augmentation des temps d'attente des clients.

Automatisez les notifications par e-mail en cas de statut d'agent prolongé dans AWS

Fonction Lambda utilisant Python

import boto3
import os
from datetime import datetime, timedelta
def lambda_handler(event, context):
    connect_client = boto3.client('connect')
    sns_client = boto3.client('sns')
    instance_id = os.environ['CONNECT_INSTANCE_ID']
    threshold_minutes = 15
    current_time = datetime.utcnow()
    cutoff_time = current_time - timedelta(minutes=threshold_minutes)
    response = connect_client.get_current_metric_data(
        InstanceId=instance_id,
        Filters={'Channels': ['VOICE'],
                 'Queues': [os.environ['QUEUE_ID']]},
        CurrentMetrics=[{'Name': 'AGENTS_AFTER_CONTACT_WORK', 'Unit': 'SECONDS'}]
    )
    for data in response['MetricResults']:
        if data['Collections'][0]['Value'] > threshold_minutes * 60:
            sns_client.publish(
                TopicArn=os.environ['SNS_TOPIC_ARN'],
                Message='Agent status exceeded 15 minutes.',
                Subject='Alert: Agent Status Time Exceeded'
            )
    return {'status': 'Complete'}

Déclencher des alertes par e-mail pour les statuts d'agent personnalisé AWS CCP

Intégration AWS CloudWatch et SNS

import boto3
import json
def create_cloudwatch_alarm():
    cw_client = boto3.client('cloudwatch')
    sns_topic_arn = 'arn:aws:sns:us-east-1:123456789012:MySNSTopic'
    cw_client.put_metric_alarm(
        AlarmName='CCPStatusDurationAlarm',
        AlarmDescription='Trigger when agent status exceeds 15 minutes.',
        ActionsEnabled=True,
        AlarmActions=[sns_topic_arn],
        MetricName='CustomStatusDuration',
        Namespace='AWS/Connect',
        Statistic='Maximum',
        Period=300,
        EvaluationPeriods=3,
        Threshold=900,
        ComparisonOperator='GreaterThanThreshold',
        Dimensions=[
            {'Name': 'InstanceId', 'Value': 'the-connect-instance-id'}
        ]
    )
    return 'CloudWatch Alarm has been created'

Techniques d'intégration avancées pour les alertes par e-mail AWS

Lors de la configuration des alertes pour AWS API Gateway et Amazon Connect, il est essentiel de comprendre les capacités d'intégration avec d'autres services AWS. L'une de ces intégrations implique l'utilisation d'AWS Lambda conjointement avec Amazon CloudWatch. Cette configuration permet une surveillance et des actions de réponse plus granulaires basées sur des statuts d'agent spécifiques au sein d'Amazon Connect. En tirant parti des fonctions Lambda, les utilisateurs peuvent créer des scripts personnalisés qui répondent aux changements de métriques, améliorant ainsi la réactivité et l'adaptabilité du système d'alerte.

De plus, l'utilisation des alarmes Amazon CloudWatch permet le suivi d'événements spécifiques, tels que l'indisponibilité prolongée d'un agent. Ces alarmes peuvent déclencher des fonctions Lambda, qui à leur tour peuvent exécuter des actions prédéfinies telles que l'envoi de notifications via Amazon SNS. Cette approche à plusieurs niveaux garantit que tous les statuts pertinents sont activement surveillés et gérés, maintenant ainsi l'efficacité opérationnelle et améliorant les interactions avec le service client.

  1. Qu'est-ce qu'AWS Lambda et comment est-il utilisé pour les alertes ?
  2. AWS Lambda permet aux utilisateurs d'exécuter du code en réponse à des événements, tels que le dépassement d'un seuil de temps sur l'état de l'agent, qui déclenche des actions telles que l'envoi d'alertes.
  3. Comment Amazon CloudWatch peut-il améliorer les systèmes d'alerte ?
  4. CloudWatch surveille les ressources et les applications AWS, permettant aux utilisateurs de définir des alarmes qui déclenchent des réponses automatisées basées sur des métriques spécifiques.
  5. Qu'est-ce qu'Amazon SNS et son rôle dans les systèmes d'alerte ?
  6. Amazon SNS (Simple Notification Service) facilite l'envoi de messages aux points de terminaison ou aux clients abonnés, ce qui est crucial pour distribuer efficacement les notifications d'alerte.
  7. CloudWatch peut-il utiliser des métriques personnalisées pour les alertes ?
  8. Oui, CloudWatch peut surveiller les métriques personnalisées créées en plaçant des journaux ou en configurant des événements personnalisés, offrant ainsi une flexibilité dans les conditions d'alerte.
  9. Quelles sont les bonnes pratiques pour configurer des alertes sur le statut des agents ?
  10. Les meilleures pratiques incluent l'utilisation de mesures détaillées, la définition de seuils réalistes et la garantie que les alertes sont exploitables et rapidement envoyées via des services tels que .

La mise en place d'un système d'alerte efficace pour les statuts des agents dans AWS exploite la puissance des services cloud pour améliorer la surveillance opérationnelle et le service client. L'intégration d'AWS Lambda, d'Amazon CloudWatch et d'Amazon SNS crée un mécanisme robuste pour surveiller et répondre à l'activité des agents. Cette configuration facilite non seulement la gestion efficace du personnel, mais garantit également que les interactions avec les clients sont traitées rapidement, optimisant ainsi les performances globales du centre de contact.