示例:根据特定事件类型限制事件脚本输出
如果事件策略由多种事件类型触发,则可以限制触发事件脚本的事件数量。例如,以下事件策略会在发生或ui_logout_event发生时ui_login_event触发事件详细信息.slax 事件脚本。
event-options {
policy event-detail {
events [ ui_login_event ui_logout_event ];
then {
event-script event-details.slax {
output-filename systemlog;
destination /tmp;
}
}
}
}
事件详细信息.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;
}
}
}