Création d'une tâche de notification

Vous pouvez utiliser Engagement sur votre API Manager pour recevoir des notifications basées sur les critères définis.

Avant de commencer

Vous devez avoir au moins un service Analytics actif pour utiliser Engagement dans le gestionnaire API. Lorsque vous créez votre tâche de notification, vous devez remplir les critères suivants :

  • Chaque règle peut comporter jusqu'à 7 critères de filtrage et 5 déclencheurs.
  • Chaque déclencheur ne peut avoir qu'un maximum de 3 actions.

A propos de cette tâche

La fonction Engagement de l'API Manager aide l'utilisateur à créer des flux de travail complexes qui automatisent les tâches et améliorent l'expérience globale de la gestion des API. Sur la base des critères définis lors de la création des tâches de notification, chaque utilisateur reçoit des notifications.

Créer une tâche de notification

Pour utiliser Engagement, cliquez Icône d'engagement sur le Gestionnaire d'API et définissez les critères souhaités.

Vous pouvez créer une tâche de notification en configurant une destination, des règles, des déclencheurs et des actions.
  1. Configurez un destination, qui est la définition du point de terminaison HTTP (S) qui recevra les tâches de notification. Pour plus d'informations, voir Création d'une destination.
  2. Configurez un " rule, qui est le travail qui s'exécute selon un calendrier défini et envoie des requêtes à la source de données. Pour plus d'informations, voir Création d'une règle.
  3. Configurez un " trigger, qui définit les conditions qui génèrent des événements. Pour plus d'informations, voir Ajouter des déclencheurs.
  4. Configurez un " action, qui définit ce qui se passe après le déclenchement d'une tâche de notification. Pour plus d'informations, voir Ajouter des actions.

