운영 모드 명령을 실행하도록 이벤트 정책 구성
운영 모드 명령은 작업을 수행하거나 Junos OS를 실행하는 디바이스에서 진단 출력을 제공합니다. 디바이스의 현재 운영 상태에 대한 통계와 정보를 볼 수 있습니다. 또한 소프트웨어 프로세스 재시작, PIC(Physical Interface Card) 오프라인 및 온라인 전환, 이중 인터페이스로 스위칭, LSP(Label Switching Protocol) 대역폭 조정 등의 교정 조치를 취할 수 있습니다. 운영 모드 명령에 대한 자세한 내용은 CLI Explorer를 참조하십시오.
운영 모드 명령을 실행하는 이벤트 정책을 구성하고 다음 명령문을 계층 레벨에 포함시켜 분석을 위해 해당 명령어의 출력을 지정된 위치로 업로드할 수 있습니다 [edit event-options]
.
[edit event-options] policy policy-name { events [ events ]; then { execute-commands { commands { "command"; } output-filename filename; output-format (text | xml); destination destination-name; } } }
명령문에서 events
여러 이벤트를 나열할 수 있습니다. 나열된 이벤트 중 하나 이상이 발생하면 이벤트 프로세스는 명령문에 대해 구성된 commands
운영 모드 명령을 실행합니다. 각 명령을 따옴표(" "
)로 동봉합니다. 이벤트 프로세스는 구성에 나타나는 순서대로 명령을 발행합니다. 예를 들어, 다음 구성에서는 명령의 실행을 policy1
show interfaces
먼저 발행하고 다음 명령을 수행합니다 show chassis alarms
.
[edit event-options policy policy1 then execute-commands] user@host# show commands { "show interfaces"; "show chassis alarms"; }
명령어에 변수를 포함시켜 트리거되는 이벤트의 데이터를 명령 구문에 자동으로 포함시킬 수 있습니다. 이벤트 프로세스는 정책을 트리거하는 경우 각 변수를 포함된 값으로 대체합니다. 다음 양식의 명령 변수를 사용할 수 있습니다.
-
{$$.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}
—별표($*
) 표기법이 표시된 달러 기호는 상관관계가 있는 이벤트와 일치하는 가장 최근의 이벤트를 나타냅니다. 이 변수는 정책 구성에 지정된 상관 이벤트와 일치하는 최신 이벤트와 연관된 속성의 값으로 해결됩니다.
지정된 이벤트의 경우, 다음 명령을 발행하여 help syslog event
운영 모드 명령에서 참조할 수 있는 이벤트 속성 목록을 볼 수 있습니다.
user@host> help syslog event
예를 들어, 다음 명령 출력에서 각괄호(< >
)의 cosd_unknown_classifier
텍스트는 해당 이벤트의 속성임을 보여줍니다classifier-type
.
user@host> help syslog cosd_unknown_classifier Name: COSD_UNKNOWN_CLASSIFIER Message: rtsock classifier type <classifier-type> is invalid ...
이벤트 속성 목록을 보는 또 다른 방법은 계층 수준에서 구성 모드 명령을 발행 set attributes-match event?
하는 [edit event-options policy policy-name]
것입니다.
[edit event-options policy policy-name] user@host# set attributes-match event ?
예를 들어, 다음 명령 출력 event.attribute
에서 목록은 이벤트의 classifier-type
속성 cosd_unknown_classifier
임을 보여줍니다.
[edit event-options policy policy-name] user@host# set attributes-match cosd_unknown_classifier? Possible completions: <from-event-attribute> First attribute to compare cosd_unknown_classifier.classifier-type
이 set
명령어에서는 이벤트 이름과 물음표(?
) 사이에 공백이 없습니다.
참조할 수 있는 모든 이벤트 속성 목록을 보려면 계층 수준에서 구성 모드 명령을 [edit event-options policy policy-name]
실행 set attributes-match ?
합니다.
[edit event-options policy policy-name] user@host# set attributes-match ? Possible completions: <from-event-attribute> First attribute to compare acct_accounting_ferror acct_accounting_fopen_error ...
이벤트 프로세스가 명령을 실행하는 경우 명령어 출력이 포함된 파일을 명령문에 destination
지정된 위치로 업로드합니다. 성명서에 destination
계층 수준에서 구성된 [edit event-options destinations]
대상 이름을 포함합니다. 자세한 내용은 예제: 이벤트 정책에 따라 파일 보관용 목적지를 정의합니다.
명령문에서 output-filename
파일 이름에 포함되는 설명 문자열을 정의합니다. 업로드된 각 파일에는 각 파일 이름이 고유하도록 하기 위해 파일 이름에 호스트 이름 및 타임스탬프도 포함되어 있습니다. 1초 동안 정책이 여러 번 트리거되는 경우 파일 이름이 여전히 고유하도록 하기 위해 인덱스 번호가 파일 이름에 추가됩니다. 인덱스 번호 범위는 001에서 999까지입니다.
Junos OS 릴리스 14.1R3부터 이벤트로 생성된 출력 파일에 대한 명명 규칙과 형식이 변경되었습니다. eventd가 계층 수준에서 정의된 명령을 실행하고 명령 출력이 포함된 파일을 생성하면 파일의 이름은 장치에서 [edit event-options policy policy-name then execute-commands commands]
실행되는 Junos OS 버전에 따라 달라집니다. Junos OS 릴리스 14.1R3에 앞서 파일 이름은 다음과 같은 명명 규칙을 가지고 있습니다.
hostname_output-filename_YYYYMMDD_HHMMSS_index-number
Junos OS 릴리스 14.1R3부터 파일 이름은 타임스탬프 이후 문자열을 배치합니다 output-filename .
hostname_YYYYMMDD_HHMMSS_output-filename_index-number
예를 들어, Junos OS Release 14.1R3 이상에서 실행되는 r1이라는 디바이스에서 명령문을 마치l 이벤트처럼 구성 output-filename
하고 이 이벤트 정책이 1초에 세 번 트리거되는 경우 파일의 이름을 지정합니다.
r1_20060623_132333_ifl 이벤트
r1_20060623_132333_ifl-events_001
r1_20060623_132333_ifl-events_002
기본적으로 명령 출력 형식은 Junos XML(Extensible Markup Language)입니다. 명령 출력을 output-format text
ASCII 텍스트로 포맷하도록 명령문을 구성합니다.