네트워크/Cisco

Cisco Catalyst 9200 (OS 17.6.x) EEM(Embedded Event Manager) 설정

다시 보는 2023. 12. 15. 18:34
728x90

EEM은 리눅스의 스크립트, 매크로 등과 같은 개념입니다.

 

예를 들면 매일 반복되는 작업이 있을 때 커맨드 하나로 해당 작업을 자동화 시킬 수 있습니다.

 

아무리 복잡한 작업이라도 매번 입력해야 하는 명령어가 동일하다면 굉장히 유용한 기능입니다.

 

 

아래 예시는 Vlan에 설정된 VRRP의 Priority를 자동으로 105로 조정하는 기능을 갖습니다.

 

en
conf t
event manager applet E1
event cli pattern "vlan101_master" sync yes
action 1.0 cli command "en"
action 1.1 cli command "conf t"
action 1.2 cli command "interface vlan 101"
action 1.3 cli command "vrrp 101 address-family ipv4"
action 1.4 cli command "priority 105"
action 1.5 cli command "exit"
action 1.6 cli command "end"
action 1.7 syslog msg "priority is 105 now"
action 1.8 wait 1
exit
exit

 

 

event manager applet E1는 'E1'이라는 이벤트 매니저 객체를 생성하는 명령어입니다.

 

event cli pattern "vlan101_master" sync yes 는 매크로 발동 커맨드를 설정하는 명령어입니다.

만약 vlan101_master 라고 enable 모드에서 입력한다면 아래 설정해둔 이벤트가 실행됩니다.

"sync yes" 는 CLI 커맨드와 동기적으로 실행된다는 옵션입니다.

 

이하 action 라인은 순서대로 입력할 명령어를 기입합니다.

1.1, 1.2 이렇게 소수점으로 순서를 설정한 이유는 EEM이 숫자를 숫자로 받아들이지 않기 때문입니다.

 

만약 action 순서를 1, 2, --- ,10,11  이렇게 정수로 설정하면

1번, 10번, 11번, 2번 순서로 실행합니다.

 

action 1.7 syslog msg 를 통해 이벤트 매니저가 실행 중에 CLI에 로그메시지를 띄울 수 있습니다.

현재 어디까지 진행됐는지 커맨드 입력부분은 보이지 않기 때문에

syslog msg를 플래그처럼 유용하게 사용할 수 있습니다.

 

action 1.8 wait 1 와 같이 wait 명령어를 통해 매크로의 실행 도중에 대기시간을 설정할 수 있습니다.

wait 뒤에 오는 숫자는 초 단위 입니다. 

 

단, 기본적으로 이벤트 매니저의 최대 실행 시간은 20초입니다.

20초를 초과한다면 진행 상태 그대로 강제 종료됩니다.

 

이 최대 시간은 설정이 가능하다고 공식문서에 나와있는데 저는 따라해도 실패했습니다.

참고하시면 좋겠네요.

 

728x90