例:特定のイベント・タイプに基づいてイベント・スクリプトの出力を制限する
複数のイベント タイプによってイベント ポリシーがトリガーされる状況では、イベント スクリプトをトリガーするイベントの数を制限できます。たとえば、以下のイベント ポリシーは、イベントui_logout_event
の有無が発生するたびに event-details.slax イベント スクリプトをui_login_event
トリガーします。
event-options { policy event-detail { events [ ui_login_event ui_logout_event ]; then { event-script event-details.slax { output-filename systemlog; destination /tmp; } } } }
event-details.slax イベント スクリプトは、イベントが発生した場合にのみログ ファイルをui_login_event
書き込みます。
version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; ns ext = "http://xmlsoft.org/XSLT/namespace"; var $event-definition = { <event-options> { <policy> { <namex> "event-detail"; <eventsx> "ui_login_event"; <thenx> { <event-scriptx> { <namex> "event_detail.slax"; <output-filenamex> "foo"; <destinationx> { <namex> "foo"; } } } } } } match / { <event-script-resultsx> { <event-triggered-this-policyx> { expr event-script-input/trigger-event/id; } <type-of-eventx> { expr event-script-input/trigger-event/type; } <process-namex> { expr event-script-input/trigger-event/attribute-list/attribute/name; } } }