Scénario : alarme sur les données de journal

Configurez des alarmes pour les données de journal à l'aide des services Connector Hub, Logging et Monitoring.

Ce scénario implique la création d'un connecteur et d'une alerte. Le connector (Connector Hub) traite les données de journal et les déplace de Logging vers Monitoring pendant le déclenchement de l'alarme lors de la réception des données de journal.

Stratégie IAM requise

Si vous êtes membre du groupe d'administrateurs, vous disposez déjà de l'accès requis pour exécuter ce scénario. Sinon, vous devez avoir accès à Monitoring et Notifications .

Le workflow de création du connecteur inclut une stratégie par défaut lorsque nécessaire afin de fournir des droits d'accès en écriture au service cible. Si vous ne connaissez pas les stratégies, reportez-vous à Présentation des stratégies IAM.

Configuration de ce scénario

La configuration dans la console est simple. Vous pouvez également utiliser l'interface de ligne de commande ou l'API Oracle Cloud Infrastructure, qui vous permettent d'exécuter les différentes opérations vous-même.

Utilisation de la console

Cette section explique comment créer un connecteur et une alarme à l'aide de la console, puis comment mettre à jour le sujet créé avec l'alarme.

Remarque

Un autre workflow pour ce scénario implique tout d'abord la création du sujet et des abonnements, puis la sélection de ce sujet lorsque vous créez l'alarme.

Pour plus d'informations sur le dépannage, reportez-vous à la section Troubleshooting Connectors et à la section Troubleshooting Notifications.

Tâche 1 : création du connecteur

