Configuration des alertes de ratio

Vous pouvez calculer un ratio entre deux requêtes de journal et déclencher une alerte lorsque le ratio atteint un seuil défini.

Voici quelques exemples d'utilisation :

Santé opérationnelle : Surveillez le nombre de réponses aux demandes entrantes ou le rapport entre les codes d'erreur spécifiques et le nombre total d'erreurs.

Marketing : Contrôler le rapport entre le trafic provenant de régions spécifiques et le trafic global à la suite de campagnes régionales.

Sécurité : Contrôlez le ratio des demandes refusées, des opérations d'administration spécifiques ou des demandes provenant de domaines de réseau bloqués par rapport à l'ensemble des demandes.

Configuration requise

  • Pour en savoir plus sur les alertes, consultez IBM Cloud Logs Pour plus d'informations, voir Alerting.
  • Vérifiez que vous disposez d'une instanceEvent Notifications dans le même compte que votre instance IBM Cloud Logs et des permissions pour configurer les ressources dans l'instance Event Notifications.
  • Vérifier que l'intégration sortante entre l'instance IBM Cloud Logs et l'instance Event Notifications est configurée. Pour plus d'informations, voir Configuration de la connexion d'une intégration sortante.

Lancer la gestion des alertes

Procédez comme suit :

  1. Dans la console, cliquez sur l'icône Menu de navigation Icône Menu de navigation > Liste des ressources.
  2. Sélectionnez votre instance IBM Cloud Logs.
  3. Dans la navigation IBM Cloud Logs, cliquez sur l'icône Alertes Icône Alertes > Gestion des alertes.
  4. Cliquez sur Nouvelle alerte.

Choisissez le type d'alerte à configurer

Procédez comme suit :

  1. Choisissez le type d'alerte. Pour plus d'informations, voir les types d'alerte.

  2. Dans la section Détails, effectuez les étapes suivantes :

    1. Entrez un nom.

      • La longueur maximale du nom est de 4096 caractères.
    2. [Facultatif] Saisir une description.

      • La longueur maximale de la description est de 4096 caractères.
    3. [Facultatif] Ajouter une ou plusieurs étiquettes.

      Les étiquettes sont des paires clé/valeur que vous pouvez utiliser ultérieurement pour une recherche rapide.

Spécifiez les journaux qui seront analysés en fonction des critères de filtrage

Effectuez les étapes suivantes pour spécifier les journaux qui seront analysés en fonction des critères de filtrage :

  1. Spécifiez une requête de recherche Lucene pour spécifier les journaux qui seront renvoyés dans le cadre de l'alerte.

    Vous pouvez définir une requête qui filtre sur la base d'une chaîne de texte libre. Par exemple, pour déclencher une alerte lorsque des requêtes POST ayant un code de retour de 403 sont identifiées, vous pouvez saisir "POST 403" comme requête de recherche. La requête recherchera les journaux qui contiennent les valeurs 403 et POST.

    Vous pouvez définir une requête qui filtre les journaux dans lesquels un champ spécifique correspond à la valeur de la requête. Par exemple, vous pouvez définir une requête pour rechercher la valeur production dans le champ environnement : environment:"production"

    Vous pouvez définir une requête qui filtre les journaux dans lesquels un champ spécifique correspond à une plage de valeurs numériques utilisant le format [START_VALUE TO END_VALUE] Par exemple, pour rechercher les journaux qui ont des codes d'état 2xx pour un champ RC, vous pouvez utiliser la requête : rc.numeric:[400 TO 499]

    Vous pouvez définir une requête qui filtre les journaux dont un champ spécifique correspond à une expression régulièreRegEx Entourer l'expression RegEx d'un / Par exemple, vous pouvez définir une requête pour rechercher différentes régions, telles que west-europe-1, west-europe-2, west-us-1 dans une région de champ : region:/west-(europe|us)-[12]/

    Vous pouvez définir des requêtes complexes qui utilisent les opérateurs booléens AND, OR et NOT. Par exemple, vous pouvez définir une requête telle que environment:"production" AND status.numeric:[400 TO 499] NOT region:/west-(europe|us)-[12]/

  2. Ajoutez un filtrage supplémentaire des journaux en choisissant une ou plusieurs applications.

  3. Ajoutez un filtrage supplémentaire des journaux en choisissant un ou plusieurs sous-systèmes.

  4. Ajoutez un filtrage supplémentaire des journaux en choisissant une ou plusieurs catégories de journaux.

    Les valeurs valides sont: Debug, Verbose, Info, Warning, Error et Critical.

