상관 관계가 있는 이벤트를 사용하여 이벤트 정책 트리거
요약 두 개 이상의 상관된 이벤트가 발생할 때 실행되도록 이벤트 정책을 구성합니다.
이벤트 정책에서 이벤트 트리거 및 상관 관계를 나타내는 방법
이벤트 스크립트 인수 및 지원되는 이벤트 정책 문( 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}
. , , 또는 중 하나가 e1
, e5
, 또는 e6
이후 e4
60초 이내에 발생하는 경우, 해당 상관 관련 이벤트(e4
, e5
, 또는 e6
)에 대한 속성 값이 interface-name
변수로 대체됩니다{$*.interface-name}
.e3
e2
상관 관계 이벤트에 속성이 없는 interface-name
경우, 소프트웨어는 명령을 실행 show interfaces {$*.interface-name}
하지 않습니다.
및 가 모두 60초 이내에 발생하는 경우e1
, 변수에 대한 e4
속성 값이 interface-name
대체됩니다{$*.interface-name}
.e4
e5
이는 이벤트 프로세스(eventd)가 문에 within
구성된 대로 상관관계가 있는 이벤트를 순차적으로 검색하기 때문입니다. 이 경우 순서는 e4
> e5
> e6
입니다.
예: 지정된 시간 간격 내의 다른 이벤트 수신을 기반으로 이벤트 상관 관계 분석
이 예제의 이벤트 정책은 일련의 명령을 실행하고 결과 출력 파일을 보관 사이트에 업로드합니다. 관련 이벤트 event1
또는 , 중 하나가 발생한 후 60초 이내에 트리거 이벤트 event3
, event4
event2
, 또는 event5
중 하나가 발생하면 정책이 실행됩니다. 정책의 의사 코드는 다음과 같습니다.
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 ... } }