상관 관계가 있는 이벤트를 사용하여 이벤트 정책 트리거
둘 이상의 상관관계 이벤트가 발생할 때 실행할 이벤트 정책을 구성합니다.
이벤트 정책에서 이벤트 트리거 및 상관관계 지정을 나타내는 방법
이벤트 스크립트 인수 및 명령문과 같은 지원되는 이벤트 정책 명령문에서execute-commands, 이벤트 정책 변수를 사용하여 트리거하는 이벤트와 상관 이벤트를 구별할 수 있습니다. 트리거링 및 상관관계 이벤트는 계층 수준에서 다음 문으로 구성됩니다.[edit event-options policy policy-name]
- 이벤트 트리거—문에서
events구성 - 상관관계 이벤트 - 문에서
within seconds events구성됩니다
다음 양식의 이벤트 정책 변수를 사용하여 이벤트 트리거 및 상관 관계를 나타낼 수 있습니다.
-
{$$.attribute-name}- 이중 달러 기호($$) 표기법은 정책을 트리거하는 이벤트를 나타냅니다. 속성 이름과 결합되면 변수는 트리거된 이벤트와 연관된 속성의 값으로 해석됩니다. 예를 들어 은(는){$$.interface-name}트리거 이벤트와 연관된 인터페이스 이름으로 해결됩니다. -
{$event.attribute-name}- 이벤트 이름($event) 표기법이 있는 단일 달러 기호는 와 일치하는event가장 최근 이벤트를 나타냅니다. 속성 이름과 결합되면 변수는 해당 이벤트와 연관된 속성의 값으로 확인됩니다. 예를 들어 정책에서 명령을{$COSD_CHAS_SCHED_MAP_INVALID.interface-name}실행show interfaces {$COSD_CHAS_SCHED_MAP_INVALID.interface-name}하면 변수는 이벤트 프로세스에 의해 캐시된 가장 최근COSD_CHAS_SCHED_MAP_INVALID이벤트와 연관된 인터페이스 이름으로 확인됩니다. -
{$*.attribute-name}- 별표($*) 표기법이 있는 달러 기호는 상관 관계가 있는 이벤트와 일치하는 가장 최근 이벤트를 나타냅니다. 변수는 정책 구성에 지정된 상관 관계가 있는 이벤트와 일치하는 가장 최근 이벤트와 관련된 속성 값으로 확인됩니다.
이벤트 정책에서는 이벤트 정책 변수를 사용하여 특정 이벤트를 참조할 수 있습니다. 다음 이벤트 정책을 고려합니다.
[edit event-options]
policy p1 {
events [ e1 e2 e3 ];
within 60 events [ e4 e5 e6 ];
then {
execute-commands {
commands {
"show interfaces {$$.interface-name}";
"show interfaces {$e4.interface-name}";
"show interfaces {$*.interface-name}";
}
output-filename command-output.txt;
destination some-dest;
}
}
}
show interfaces {$$.interface-name} 명령에서 이벤트e1, e2또는 e3 의 속성 값이 interface-name 변수를 대체합니다{$$.interface-name}.
show interfaces {$e4.interface-name} 명령에서 가장 최근 e4 이벤트의 속성 값이 interface-name 변수를 대체합니다{$e4.interface-name}.
show interfaces {$*.interface-name} 명령에서 가장 최근e4, e5또는 e6 이벤트의 속성 값이 interface-name 변수를 대체합니다{$*.interface-name}. , e2, 또는 e3 중 e1하나가 , 또는 e6이후 60초 e4이내에 발생하는 경우, e5해당 상관 이벤트에 대한 속성 값interface-name(e4, e5, 또는 e6)이 변수를 대체합니다{$*.interface-name}. 상관관계 이벤트에 속성이 없는 interface-name 경우, 소프트웨어는 명령을 실행 show interfaces {$*.interface-name} 하지 않습니다.
와e5(과) 둘 다 e4 의 60초 이내에 발생하는 경우e1, 에 대한 e4 속성의 interface-name 값이 변수를 대체합니다{$*.interface-name}. 이는 이벤트 프로세스(eventd)가 문에 구성된 순서대로 상관 관계를 가진 이벤트를 검색하기 within 때문입니다. 이 경우 순서는 e4 > e5 >e6입니다.
예: 지정된 시간 간격 내의 다른 이벤트 수신을 기반으로 이벤트 상관관계 분석
이 예제의 이벤트 정책은 명령 세트를 실행하고 결과 출력 파일을 아카이브 사이트에 업로드합니다. 이 정책은 트리거 이벤트 event3, , 또는 event5중 하나가 상관관계 이벤트 event1 또는 event2이 발생한 후 60초 event4이내에 발생하면 실행됩니다. 정책에 대한 의사 코드는 다음과 같습니다.
if trigger event is (event3 or event4 or event5)
and
(event1 or event2 has been received within the last 60 seconds)
then {
run a set of commands;
log the output of these commands to a location;
}
이벤트 정책은 구성에서 두 개의 아카이브 사이트를 지정합니다. 장치는 목록의 첫 번째 아카이브 사이트로 전송을 시도하고 전송이 실패한 경우에만 다음 사이트로 이동합니다. 이벤트 정책 구성은 다음과 같습니다.
[edit event-options]
policy 1 {
events [ event3 event4 event5 ];
within 60 events [ event1 event2 ];
then {
execute-commands {
commands {
"command";
}
output-filename my_cmd_out;
destination policy-1-command-dest;
}
}
}
destinations {
policy-1-command-dest {
archive-sites {
scp://robot@my.big.com/a/b;
scp://robot@my.little.com/a/b;
}
}
}
예: 이벤트 속성을 기반으로 이벤트 상관관계 분석
다음 이벤트 정책에서는 해당 이벤트 속성 값이 일치할 경우 두 이벤트의 상관 관계가 있습니다. 두 이벤트의 특성을 일치시키면 두 이벤트가 관련되어 있는지 확인할 수 있습니다. 이 경우 인터페이스 주소와 물리적 인터페이스(ifd) 이름이 일치해야 합니다.
이 오류는 RPD_KRT_IFDCHANGE 라우팅 프로토콜 프로세스(rpd)가 인터페이스 상태를 변경하기 위해 커널에 요청을 전송하고 요청이 실패할 때 발생합니다. 이 오류는 인터페이스가 RPD_RDISC_NOMULTI 라우터 검색을 위해 구성되었지만 인터페이스가 필요에 따라 IP 멀티캐스트 작업을 지원하지 않을 때 발생합니다.
이 예 rpd_rdisc_nomulti.interface-name 에서 는 so-0/0/0.0일 수 있고 rpd_krt_ifdchange.ifd-index so-0/0/0일 수 있습니다.
[edit event-options]
policy 1 {
events rpd_rdisc_nomulti;
within 500 events rpd_krt_ifdchange;
attributes-match {
rpd_rdisc_nomulti.interface-address equals rpd_krt_ifdchange.address;
rpd_rdisc_nomulti.interface-name starts-with rpd_krt_ifdchange.ifd-index;
}
then {
... actions ...
}
}