Spécifier les requêtes

Spécifiez les deux requêtes dont les résultats seront utilisés pour calculer le ratio. Pour chaque requête :

  1. Pour l'alias de requête, indiquez un nom significatif pour votre requête. L' alias de requête sera inclus dans les notifications d'alerte.

  2. Saisissez votre requête. Votre requête peut inclure des expressions rationnelles.

  3. Indiquez si vous souhaitez que votre requête s'applique à des applications et sous-systèmes spécifiques ou si elle doit s'appliquer à tous.

  4. Précisez si votre requête doit s'appliquer à des sévérités spécifiques ou si elle doit s'appliquer à toutes les sévérités.

Exemples de requêtes

Voici des exemples de combinaisons de requêtes.

Exemple 1 : Trouvez le rapport entre le code d'erreur 504 et le nombre total de codes de réponse reçus. Des ratios plus élevés que d'habitude peuvent indiquer des problèmes opérationnels.

  • Question 1 : status:504
  • Requête 2 : _exists_:status

Exemple 2 : en supposant que les adresses situées en dehors de 172.xxx.xxx.xxx soient restreintes, un rapport anormal entre le trafic restreint et l'ensemble du trafic pourrait indiquer une attaque.

  • Question 1 : NOT client_addr:/172\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/
  • Requête 2 : _exists_:client_addr

Exemple 3 : calcule le nombre de demandes auxquelles il n'a pas été répondu avec succès sur l'ensemble des demandes ayant abouti. Un ratio plus élevé que d'habitude peut indiquer des problèmes opérationnels.

  • Question 1 : request_status:success
  • Requête 2 : response_status:rejectrequest

Spécifier la condition de déclenchement

Spécifiez la condition de déclenchement qui est évaluée par rapport aux données incluses dans l'analyse de cette alerte.

Dans Alerte si : Requête 1 / Requête 2 égale, vous devez sélectionner si l'alerte est déclenchée lorsque la requête correspond à plus ou moins du nombre seuil dans la fenêtre de temps définie.

  • Choisissez More than threshold pour être averti lorsque le rapport entre les résultats de la requête est supérieur au seuil choisi.

  • Choisissez Less than threshold pour être notifié lorsque le rapport entre les résultats de la requête est inférieur au seuil choisi.

Si vous utilisez la condition Inférieur au seuil, vous aurez la possibilité de gérer les valeurs non détectées.