Créer une destination

  1. Cliquez sur l'onglet Créer des destinations.
  2. Cliquez sur Destination.
  3. Cliquez sur Créer et fournissez les informations suivantes :
    1. Dans le champ Titre, indiquez le titre de la destination.
    2. Dans la case Description, donnez une description.
    3. Pour configurer Webhook, suivez les étapes suivantes :
      1. Sélectionnez Webhook comme type.
      2. Sélectionnez une option dans la liste Method pour spécifier la méthode HTTP pour la destination. Les options disponibles sont POST, PUT, et PATCH.
      3. Dans le champ Webhook URL , entrez le point d'extrémité HTTP (S) cible.
      4. Facultatif : Cliquez sur Add + pour inclure des en-têtes HTTP supplémentaires.
    4. Pour configurer PagerDuty,, procédez comme suit :
      1. Sélectionnez PagerDuty comme type.
      2. Saisissez votre pagerduty integration routing key dans le champ Routing key . Pour plus d'informations à ce sujet pagerduty integration, consultez la section « Services et intégrations ».
        Note : Lors de l'intégration avec PagerDuty,, sélectionnez Events API v2 comme type d'intégration.
    5. Pour configurer Slack, suivez les étapes suivantes :
      1. Sélectionnez Slack comme type.
      2. Dans le champ Token , entrez le jeton API de Slack.
      3. Dans le champ Channel ID , saisissez votre Channel ID. Pour plus d'informations à ce sujet Token and Channel ID, consultez l'article « Comment obtenir et utiliser rapidement un jeton de bot API Slack ».
        Remarque : utilisez l'identifiant du canal et non son nom. Par exemple : C1234567890.
    6. Pour configurer Amazon Simple Notification Service, suivez les étapes suivantes :
      Remarque : pour activer Amazon SNS for Engagement, vous devez créer le secret du client AWS et le référencer dans le fichier YAML de la ressource personnalisée d'analyse. Pour plus d'informations, voir Activer Amazon SNS.
      1. Sélectionnez Amazon SNS comme type.
      2. Dans le champ Topic ARN, entrez l'ARN du sujet Amazon SNS.
      3. Dans le champ ARN du rôle, entrez l'ARN du rôle Amazon SNS.
    7. Pour configurer Kafka HTTP Bridge, procédez comme suit :
      1. Sélectionnez Webhook comme type.
      2. Sélectionnez une option dans la liste Method pour spécifier la méthode HTTP pour la destination. Les options disponibles sont POST, PUT, et PATCH.
      3. Dans le champ Webhook URL , entrez le point d'extrémité HTTP (S) cible.
        http://<route-name>.apps.<cluster-name>.<namespace>.com/topics/<topic-name>
        Pour plus d'informations sur Kafka HTTP Bridge la configuration, consultez la section « Connexion via HTTP avec Kafka Bridge ».
      4. Cliquez sur Add + pour ajouter un en-tête HTTP.
      5. Dans le dossier Name , entrez content-type.
      6. Dans le champ Value , entrez application/vnd.kafka.json.v2+json.
      7. Définissez la charge utile JSON à envoyer au sujet Kafka dans l'action de déclenchement de votre règle.
      Note : Vérifiez votre configuration Kafka et ajustez le format de la charge utile si nécessaire. L'exemple suivant montre un format de message JSON requis par certaines implémentations de Kafka :
      {
           "records": [
              {
                  "key": "my-key",
                  "value": "my-value"
              }
          ]
      }
    8. Pour configurer IBM MQ, procédez comme suit :
      1. Sélectionnez Webhook comme type.
      2. Sélectionnez une option dans la liste Method pour spécifier la méthode HTTP pour la destination. Les options disponibles sont POST, PUT, et PATCH.
      3. Dans le champ Webhook URL , entrez le point d'extrémité HTTP (S) cible.
        https://<host>:<port>/ibmmq/rest/v3/messaging/qmgr/<your_qm_name>/queue/<your_queue_name>/message
        Pour plus d'informations à ce sujet IBM MQ messaging REST API, consultez l'API REST de messagerie d' IBM MQ.
      4. Cliquez sur Add + pour ajouter un en-tête HTTP.
      5. Dans le dossier Name , entrez content-type.
      6. Dans le champ Value , entrez la valeur du type de contenu que vous utilisez, par exemple : text/plain;charset=utf-8.
      7. Cliquez sur Add + pour ajouter un deuxième en-tête HTTP.
      8. Dans le dossier Name , entrez authorization.
      9. Dans le champ Value , entrez Basic <base64encodedstring>.

        Où :

        • base64encodedstring est l'adresse username:password codée en base 64.
      10. Cliquez sur Add + pour ajouter un troisième en-tête HTTP.
      11. Dans le dossier Name , entrez ibm-mq-rest-csrf-token.
      12. Vous pouvez laisser le champ de valeur vide.
        Remarque : veillez à inclure cet en-tête, même si le champ de valeur est vide, car le gestionnaire de file d'attente d' IBM MQ s rejette la charge utile s'il n'est pas présent.
    9. Pour configurer le service de notification d'événements IBM Cloud, suivez les étapes suivantes :
      Note : Les destinations dans IBM Cloud Event Notification Service ne sont pas liées aux destinations dans API Connect. Vous devez configurer la destination dans IBM Cloud Event Notification Service avant de configurer Engagement dans API Connect.
      1. Sélectionnez Webhook comme type.
      2. Sélectionnez POST dans la liste Method pour spécifier la méthode HTTP pour la destination.
      3. Dans le champ Webhook URL , entrez le point d'extrémité HTTP (S) cible.
        {base_url}/v1/instances/{instance_id}/notifications 
        Où :
        url_de_base
        Saisissez le chemin d'accès à la base URL
        instance_ID
        Saisir l'identifiant correspondant à l'instance
        Pour plus d'informations à ce sujet IBM Cloud Event Notification Service, consultez l'API des notifications d'événements.
      4. Cliquez sur Add + pour ajouter un en-tête HTTP.
      5. Dans le dossier Name , entrez content-type.
      6. Dans le champ Value , entrez application/json.
      7. Cliquez sur Add + pour ajouter un deuxième en-tête HTTP.
      8. Dans le dossier Name , entrez Authorization.
      9. Dans le champ Value , entrez votre jeton IAM.
      10. Définissez la charge utile JSON que vous souhaitez envoyer au service de notification dans l'action de déclenchement de votre règle. Pour plus d'informations, consultez l'API des notifications d'événements.
  4. Cliquez sur Créer.

