Scénario B : Envoi de messages d'alarme à Slack et par SMS

Configurez l'envoi automatique d'avis vers un canal Slack lors du déclenchement d'alarmes.

Ce scénario consiste à configurer un point d'extrémité Slack pour un canal et à créer une alarme qui envoie un message à la fois à ce canal et à un numéro de téléphone SMS. Lorsque l'alarme se déclenche, le service d'avis envoie le message d'alarme au sujet de destination, qui le transmet alors aux abonnements au sujet. Dans ce scénario, les abonnements au sujet incluent le canal Slack et le numéro de téléphone SMS, ainsi que votre adresse de courriel.

Cette illustration présente le service d'avis dans le contexte d'un scénario qui envoie des messages d'alarme à Slack.

Politique GIA requise

Pour utiliser Oracle Cloud Infrastructure, un administrateur doit être membre d'un groupe auquel l'accès de sécurité est accordé dans une politique par un administrateur de location. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur de la location quel type d'accès vous avez et dans quel compartiment votre accès fonctionne.

Si vous êtes membre du groupe Administrateurs, vous disposez déjà de l'accès requis pour exécuter ce scénario. Sinon, vous devez avoir accès aux services de surveillance et d'avis.

Tâche 1 : Configurer le point d'extrémité Slack

Créez un webhook entrant dans votre application Slack.

Exemple de webhook entrant pour une application Slack (équivalent au point d'extrémité de votre abonnement) : https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Une fois que vous avez configuré votre point d'extrémité Slack, vous pouvez effectuer toutes les autres étapes de scénario dans la console. Vous pouvez également utiliser l'interface de ligne de commande ou l'API d'Oracle Cloud Infrastructure, qui vous permettent d'exécuter vous-même les opérations individuelles.

Tâche 2 : Créer le sujet

Pour obtenir de l'aide concernant le dépannage, voir Dépannage des avis.

  • Note

    Un autre flux de travail de la console pour ce scénario implique la création d'un nouveau sujet et du premier abonnement lorsque vous créez l'alarme, puis la création d'abonnements supplémentaires dans ce sujet.
    1. Ouvrez le panneau Créer un sujet : Dans la page de liste Sujets, sélectionnez Créer un sujet. Si vous avez besoin d'aide pour trouver la page de liste, voir Liste des sujets.
    2. Pour Nom, entrez les informations suivantes : Rubrique d'alarme
    3. Sélectionnez Créer.
  • Utilisez la commande oci ons topic create et les paramètres requis pour créer un sujet :

    oci ons topic create --name <name> --compartment-id <compartment_OCID>

    Exemple :

    oci ons topic create --name "Alarm Topic" --compartment-id "<compartment_OCID>"

    Pour la liste complète des paramètres et valeurs des commandes de l'interface de ligne de commande, voir Référence de ligne de commande pour les avis.

  • Exécutez l'opération CreateTopic pour créer un sujet.

    Exemple :

    POST /20181201/topics
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "name": "Alarm Topic",
      "compartmentId": "<compartment_OCID>"
    }

Tâche 3 : Créer les abonnements

