예: 이벤트에 대응하여 인터페이스 구성 변경
특정 이벤트에 대응하여 구성을 수정해야 할 수도 있습니다. Junos OS 릴리스 12.1부터 이벤트 정책을 구성하여 하나 이상의 특정 이벤트에 의해 이벤트 정책이 트리거될 때 구성 변경을 적용하고 커밋할 수 있습니다.
이 예에서는 RPM(Real-Time Performance Monitoring) 프로브를 사용하여 해당 인터페이스에 대한 PING_TEST_FAILED 이벤트를 생성합니다. 구성된 RPM 프로브로부터 60초 내에 3개의 PING_TEST_FAILED 이벤트 인스턴스를 수신하면 이벤트 정책은 구성을 수정하여 지정된 인터페이스를 관리하지 못하도록 수정하는 변경 구성 이벤트 정책 작업을 실행합니다. 네트워크 성능에 지속적으로 영향을 미치는 불안정한 플랩핑 인터페이스가 있는 경우 이러한 유형의 조치가 필요할 수 있습니다.
요구 사항
Junos OS 릴리스 12.1 이상에서 실행되는 라우팅, 스위칭 또는 보안 디바이스
개요
이 예에서는 비활성화 인터페이스-핑-실패라는 이벤트 정책을 만듭니다. 이벤트 정책은 이벤트 프로세스가 특정 RPM 프로브에 의해 생성되고 ge-0/3/1 인터페이스와 연관된 PING_TEST_FAILED 이벤트를 수신 대기하도록 구성됩니다. 60초 간격 내에 주어진 인터페이스에 대해 3개의 PING_TEST_FAILED 이벤트가 발생하는 경우 이벤트 정책은 변경 구성 작업을 실행합니다. 이벤트 정책 구성 명령은 관리적으로 인터페이스를 비활성화합니다.
이벤트 정책을 테스트하기 위해 예제에서는 ge-0/3/1 인터페이스와 관련된 IP 주소를 핑하는 RPM 프로브를 구성합니다. 이 예에서는 ge-0/3/1.0 인터페이스가 IPv4 주소 10.1.4.1/26으로 구성됩니다. 기본적으로 테스트당 하나의 프로브가 전송되며, 예를 들어 테스트 간 5초 간 일시 중지를 사용합니다. 세 번의 연속 프로브 손실 후, RPM 프로브는 PING_TEST_FAILED 이벤트를 생성합니다. 여러 RPM 테스트를 동시에 실행할 수 있기 때문에 이벤트 정책은 수신된 PING_TEST_FAILED 이벤트의 속성과 test-name
RPM 프로브 소유자 이름과 테스트 이름과 일치 owner-name
합니다. RPM 프로브는 60초 간격으로 3개의 PING_TEST_FAILED 이벤트를 생성하면 이벤트 정책을 트리거하여 인터페이스를 비활성화합니다.
또한 이 이벤트 정책은 동일한 이벤트 또는 상관 이벤트의 발생으로 인해 동일한 구성 변경의 실행을 여러 번 제한하는 방법을 보여줍니다. 이 예제에서 명령 within 60 trigger on 3
문은 구성 변경이 60초 간격 내에 PING_TEST_FAILED 이벤트의 세 번째 발생 시에만 트리거되도록 지정합니다. 명령문은 trigger until 4
PING_TEST_FAILED 이벤트의 후속 발생으로 인해 이벤트 정책이 다시 트리거되지 않도록 지정합니다.
조건만 구성 trigger on 3
하면 커밋 작업이 루프로 들어갈 수 있습니다. 이벤트 정책이 반복적으로 동일한 구성 변경을 수행할 수 없 있도록 하는 결합 trigger on 3
및 trigger until 4
방지
구성
RPM 프로브 구성
CLI 빠른 구성
예제의 이 섹션을 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경하고, 명령을 계층 수준에서 CLI [edit]
에 복사하여 붙여넣은 다음 구성 모드에서 입력 commit
합니다.
set services rpm probe icmp-ping-probe test ping-probe-test probe-type icmp-ping set services rpm probe icmp-ping-probe test ping-probe-test target address 10.1.4.1 set services rpm probe icmp-ping-probe test ping-probe-test test-interval 5 set services rpm probe icmp-ping-probe test ping-probe-test thresholds successive-loss 3 set system syslog file syslog-event-daemon-info daemon info
단계별 절차
RPM 프로브를 구성하려면 다음 예제에 PING_TEST_FAILED 이벤트를 만듭니다.
소유자 icmp-ping-프로브와 함께 핑 프로브라는 이름의 RPM 프로브를 만듭니다.
[edit services rpm] bsmith@R1# set probe icmp-ping-probe test ping-probe-test
RPM 프로브를 구성하여 ICMP 에코 요청을 보냅니다.
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set probe-type icmp-ping
RPM 프로브를 구성하여 IP 주소 10.1.4.1에서 ge-0/3/1 인터페이스로 ICMP 에코 요청을 보냅니다.
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set target address 10.1.4.1
테스트 창 간 5초 간 일시 중지를 구성합니다.
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set test-interval 5
3회 연속 프로브 손실 후 PING_TEST_FAILED 이벤트가 트리거되도록 RPM 프로브 임계값을 구성합니다.
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set thresholds successive-loss 3
계층 수준에서 새 로그 파일을
[edit system syslog]
구성하여 시설daemon
및 심각도의 syslog 이벤트를 기록합니다info
.이는 프로브 테스트 중에 전송된 이벤트를 캡처합니다.
[edit system syslog] bsmith@R1# set file syslog-event-daemon-info daemon info
구성을 커밋합니다.
bsmith@R1# commit
결과
구성 모드에서 명령과 show system syslog
명령을 입력하여 구성을 show services
확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.
[edit] services { rpm { probe icmp-ping-probe { test ping-probe-test { probe-type icmp-ping; target address 10.1.4.1; test-interval 5; thresholds { successive-loss 3; } } } } } system { syslog { file syslog-event-daemon-info { daemon info; } } }
이벤트 정책 구성
CLI 빠른 구성
예제의 이 섹션을 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경하고, 명령을 계층 수준에서 CLI [edit]
에 복사하여 붙여넣은 다음 구성 모드에서 입력 commit
합니다.
set event-options policy disable-on-ping-failure events ping_test_failed set event-options policy disable-on-ping-failure within 60 trigger on set event-options policy disable-on-ping-failure within 60 trigger 3 set event-options policy disable-on-ping-failure within 65 trigger until set event-options policy disable-on-ping-failure within 65 trigger 4 set event-options policy disable-on-ping-failure attributes-match ping_test_failed.test-owner matches icmp-ping-probe set event-options policy disable-on-ping-failure attributes-match ping_test_failed.test-name matches ping-probe-test set event-options policy disable-on-ping-failure then change-configuration commands "set interfaces ge-0/3/1 disable" set event-options policy disable-on-ping-failure then change-configuration user-name bsmith set event-options policy disable-on-ping-failure then change-configuration commit-options log "updating configuration from event policy disable-on-ping-failure"
단계별 절차
이벤트 정책을 생성하고 이름을 지정합니다.
[edit] bsmith@R1# edit event-options policy disable-interface-on-ping-failure
PING_TEST_FAILED 이벤트와 일치하도록 이벤트 정책을 구성합니다.
[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set events ping_test_failed
60초 내에 3개의 PING_TEST_FAILED 이벤트가 발생할 때 정책을 구성합니다.
[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set within 60 trigger on 3
within 65 trigger until 4
3개 이상의 PING_TEST_FAILED 이벤트가 발생하는 경우 정책이 다시 트리거되지 않도록 명령문을 구성합니다.[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set within 65 trigger until 4
attributes-match
관련 RPM 프로브가 생성한 PING_TEST_FAILED 이벤트에 의해서만 이벤트 정책이 트리거되도록 명령문을 구성합니다.[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set attributes-match ping_test_failed.test-owner matches icmp-ping-probe bsmith@R1# set attributes-match ping_test_failed.test-name matches ping-probe-test
이벤트 정책이 트리거될 경우 실행되는 구성 모드 명령을 지정합니다.
단일 라인에서 각 명령을 구성하고, 명령 문자열을 따옴표로 동봉하고, 전체 명령문 경로를 지정합니다.
[edit event-options policy disable-interface-on-ping-failure then change-configuration] bsmith@R1# set commands "set interfaces ge-0/3/1 disable"
log
구성 변경 사항을 설명하는 주석으로 옵션을 구성합니다.관련 이벤트 정책을 통해 성공적인 커밋 작업이 수행된 후 주석이 커밋 로그에 추가됩니다.
[edit event-options policy disable-interface-on-ping-failure then change-configuration] bsmith@R1# set commit-options log "updating configuration from event policy disable-interface-on-ping-failure"
(선택사항) 듀얼 라우팅 엔진이 있는 경우, 두 라우팅 엔진 모두에서 구성을 커밋하는 옵션을 구성
synchronize
하십시오.force
경고를 무시하고 다른 라우팅 엔진에 대한 커밋을 강제하는 옵션을 포함합니다. 이 예에서는 해당 옵션과force
옵션을 구성synchronize
하지 않습니다.(선택사항) 구성 변경 및 커밋의 권한에 따라 사용자 이름을 구성합니다.
사용자 이름을 지정하지 않으면 작업이 사용자
root
로 실행됩니다.[edit event-options policy disable-interface-on-ping-failure then change-configuration] bsmith@R1# set user-name bsmith
구성 변경이
show interfaces ge-0/3/1
발생하기 전에 운영 모드 명령의 출력을 검토합니다.참고:인터페이스를 활성화해야 합니다.
bsmith@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Enabled, Physical link is Up Interface index: 142, SNMP ifIndex: 531 ...
구성을 커밋합니다.
bsmith@R1# commit
결과
구성 모드에서 명령을 입력하여 구성을 show event-options
확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.
[edit event-options] policy disable-interface-on-ping-failure { events ping_test_failed; within 60 { trigger on 3; } within 65 { trigger until 4; } attributes-match { ping_test_failed.test-owner matches icmp-ping-probe; ping_test_failed.test-name matches ping-probe-test; } then { change-configuration { commands { "set interfaces ge-0/3/1 disable"; } user-name bsmith; commit-options { log "updating configuration from event policy disable-interface-on-ping-failure"; } } } }
확인
구성이 올바르게 작동하는지 확인합니다.
이벤트 검증
목적
이벤트 정책을 수동으로 테스트하려면 3개의 PING_TEST_FAILED 이벤트가 생성될 때까지 ge-0/3/1 인터페이스를 오프라인으로 전환하십시오.
작업
구성된 syslog 파일을 검토합니다. RPM 프로브가 연속 손실된 프로브 이후 PING_TEST_FAILED 이벤트를 생성하는지 확인합니다.
bsmith@R1> show log syslog-event-daemon-info Oct 7 15:48:54 R1 rmopd[1345]: PING_TEST_COMPLETED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:49:54 R1 rmopd[1345]: PING_TEST_COMPLETED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test ... Oct 7 15:52:54 R1 rmopd[1345]: RMOPD_ICMP_SENDMSG_FAILURE: sendmsg(ICMP): No route to host Oct 7 15:52:54 R1 rmopd[1345]: PING_PROBE_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:52:54 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:52:57 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:53:00 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test
커밋 확인
목적
커밋 로그와 메시지 로그 파일을 검토함으로써 이벤트 정책 커밋 작업이 성공적이었는지 확인합니다.
작업
커밋 로그를 show system commit
보려면 운영 모드 명령을 실행합니다.
bsmith@R1> show system commit 0 2011-10-07 15:53:00 PDT by bsmith via junoscript updating configuration from event policy disable-interface-on-ping-failure 1 2011-09-02 14:16:44 PDT by admin via netconf 2 2011-07-08 14:33:46 PDT by root via other
메시지 로그 파일을 검토합니다.
bsmith@R1> show log messages | last 20 Oct 7 15:52:54 R1 rmopd[1345]: RMOPD_ICMP_SENDMSG_FAILURE: sendmsg(ICMP): No route to host Oct 7 15:53:00 R1 file[9972]: UI_COMMIT: User 'bsmith' requested 'commit' operation (comment: updating configuration from event policy disable-interface-on-ping-failure) Oct 7 15:53:02 R1 eventd: EVENTD_CONFIG_CHANGE_SUCCESS: Configuration change successful: while executing policy disable-interface-on-ping-failure with user bsmith privileges
의미
운영 모드 명령과 메시지 로그 파일의 show system commit
출력은 Junos OS가 구성을 수정하고 커밋하기 위해 구성된 이벤트 정책 작업을 실행했는지 확인합니다. 지정된 날짜와 시간에 사용자 장인의 권한 하에 이벤트 정책을 통해 이루어진 커밋 작업은 성공적이었습니다. 출력 및 메시지 로그 파일은 show system commit
계층 수준의 명령문에 log
지정된 커밋 주석을 [edit event-options policy disable-interface-on-ping-failure then change-configuration commit-options]
참조합니다.
구성 변경 확인
목적
구성의 계층 수준을 검토 [edit interfaces ge-0/3/1]
하여 구성 변경 사항을 확인합니다.
작업
bsmith@R1> show configuration interfaces ge-0/3/1 disable; unit 0 { family inet { address 10.1.4.1/26; } }
의미
ge-0/3/1 구성 계층은 명령문을 추가 disable
하기 위해 이벤트 정책을 통해 수정되었습니다.
인터페이스 상태 검증
목적
구성 변경이 적용된 show interfaces ge-0/3/1
후 운영 모드 명령의 출력을 검토합니다.
작업
show interfaces ge-0/3/1
운영 모드 명령을 실행합니다. 이벤트 정책 구성 변경 작업이 인터페이스를 비활성화하면 상태가 "Enabled"에서 "관리 종료"로 바뀝니다.
bsmith@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Administratively down, Physical link is Down Interface index: 142, SNMP ifIndex: 531