Go to main content

Guide d'administration d'Oracle® ZFS Storage Appliance, version OS8.8.x

Quitter la vue de l'impression

Mis à jour : Août 2021
 
 

Création et publication d'alertes personnalisées à partir d'un workflow

Une alerte peut être publiée à partir d'un workflow en réponse à un événement qui est défini dans le workflow. Vous pouvez créer l'action d'alerte dans le workflow ou à l'aide de la BUI ou de la CLI. Elle doit être publiée à partir du workflow.

Il est possible d'utiliser des alertes personnalisées pour appliquer la stratégie d'administration ou la conformité. Les alertes personnalisées peuvent également permettre de diagnostiquer les problèmes qui se produisent dans un workflow.

Le tableau suivant décrit les autorisations qu'un utilisateur doit posséder pour créer des actions d'alerte personnalisée et publier les alertes personnalisées.

Table 160  Autorisations requises pour utiliser des alertes personnalisées
Tâche
Autorisation (BUI)
Autorisation (CLI)
Description
Créer une action d'alerte personnalisée
Portée : Alertes
Autorisation : configurer
Portée : alert
Autorisation : allow_configure
Obligatoire pour créer une action d'alerte personnalisée à l'aide de la BUI, la CLI ou la fonction createalert dans un workflow.
Publier une alerte personnalisée
Portée : Alertes
Autorisation : publier
Portée : alert
Autorisation : allow_post
Obligatoire pour utiliser la fonction postalert dans un workflow.
Exécuter un workflow
Portée : Workflow
Autorisation : lire
Portée : workflow
Autorisation : allow_read
Obligatoire pour exécuter un workflow.

Pour les instructions d'octroi d'autorisations à des utilisateurs, reportez-vous à la section Configuration des utilisateurs.

Création d'une alerte personnalisée

Pour créer une alerte personnalisée, utilisez l'une des méthodes suivantes :


Remarque -  A chaque appel de createalert, une alerte est créée avec un identificateur unique universel (UUID) différent. Au lieu de créer plus de copies de la même action d'alerte à chaque exécution d'un workflow qui utilise createalert, vous préférerez peut-être utiliser la BUI ou la CLI pour créer une action d'alerte personnalisée, puis transmettre l'UUID de cette action d'alerte à la fonction postalert, comme décrit dans la section Exemple 20, Publication d'une alerte personnalisée à l'aide de l'UUID d'une action d'alerte existante.

La fonction createalert utilise les paramètres suivants et renvoie l'UUID de l'action d'alerte personnalisée qui est créée.

Table 161  Paramètres de la fonction createalert
Paramètre
Type
Description
actions
Objet
Obligatoire. Liste de gestionnaires (actions d'alerte) et tous les arguments. Voir la colonne "Type d'action (CLI)" de la section Table 49, Types d'action d'alerte.

Remarque -  Si vous spécifiez execute_workflow en tant qu'action (handler), il n'est pas possible de publier d'alerte dans le workflow exécuté.

severity
String
Facultatif. Gravité de l'événement qui a déclenché l'alerte. Les valeurs valides sont : Critique, Mineur ou Majeur.
description
String
Obligatoire. Description de l'événement qui a déclenché l'alerte.
response
String
Facultatif. Description des actions qui seront effectuées par le système pour atténuer les effets de l'événement.
impact
String
Facultatif. Description de l'effet de l'événement sur l'appareil.
recommended_action
String
Facultatif. Description des mesures que l'administrateur doit prendre pour atténuer les effets de l'événement.
Exemple 18  Création d'une alerte personnalisée à partir d'un workflow

Cet exemple présente un workflow qui crée une alerte personnalisée avec l'UUID custom_alert_uuid.

var workflow = {
    name:        'createalert',
    description: 'Create a Custom Alert',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var actions = [{
                         handler: 'email',
                         args: {
                             address: 'admin@example.com',
                             subject: 'Custom Alert Response'
                         }
                     }];
                     var createparams = {
                         description: 'createalert from within a workflow'
                     };
                     var custom_alert_uuid = createalert(actions, createparams);
                 }
};

La création d'une alerte personnalisée à l'aide d'un workflow entraîne l'apparition de l'alerte dans la liste des actions d'alerte, dans la BUI et la CLI.

La création d'une alerte personnalisée à l'aide d'un workflow crée une entrée dans le journal d'audit avec le récapitulatif suivant :

Workflow name_of_workflow: created custom alert value_of_custom_alert_uuid