Pour obtenir de l'aide concernant le dépannage, voir Dépannage des avis.

    1. Sélectionnez le sujet que vous avez créé précédemment (par exemple, le nom était Rubrique d'alarme) : Dans la page de liste Rubriques, sélectionnez le sujet avec lequel vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou le sujet, voir Liste des sujets.
    2. Créez l'abonnement Slack.
      1. Ouvrez le panneau Créer un abonnement : dans la page de détails du sujet, sélectionnez Créer un abonnement.
        Le panneau Créer un abonnement s'ouvre.
      2. Pour Protocole, sélectionnez Slack.
      3. Remplissez les champs restants.
        Champ Description
        URL

        Entrez (ou copiez et collez) le point d'extrémité Slack que vous avez créé précédemment. Incluez le jeton webhook.

        Exemple de point d'extrémité :

        https://hooks.slack.com/services/<webhook-token>
      4. Sélectionnez Créer.
      5. Vérifiez le nouvel abonnement Slack : Naviguez jusqu'à l'URL de confirmation envoyée à Slack.
    3. Créez l'abonnement SMS.
      1. Ouvrez le panneau Créer un abonnement : dans la page de détails du sujet, sélectionnez Créer un abonnement.
        Le panneau Créer un abonnement s'ouvre.
      2. Pour Protocole, sélectionnez SMS.
      3. Remplissez les champs restants.
        Champ Description
        Pays Sélectionnez le pays du numéro de téléphone. Voir Avant de commencer
        Numéro de téléphone Entrez le numéro de téléphone au format E.164.
      4. Sélectionnez Créer.
      5. Confirmez le nouvel abonnement SMS : Suivez les instructions reçues par téléphone.
    4. Créez l'abonnement de courriel.
      1. Ouvrez le panneau Créer un abonnement : dans la page de détails du sujet, sélectionnez Créer un abonnement.
        Le panneau Créer un abonnement s'ouvre.
      2. Pour Protocole, sélectionnez Courriel.
      3. Remplissez les champs restants.
        Champ Description
        Courriel Entrez une adresse de courriel.
      4. Sélectionnez Créer.
      5. Confirmer le nouvel abonnement à un courriel : Ouvrez le courriel et naviguez jusqu'à l'URL de confirmation.
  • Note

    Après avoir créé les abonnements, confirmez-les.

    Utilisez la commande oci ons subscription create et les paramètres requis pour créer chaque abonnement :

    oci ons subscription create --protocol <subscription_type> --subscription-endpoint <endpoint> --compartment-id <compartment_OCID> --topic-id <topic_OCID>

    Exemple d'abonnement Slack :

    oci ons subscription create --protocol "SLACK" --subscription-endpoint "<slack-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Exemple d'abonnement SMS :

    oci ons subscription create --protocol "SMS" --subscription-endpoint "<sms-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Exemple d'abonnement par courriel :

    oci ons subscription create --protocol "EMAIL" --subscription-endpoint "john.smith@example.com" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Pour la liste complète des paramètres et valeurs des commandes de l'interface de ligne de commande, voir Référence de ligne de commande pour les avis.

  • Note

    Après avoir créé les abonnements, confirmez-les.

    Exécutez l'opération CreateSubscription pour créer chaque abonnement.

    Exemple d'abonnement Slack :

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "SLACK",
      "endpoint": "<slack-endpoint>"
    }

    Exemple d'abonnement SMS :

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "SMS",
      "endpoint": "<sms-endpoint>"
    }

    Exemple d'abonnement par courriel :

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "EMAIL",
      "endpoint": "john.smith@example.com"
    }

Tâche 4 : Créer l'alarme

Pour obtenir de l'aide concernant le dépannage, voir Dépannage des avis.

    1. Ouvrez la page Créer une alarme .
      1. Ouvrez le menu de navigation et sélectionnez Observabilité et gestion. Sous Surveillance, sélectionnez Définition d'alarmes.
      2. Sélectionnez Créer une alarme.

    2. Pour Nom de l'alarme, entrez les informations suivantes : Alarme d'utilisation
    3. Sous Description de la mesure, sélectionnez la mesure, l'intervalle et la statistique.

      Champ Exemple de valeur pour ce scénario
      Compartiment Sélectionnez le compartiment qui contient l'instance à surveiller pour une utilisation élevée d'UC.
      Espace de noms de mesure oci_computeagent
      Nom de mesure CpuUtilization
      Intervalle 1m
      Statistique Nombre
    4. Sous Règle de déclenchement, configurez le seuil d'alarme.

      Champ Exemple de valeur pour ce scénario
      Opérateur supérieur à
      Valeur 90
      Délai de déclenchement en minutes 1
    5. Sous Avis, Destinations, sélectionnez le sujet que vous avez créé précédemment.
      Champ Exemple de valeur pour ce scénario
      Service de destination Service d'avis
      Compartiment Sélectionnez le compartiment qui contient le sujet que vous avez créé précédemment.
      Sujet Sélectionnez le sujet que vous avez créé précédemment.
    6. Sélectionnez Enregistrer l'alarme.

  • Utilisez la commande oci monitoring alarm create et les paramètres requis pour créer une alarme :

    oci monitoring alarm create --display-name <name> --compartment-id <compartment_OCID> --metric-compartment-id <compartment_OCID> --namespace <metric_namespace> --query-text <mql_expression> --severity <level> --destinations <file_or_text> --is-enabled <true_or_false>

    Exemple :

    oci monitoring alarm create --display-name "Utilization Alarm" --compartment-id "<compartment_OCID>" --metric-compartment-id "<compartment_OCID>" --namespace "oci_computeagent" --query-text "CpuUtilization[1m].count() > 90" --severity "CRITICAL" --destinations "<topic_OCID>" --is-enabled true

    Pour la liste complète des paramètres et des valeurs des commandes de l'interface de ligne de commande, voir Référence de ligne de commande pour le service de surveillance.

  • Exécutez l'opération CreateAlarm pour créer une alarme.

    Exemple :

    POST /20180401/alarms
    Host: telemetry.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "displayName": "Utilization Alarm",
      "compartmentId": "<compartment_OCID>",
      "metricCompartmentId": "<compartment_OCID>",
      "namespace": "oci_computeagent",
      "query": "CpuUtilization[1m].count() > 90",
      "severity": "CRITICAL",
      "destinations":
      [
        "<topic_OCID>"
      ],
      "isEnabled": true
    }