Cet exemple explique comment utiliser la console pour créer un connecteur qui filtre le journal de flux VCN à partir de Loging pour le trafic rejeté, puis déplace ces données de journal vers une nouvelle mesure dans Monitoring.

  1. Ouvrez le menu de navigation et sélectionnez Analytiques et IA. Sous Messagerie, sélectionnez Hub de connecteurs.
  2. Choisissez le compartiment dans lequel créer le connecteur de service.
  3. Sélectionnez Créer un connecteur.
  4. Sur la page Créer un connecteur, filtrez le journal de flux VCN sur une nouvelle mesure :

    • Saisissez un nom de connecteur tel que "VCN Flow Log Errors". Evitez de saisir des informations confidentielles.
    • Sélectionnez le compartiment de ressource dans lequel stocker le nouveau connecteur.
    • Sous Configurer un connecteur, sélectionnez les services source et cible pour déplacer les données de journal vers une mesure :
      • Source : Logging
      • Cible : Monitoring
    • Sous Configurer une connexion source, sélectionnez le journal de flux de réseau cloud virtuel :
      • Nom de compartiment : compartiment contenant les données du journal de flux VCN.
      • Groupe de journaux : groupe de journaux contenant les données du journal de flux VCN.
      • Journaux : nom de l'objet de journal pour les journaux de flux de réseau cloud virtuel.
    • Sous Tâche de filtre de journal, filtrez les données de journal sur le trafic rejeté :

      • Propriété : data.action
      • Opérateur : =
      • Valeur : REJECT

      Si vous recherchez le trafic rejeté pour un port ou une adresse spécifique, ajoutez un autre filtre. Par exemple, sélectionnez la propriété data.destinationPort ou data.destinationAddress.

    • Sous Configurer la connexion cible, saisissez l'espace de noms de mesure et le nom de mesure à utiliser pour les données de journal filtrées :
      • Sélectionnez le compartiment dans lequel stocker les points de données de mesure correspondant aux données de journal de flux de réseau cloud virtuel pour le trafic rejeté.
      • Saisissez un nouvel espace de noms des mesures : vcnlogs.
        Remarque

        Lorsque vous saisissez un nouvel espace de noms de mesure, appuyez sur Entrée pour le soumettre.
      • Saisissez une nouvelle mesure : rejectedtraffic
  5. Si vous êtes invité à créer une stratégie (requis pour accéder à la création ou à la mise à jour d'un connecteur de service), sélectionnez Créer.
  6. Sélectionnez Créer.
Tâche 2 : création de l'alarme

Cet exemple explique comment utiliser la console afin de créer une alarme qui envoie un message lorsque Monitoring reçoit des points de données de mesure correspondant aux données de journal de flux de réseau cloud virtuel pour le trafic rejeté. Pendant ce processus, vous allez créer un sujet et un abonnement par courriel.

  1. Ouvrez le menu de navigation et sélectionnez Observation et gestion. Sous Surveillance, sélectionnez Définitions d'alarme.
  2. Sélectionnez Créer une alarme.

  3. Sur la page Créer une alarme, sous Définir une alarme, configurez le seuil :

    • Description de mesure
      • Compartiment : (sélectionnez le compartiment indiqué dans la tâche précédente, dans lequel vous stockez les points de données de mesure correspondant aux données du journal de flux VCN)
      • Espace de noms de mesure : saisissez l'espace de noms de mesure indiqué dans le connecteur.
      • Nom de mesure : entrez le nom de mesure indiqué dans le connecteur.
      • Intervalle : 1m
      • Statistique : Count
    • Règle de déclencheur :

      • Opérateur : plus grand que
      • Valeur :0
      • Retard de déclenchement en minutes : 1
  4. Sous Notifications, Destinations, configurez une notification par courriel :
    • Service de destination : Service Notifications
    • Compartiment : sélectionnez le compartiment dans lequel créer le sujet et les abonnements associés.
    • Thème : sélectionnez Créer un sujet.

      Remarque

      Si vous avez déjà créé le sujet et l'abonnement par courriel, vous pouvez sélectionner ce sujet ici au lieu d'en créer un autre.
      • Nom du sujet : Sujet pour le trafic rejeté
      • Protocole d'abonnement : E-mail
      • Courriel d'abonnement : saisissez votre adresse électronique ici.
  5. Sélectionnez Enregistrer l'alarme.

Utilisation de l'interface de ligne de commande

Cette section détaille la procédure de création du connecteur, du sujet, des abonnements et de l'alarme à l'aide de la CLI.

Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à la documentation relative à l'API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

  1. Créez un connecteur : ouvrez une invite de commande et exécutez la commande oci sch service-connector create :

    oci sch service-connector create --display-name
    "<display_name>" --compartment-id <compartment_OCID> --source [<source_in_JSON>] --tasks [<tasks_in_JSON>] --target [<targets_in_JSON>]
  2. Créez un sujet. Pour cela, ouvrez une invite de commande et exécutez la commande oci ons topic create :

    oci ons topic create --name "Alarm Topic" --compartment-id "<compartment-ocid>"
  3. Ajoutez à ce sujet un abonnement référençant votre adresse électronique. Ouvrez une invite de commande et exécutez la commande oci ons subscription create :

    oci ons subscription create --compartment-id "<compartment-ocid>" --topic-id "<topic-ocid>" --protocol "EMAIL" --subscription-endpoint "john.smith@example.com"
  4. Créez une alarme qui définit le seuil d'erreur et référence ce sujet comme destination. Pour cela, ouvrez une invite de commande et exécutez la commande oci monitoring alarm create :

    oci monitoring alarm create --display-name "My Alarm" --compartment-id "<compartment-ocid>" --metric-compartment-id "<compartment-ocid>" --namespace "oci_computeagent" --query-text "<yourmetric>[1m].count() > 0" --severity "INFO" --destinations "<topic-ocid>" --is-enabled true

Pour plus d'informations sur le dépannage, reportez-vous à la section Troubleshooting Connectors et à la section Troubleshooting Notifications.

Utilisation de l'API

Cette section explique comment créer un connecteur, un sujet, un abonnement et une alarme à l'aide de l'API.

Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à la documentation relative à l'API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

Utilisez les opérations suivantes :

  1. CreateServiceConnector : créez un connecteur.

    Exemple de demande CreateServiceConnector
    POST /20200909/serviceConnectors
    Host: service-connector-hub.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "compartmentId": "<compartment_OCID>",
      "description": "My connector description",
      "displayName": "My Connector",
      "source": {
        "kind": "logging",
        "logSources": [
          {
            "compartmentId": "<compartment_OCID>",
            "logGroupId": "<log_group_OCID>",
            "logId": "<log_OCID>"
          }
        ]
      },
      "target": {
        "compartmentId": "<compartment_OCID>",
        "kind": "metrics",
        "metric": "<yourmetric>",
        "metricNamespace": "<yournamespace>"
      },
      "tasks": [
        {
          "condition": "data.action='REJECT'",
          "kind": "logRule"
        }
      ]
      }
    }
  2. CreateTopic : créez un sujet.

    Exemple de demande CreateTopic
    POST /20181201/topics
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "name": "Alarm Topic",
      "compartmentId": "<compartment_OCID>"
    }
  3. CreateSubscription : pour ce sujet, ajoutez un abonnement référençant votre adresse électronique.

    Exemple de demande CreateSubscription : 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"
    }
  4. CreateAlarm : créez une alarme qui définit le seuil de mémoire et référence ce sujet.

    Exemple de demande CreateAlarm
    POST /20180401/alarms
    Host: telemetry.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "displayName": "My Alarm",
      "compartmentId": "<compartment_OCID>",
      "metricCompartmentId": "<compartment_OCID>",
      "namespace": "<yournamespace>",
      "query": "<yourmetric>[1m].count() > 0",
      "severity": "INFO",
      "destinations":
      [
        "<topic_OCID>"
      ],
      "isEnabled": true
    }

Pour plus d'informations sur le dépannage, reportez-vous à la section Troubleshooting Connectors et à la section Troubleshooting Notifications.