La création d'une alerte personnalisée à l'aide de la BUI ou de la CLI ou en exécutant un script avec la commande script crée une entrée dans le journal d'audit avec le récapitulatif suivant :

Created custom alert value_of_custom_alert_uuid

Publication d'une alerte personnalisée

Utilisez la fonction postalert pour publier une alerte personnalisée à partir d'un workflow en réponse à un événement qui se produit dans ce workflow.

Alors que la fonction createalert peut être appelée à partir d'un script à l'aide de la commande script, la fonction postalert peut uniquement être appelée à partir de la définition d'un workflow.

La fonction postalert utilise les mêmes paramètres que la fonction createalert à l'exception du premier : createalert utilise la liste des gestionnaires ou des actions d'alerte et postalert utilise l'UUID de l'alerte à publier. Pour obtenir la description des autres paramètres, reportez-vous à la section Table 161, Paramètres de la fonction createalert.

Les valeurs qui sont facultatives pour createalert (severity, response, impact et action) ne sont pas facultatives pour postalert. Pour l'appel postalert, ces valeurs sont déterminées en fonction des règles suivantes :

  • Si des valeurs pour les paramètres facultatifs sont fournies à createalert mais non à l'appel postalert pour l'UUID, l'appel postalert hérite ces valeurs de paramètre de l'appel createalert correspondant.

  • Si des valeurs pour les paramètres facultatifs ne sont pas fournies à createalert mais le sont à l'appel postalert pour l'UUID, l'appel postalert utilise les valeurs spécifiées dans l'appel postalert.

  • Si des valeurs pour les paramètres facultatifs sont fournies à createalert et à l'appel postalert correspondant, chaque appel utilise les valeurs de paramètre spécifiées dans cet appel.

  • Si des valeurs pour les paramètres facultatifs ne sont pas fournies à createalert ni à l'appel postalert correspondant, un message d'erreur demande à l'utilisateur de fournir des valeurs à l'appel postalert.

La fonction postalert renvoie l'UUID de l'alerte personnalisée qui est publiée.

Exemple 19  Création et publication d'une alerte personnalisée à partir d'un workflow

Cet exemple présente la publication de l'alerte qui a été créée à la section Exemple 18, Création d'une alerte personnalisée à partir d'un workflow. L'appel postalert est en réponse à un événement qui s'est produit dans le workflow. Dans cet exemple, le code qui définit l'événement qui s'est produit avant l'appel postalert est omis.

var workflow = {
    name:        'createalert and postalert',
    description: 'Create and Post a Custom Alert',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var actions = [{
                         'handler': 'resume_dataset',
                         'args': {
                             'dataset': 'dataset_to_resume'
                         }
                     }];
                     var createparams = {
                         description: 'createalert and postalert from within a workflow'
                     };
                     var postparams = {
                         severity: 'Minor',
                         description: 'postalert from within a workflow',
                         response: 'The alert action resumes dataset dataset_to_resume',
                         impact: 'What happened to the appliance',
                         recommended_action: 'What the administrator should do'
                     };
                     var custom_alert_uuid = createalert(actions, createparams);
                     var posted_alert_uuid = postalert(custom_alert_uuid, postparams);
                 }
};

L'exécution d'un workflow qui appelle la fonction postalert crée une entrée dans le journal d'audit avec le récapitulatif suivant :

Custom: name_of_workflow
Exemple 20  Publication d'une alerte personnalisée à l'aide de l'UUID d'une action d'alerte existante

Au lieu de reproduire les copies de la même action d'alerte, vous préférerez peut-être utiliser l'UUID d'une alerte personnalisée existante en tant que premier argument de la fonction postalert.

  1. Pour créer une action d'alerte personnalisée, utilisez la BUI, la CLI, un script, un workflow ou l'API RESTful.

  2. Pour extraire l'UUID de l'action d'alerte personnalisée, utilisez la BUI, la CLI ou le journal d'audit.

  3. Utilisez l'UUID extrait en tant que premier argument de la fonction postalert.

var workflow = {
    name:        'postalert',
    description: 'Post a Custom Alert using existing uuid',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var postparams = {
                         severity: 'Minor',
                         description: 'postalert from within a workflow',
                         response: 'What the system will do',
                         impact: 'What happened to the appliance',
                         recommended_action: 'What the administrator should do'
                     };
                     var posted_alert_uuid = postalert('uuid_of_existing_custom_alert', postparams);
                 }
};