Création d'une règle

  1. Cliquez sur Règles.
  2. Cliquez sur Créer et fournissez les informations suivantes :
    1. Dans le champ Titre, indiquez une adresse Title pour la règle.
    2. Dans la section Planification, indiquez une planification pour l'exécution de cette règle. Vous pouvez spécifier une programmation en définissant un intervalle de temps ou une chaîne cron.
    3. Cliquez sur Suivant pour sélectionner les données et définir la requête.
    4. Dans la section Sélectionner les données, sélectionnez une option dans la liste Source de données en fonction des données sur lesquelles vous souhaitez exécuter la règle.
    5. Dans la section Requête, définissez la métrique d'agrégation que vous souhaitez utiliser pour la requête. La valeur par défaut est le nombre d'enregistrements correspondants. Vous pouvez également utiliser des agrégations mathématiques pour les champs numériques, comme la valeur maximale ou la moyenne sur une période donnée.
    6. Dans les champs Plage de temps des données pour les dernières, saisissez la plage de temps en fonction de l'ancienneté de la recherche d'éléments de données correspondants.
    7. Cliquez sur Ajouter un filtre + pour sélectionner jusqu'à 7 filtres de données en fonction des données que vous souhaitez inclure lors de l'exécution de la requête. Vous pouvez utiliser n'importe quel champ de l'enregistrement de l'événement d'analyse.
    8. Cliquez sur Ajouter un groupe par + pour sélectionner un groupe en fonction de la manière dont vous souhaitez regrouper les données sélectionnées et rationaliser les critères cibles. Par exemple, une règle qui correspond à 10 événements API avec un code d'état de 500 au cours d'une période de 24 heures peut utiliser " Group by sur " api_name pour appeler 10 événements correspondants pour une API individuelle plutôt qu'un total de tous les événements pour toutes les API.
    9. Cliquez sur Suivant pour configurer les déclencheurs.

    Ajouter des déclencheurs + :

    1. Cliquez sur Ajouter un déclencheur +. Vous pouvez ajouter jusqu'à 5 déclencheurs.
    2. Dans la section Détails du déclencheur, indiquez un " Title pour le déclencheur, puis sélectionnez le niveau de gravité et la condition de déclenchement dans les listes correspondantes.
    3. Dans la liste déroulante Gravité, sélectionnez une option.
    4. Dans la section Condition de déclenchement, définissez une condition si nécessaire.

      Définir la cible numérique, ce qui permet à une règle unique d'avoir plusieurs déclenchements avec des sévérités et des conditions de déclenchement différentes. Lorsque les critères spécifiés sont remplis, chaque déclencheur peut déclencher jusqu'à trois actions, qui invoquent ensuite différents points finaux ou avec différentes charges utiles.

    Ajouter des actions:

    1. Cliquez sur Ajouter une action + pour configurer l'action qui se produit lorsque les critères du déclencheur sont remplis.
    2. Dans la section Action de déclenchement, fournissez une adresse title pour l'action,
    3. Dans la liste Destination, sélectionnez la destination à invoquer lorsque les critères sont remplis.
    4. Activez l' étranglement et définissez la fenêtre d'étranglement pour empêcher l'invocation de plusieurs déclencheurs pour la même règle dans la même période de temps.
    5. Dans la section Payload (Charge utile), indiquez un objet de message et une valeur de charge utile. Vous pouvez ajouter des variables de contexte dans le champ Payload en fonction des informations de charge utile de la tâche que vous souhaitez afficher dans la destination. Pour plus d'informations, consultez la section « Variables de contexte dans la charge utile de la tâche ».
      Note : Le sujet du message n'est pas envoyé au point de terminaison HTTP. La valeur de la charge utile est le corps HTTP de la tâche de notification qui est envoyée au point final de destination
  3. Cliquez sur Sauvegarder.
  4. Cliquez sur Terminer.

Ce que vous avez fait dans cette tâche

Sur votre API Manager, vous avez utilisé Engagement pour automatiser les tâches de notification en fonction des critères spécifiés. L'onglet État des tâches affiche les dernières tâches de notification pour chaque déclencheur.