ワークフローを警告アクションとして実行できます。警告アクションとして実行されるワークフローは、アラートアクションの追加に説明されているように、「ワークフローの実行」警告アクションに対して選択したワークフローであるか (BUI)、execute_workflow ハンドラの workflow プロパティーの値です (CLI)。
ワークフローを警告アクションとして実行できるようにするには、workflow グローバル変数で alert: true メンバーを指定する必要があります。
デフォルトでは、ワークフローは、そのワークフローを実行しているユーザーとして実行されます。ただし、警告アクションとして実行されるワークフローは、デフォルトでそのワークフローを作成したユーザーとして実行されます。警告アクションとして実行できるようにするには、ワークフローの workflow グローバル変数で setid: true メンバーを指定する必要があります。
警告アクションには、次のメンバーを持つ 1 つのオブジェクトパラメータがあります。
|
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'); } };