Les valeurs non détectées se produisent lorsqu'une permutation d'une alerte inférieure au seuil cesse d'être envoyée, entraînant de multiples déclenchements de l'alerte (pour chaque période au cours de laquelle elle n'a pas été envoyée).

Lorsque vous consultez une alerte contenant des valeurs non détectées, vous avez la possibilité de retirer ces valeurs manuellement ou de sélectionner une période après laquelle les valeurs non détectées seront automatiquement retirées. Vous pouvez également désactiver le déclenchement sur les valeurs non détectées pour arrêter immédiatement l'envoi d'alertes lorsqu'une valeur non détectée se produit.

Déclenchement d'alertes à l'infini

Si le deuxième résultat de la requête renvoie une valeur nulle, le ratio calculé sera un nombre infini.

Vous pouvez spécifier si l'alerte doit être déclenchée ou non en fonction de cette condition en sélectionnant ou en désélectionnant l'option Ne pas déclencher à l'infini.

Dans Group By, vous pouvez configurer jusqu'à 2 champs JSON dont les valeurs sont agrégées et déterminent le déclenchement d'une alerte.

  • Une alerte est déclenchée lorsque l'une des valeurs agrégées dépasse le seuil configuré dans la section des conditions de filtrage dans le délai spécifié.

  • Une alerte est déclenchée lorsque le seuil de condition est atteint pour une valeur agrégée spécifique dans le délai spécifié.

  • Si vous configurez 2 valeurs, les journaux correspondants seront d'abord agrégés par le champ parent, puis par le champ enfant. Une alerte est déclenchée lorsque le seuil atteint la combinaison unique du parent et de l'enfant.

Configurer les détails de la notification

Procédez comme suit :

  1. Configurez Notify every pour définir la fréquence à laquelle vous souhaitez recevoir un événement une fois l'alerte déclenchée. La valeur par défaut est de 0 heure et 10 minutes.

  2. Activez l'option Résoudre automatiquement pour obtenir un événement lorsque l'événement a été résolu.

    Lorsque la condition de l'alerte ne déclenche plus d'événements, l'événement initialement déclenché est marqué comme résolu.

  3. Activer Activer le mode fantôme pour indiquer que cette alerte est une alerte fantôme.

    Une alerte fantôme sert d'élément de base pour les alertes de flux.

    Une alerte fantôme ne déclenche pas de notifications d'événements indépendants.

    Lorsque vous activez cette option, la section Notifications est supprimée de la définition de l'alerte.

  4. Ajouter une intégration.

    Vous devez avoir défini une intégration sortante pour pouvoir ajouter une intégration. Pour plus d'informations, voir Configuration de l'intégration avec le service de Event Notifications

Établir un calendrier et déterminer le contenu du journal à inclure

Procédez comme suit :

  1. Dans la section Calendrier, définissez un calendrier pour contrôler le moment où cette alerte est activée. Vous pouvez choisir des jours et des heures spécifiques.

  2. Dans la section Contenu de la notification, indiquez si vous souhaitez inclure un exemple de ligne de journal ou seulement certains champs dans l'événement déclenché.

    Choisissez des clés JSON spécifiques à inclure dans la notification d'alerte, ou laissez ce champ vide pour inclure le texte complet du journal dans le message d'alerte :

    • Option 1 : Laisser vide pour inclure une ligne de journal qui correspond aux conditions de filtrage de l'alerte.

    • Option 2 : Spécifier des clés JSON pour inclure les champs sélectionnés dans le format des paires clé/valeur. Notez que pour pouvoir ajouter des champs, vos enregistrements doivent être au format JSON.

      Les clés JSON contenant un . dans leur nom ne peuvent pas être utilisées comme champs sélectionnés.

    • Option 3 : Spécifier un chemin JSON comme filtre.

Lorsqu'une alerte est déclenchée, la quantité de données incluses dans l'événement est limitée. Pour plus d'informations sur ces limitations, voir Taille des données.

Sauvegarder la configuration de l'alerte

Procédez comme suit :

  1. Vérifier l'alerte.

    Cliquez sur Vérifier pour évaluer les données et savoir combien de fois l'alerte a correspondu aux critères au cours des dernières 24 heures.

    Verify évalue uniquement les données du pipeline Informations de priorité Si votre alerte est configurée pour se déclencher sur des données disponibles dans le pipeline Analyser et alerter, vous remarquerez que cette fonctionnalité n'est pas disponible.

  2. Cliquez sur Créer une alerte.

Vérification de l'alerte

Déclencher une alerte. Une fois qu'une alerte est déclenchée et traitée, le système envoie des notifications aux utilisateurs ou aux équipes désignés par le biais de différents canaux tels que le courrier électronique, Slack, les SMS ou les plateformes intégrées de gestion des incidents. Vous pouvez ensuite accéder à la page Incidents pour obtenir des informations sur les alertes déclenchées. Pour plus d'informations, voir Gestion des alertes déclenchées dans IBM Cloud Logs