可执行工作流作为警报操作。作为警报操作执行的工作流是执行工作流警报操作 (BUI) 的选定工作流,或者是 execute_workflow 处理程序 (CLI) 的 workflow 属性的值,如添加警报操作中所述。
要允许工作流作为警报操作来执行,workflow 全局变量必须指定 alert: true 成员。
默认情况下,工作流以正在执行工作流的用户身份执行。但是,默认情况下,作为警报操作执行的工作流将以创建该工作流的用户身份执行。为了能够作为警报操作执行,工作流的 workflow 全局变量必须指定 setid: true 成员。
警报操作具有一个对象参数,该参数具有以下成员。
|
parameters 对象的 items 成员具有以下成员:
|
作为警报操作执行的工作流可以使用 audit 函数生成审计日志条目。例如,调试信息应写入审计日志。
请参见以下示例中 audit 函数的多种用法。此工作流:
将执行,以响应指定此工作流将执行的警报 params.uuid。
仅当两个系统都处于群集状态时才重新引导系统。
审计任何重新引导故障。
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'); } };