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
 
 

Utilisation des workflows pour les actions d'alerte

Il est possible d'exécuter un workflow en tant qu'action d'alerte. Un workflow exécuté en tant qu'action d'alerte est le workflow sélectionné pour l'action d'alerte du workflow Exécuter (BUI) ou est la valeur de la propriété workflow du gestionnaire execute_workflow (CLI), comme décrit dans la section Ajout d'actions d'alerte.

Pour permettre l'exécution d'un workflow en tant qu'action d'alerte, la variable globale workflow doit spécifier un membre alert: true.

Par défaut, les workflows s'exécutent comme l'utilisateur exécutant le workflow. Toutefois, un workflow exécuté en tant qu'action d'alerte s'exécute par défaut comme l'utilisateur ayant créé le workflow. Pour pouvoir être exécuté en tant qu'action d'alerte, la variable globale workflow du workflow doit spécifier un membre setid: true.

Les actions d'alerte ont un paramètre d'objet unique possédant les membres suivants .

Table 158  Membres obligatoires du contexte d'exécution des alertes
Membre obligatoire
Type
Description
class
String
Classe de l'alerte.
code
String
Code de l'alerte.
items
Objet
Objet décrivant l'alerte.
timestamp
Date
Heure de l'alerte.

Le membre items de l'objet de paramètre possède les membres suivants :

Table 159  Membres obligatoires du membre items
Membre obligatoire
Type
Description
url
String
URL de la page Web décrivant l'alerte
action
String
Action devant être entreprise par l'utilisateur en réponse à l'alerte.
impact
String
Impact de l'événement qui a déclenché l'alerte.
description
String
Chaîne lisible à l'oeil décrivant l'alerte.
severity
String
Gravité de l'événement qui a déclenché l'alerte.
Exemple 17  Audit d'un échec de réinitialisation par un workflow

Les workflows s'exécutant an tant qu'actions d'alerte peuvent utiliser la fonction audit pour générer des entrées de journal. Par exemple, les informations sur le débogage doivent être écrites dans le journal d'audit.

Reportez-vous aux utilisations multiples de la fonction audit dans l'exemple ci-dessous. Ce workflow :

  • Est exécuté en réponse à l'alerte params.uuid qui spécifie ce workflow à exécuter.

  • Redémarre le système uniquement si les deux systèmes sont en état clustérisé.

  • Audite tout échec de réinitialisation.

var workflow = {
       name: 'Failover',
       description: 'Fail the node over to its clustered peer',
       alert: true,
       setid: true,
       execute: function (params) {
               var uuid = params.uuid;
               var clustered = 'AKCS_CLUSTERED';

               audit('attempting failover in response to alert ' + uuid);

               try {
                       run('configuration cluster');
               } catch (err) {
                       audit('could not get clustered state; aborting');
                       return;
               }

               if ((state = get('state')) != clustered) {
                       audit('state is ' + state + '; aborting');
                       return;
               }

               if ((state = get('peer_state')) != clustered) {
                       audit('peer state is ' + state + '; aborting');
                       return;
               }

               run('cd /');
               run('confirm maintenance system reboot');
       }
};