アラートは、ワークフローで定義されたイベントに対応してワークフロー内から送信できます。アラートアクションは、ワークフローで作成するか、BUI または CLI を使用して作成できます。アラートは、ワークフロー内から送信する必要があります。
カスタムアラートは、管理ポリシーまたはコンプライアンスを強制するために使用できます。カスタムアラートは、ワークフローの問題を診断する場合にも役立ちます。
次の表では、カスタムアラートアクションを作成してカスタムアラートを送信するためにユーザーが持っている必要のある承認について説明します。
|
ユーザーに承認を付与する手順については、ユーザーの構成を参照してください。
カスタムアラートを作成するには、次のいずれかの方法を使用します。
次のドキュメントの説明に従って、アラートアクションの作成時に「カスタム」または custom イベントカテゴリを指定します。
スクリプトまたはワークフローで createalert 関数を使用します。スクリプトで createalert を使用するには、カスタムアラート関数の使用を参照してください。このセクションの残り部分では、ワークフローで createalert を使用する方法について説明します。
createalert 関数は、次のパラメータを取得して、作成されたカスタムアラートアクションの UUID を返します。
|
この例は、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); } };
ワークフローを使用してカスタムアラートを作成すると、BUI および CLI のアラートアクションリストにアラートが表示されます。
ワークフローを使用してカスタムアラートを作成すると、次のサマリーとともに監査ログエントリが作成されます。
Workflow name_of_workflow: created custom alert value_of_custom_alert_uuid
カスタムアラートを BUI または CLI を使用して作成するか、script コマンドでスクリプトを実行して作成すると、次のサマリーとともに監査ログエントリが作成されます。
Created custom alert value_of_custom_alert_uuid
postalert 関数を使用して、ワークフローで発生したイベントに対応して、そのワークフロー内からカスタムアラートを送信します。
createalert 関数は script コマンドを使用してスクリプト内から呼び出すことができますが、postalert 関数はワークフロー定義内からのみ呼び出すことができます。
postalert 関数は、第 1 パラメータ以外は createalert 関数が取得するものと同じパラメータを取得します。createalert はハンドラまたはアラートアクションのリストを取得し、postalert は送信されるアラートの UUID を取得します。ほかのパラメータの説明については、表 161, createalert 関数のパラメータを参照してください。
createalert でオプションのパラメータの値 (severity、response、impact、および action) は、postalert でオプションではありません。postalert 呼び出しでは、これらの値は次の規則に従って決定されます。
オプションパラメータの値が createalert に指定されているが、その UUID の postalert 呼び出しには指定されていない場合、postalert 呼び出しは、対応する createalert 呼び出しからそれらのパラメータ値を継承します。
オプションパラメータの値が createalert に指定されていないが、その UUID の postalert 呼び出しには指定されている場合、postalert 呼び出しは、postalert 呼び出しに指定された値を使用します。
オプションパラメータの値が createalert と対応する postalert の両方に指定されている場合、各呼び出しはその呼び出しに指定されたパラメータ値を使用します。
オプションパラメータの値が createalert にも対応する postalert にも指定されていない場合、エラーメッセージによって postalert 呼び出しに値を指定するよう指示されます。
postalert 関数は、送信されるカスタムアラートの UUID を返します。
使用例 19 ワークフロー内からのカスタムアラートの作成および送信この例では、使用例 18, ワークフロー内からのカスタムアラートの作成で作成したアラートを送信します。postalert 呼び出しは、ワークフローで発生したイベントに対応します。この例では、postalert 呼び出しの前に発生したイベントを定義するコードは省略されています。
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); } };
postalert 関数を呼び出すワークフローを実行すると、次のサマリーとともにアラートログエントリが作成されます。
Custom: name_of_workflow使用例 20 既存のアラートアクション UUID を使用したカスタムアラートの送信
同じアラートアクションのコピーを増やすより、postalert 関数の第 1 引数として既存のカスタムアラートの UUID を使用することをお勧めします。
BUI、CLI、スクリプト、ワークフロー、または RESTful API を使用して、カスタムアラートアクションを作成します。
BUI、CLI、または監査ログを使用して、カスタムアラートアクションの UUID を取得します。
取得した UUID を postalert 関数の第 1 引数として使用します。
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); } };