진화한 Junos OS를 실행하는 디바이스에서 스크립트 처리 추적
대화형 스크립트를 실행하면 스크립트가 CLI 또는 RPC 응답에서 경고 및 오류를 포함한 출력을 생성할 수 있습니다. 시스템이 비대화형 스크립트를 트리거할 때(예: 이벤트 정책이 이벤트 스크립트를 트리거할 때) 스크립트는 터미널로 출력을 지시하지 않습니다. 두 경우 모두 스크립트 실행에 대한 자세한 정보가 필요할 수 있습니다. Junos OS Evolved는 기본적으로 모든 애플리케이션에 대한 추적 데이터를 캡처합니다. 메모리 및 CPU 사용량, 스크립트 인수, 스크립트 실행, 경고 및 오류를 비롯한 추가 스크립트 처리 정보에 대해 수집된 추적을 볼 수 있습니다.
Junos OS Evolved는 라우팅 엔진의 모든 노드에 있는 모든 애플리케이션으로부터 추적 데이터를 수집합니다. Junos OS는 각 스크립트 유형에 대한 추적 데이터를 별도의 로그 파일에 기록하는 반면, Junos OS Evolved는 모든 스크립트에 대한 추적 데이터를 동일한 위치에 저장합니다. 추적 로그에는 커밋, 이벤트, op 및 SNMP 스크립트에 대한 데이터가 포함됩니다. YANG 작업 및 변환 스크립트; 및 주니퍼 Extension Toolkit 스크립트.
스크립트에 대한 추적 데이터를 표시하는 방법
Junos OS Evolved는 기본 라우팅 엔진에서 수집된 모든 노드의 추적 데이터를 /var/log/traces 디렉터리에 저장합니다. 응용 프로그램에서 cscript
스크립트를 처리하고 스크립트에 대한 추적 데이터는 .cscript.sequence-number 하위 디렉터리에 저장됩니다node.
스크립트에 대한 추적 데이터를 보려면 작동 모드 명령을 실행합니다 show trace application cscript
.
user@host> show trace application cscript 2021-05-20 09:11:42.239695672 re0:cscript:4176:TRACE_INFO CSCRIPT_RUSAGE_CSCRIPT_RUSAGE_1 msg = "Process's current softlimit [134217728] hardlimit [-1]" 2021-05-20 09:11:42.239773157 re0:cscript:4176:TRACE_INFO CSCRIPT_RUSAGE_CSCRIPT_RUSAGE_1 msg = "Process's limits are already set by parent process" 2021-05-20 09:11:42.239812430 re0:cscript:4176:TRACE_INFO CSCRIPT_EVENTS_CSCRIPT_EVENTS_1 msg = "op script processing begins" 2021-05-20 09:11:42.239855140 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: /usr/libexec/ui/cscript" 2021-05-20 09:11:42.239865140 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -mop" 2021-05-20 09:11:42.239866196 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -p" 2021-05-20 09:11:42.239867156 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: /" 2021-05-20 09:11:42.239868116 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -Q2" 2021-05-20 09:11:42.239869131 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -f" 2021-05-20 09:11:42.239882048 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: hello.py" 2021-05-20 09:11:42.239883202 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -d134217728" 2021-05-20 09:11:42.239884135 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -E" 2021-05-20 09:11:42.239885131 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: user admin logname admin host host tty /dev/pts/0 agent op-script current-directory /var/home/admin pid 32212 ppid 32206" 2021-05-20 09:11:42.239886175 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -u" 2021-05-20 09:11:42.239887176 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: admin" 2021-05-20 09:11:42.239888251 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -U" 2021-05-20 09:11:42.239889287 re0:cscript:4176:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -i9" 2021-05-20 09:11:42.245988806 re0:cscript:4176:TRACE_INFO CSCRIPT_EVENTS_CSCRIPT_EVENTS_1 msg = "running op script 'hello.py'" 2021-05-20 09:11:42.246006519 re0:cscript:4176:TRACE_INFO CSCRIPT_EVENTS_CSCRIPT_EVENTS_1 msg = "opening op script '/var/db/scripts/op/hello.py'" ...
타임스탬프와 terse
메시지만 표시하는 옵션을 포함할 수 있습니다.
user@host> show trace application cscript terse 2021-05-20 09:11:42.239695672 msg = "Process's current softlimit [134217728] hardlimit [-1]" 2021-05-20 09:11:42.239773157 msg = "Process's limits are already set by parent process" 2021-05-20 09:11:42.239812430 msg = "op script processing begins" ...
또한 경과된 추적 시간, 프로세스 ID 및 노드를 지정하여 표시할 추적을 구체화할 수 있습니다. 예를 들어 다음 명령은 특정 프로세스 ID에 대한 추적 데이터를 보여 줍니다.
user@host> show trace application cscript pid 10683 2021-05-24 09:42:09.552687492 re0:cscript:10683:TRACE_INFO CSCRIPT_RUSAGE_CSCRIPT_RUSAGE_1 msg = "Process's current softlimit [134217728] hardlimit [-1]" 2021-05-24 09:42:09.552819712 re0:cscript:10683:TRACE_INFO CSCRIPT_RUSAGE_CSCRIPT_RUSAGE_1 msg = "Process's limits are already set by parent process" 2021-05-24 09:42:09.552897412 re0:cscript:10683:TRACE_INFO CSCRIPT_EVENTS_CSCRIPT_EVENTS_1 msg = "action script processing begins" 2021-05-24 09:42:09.553025992 re0:cscript:10683:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: /usr/libexec/ui/cscript" 2021-05-24 09:42:09.553095062 re0:cscript:10683:TRACE_INFO CSCRIPT_ARGUMENTS_CSCRIPT_ARGUMENTS_1 msg = "arg: -maction" ...
스크립트에 대한 추적 설정을 수정하는 방법
Junos OS Evolved는 기본적으로 스크립트 처리를 추적하고 정보 메시지를 위해 정보 수준에서 모든 애플리케이션을 추적합니다. 계층 수준에서 특정 응용 프로그램에 [edit system application]
대한 추적 설정을 구성할 수 있습니다. 예를 들어, 지정된 노드에서 응용 프로그램의 추적 수준을 지정할 수 있습니다.
스크립트 추적 작업을 수정하려면 계층 수준에서 설정을 [edit system trace application cscript]
구성합니다. 다음 예제에서는 디버그 수준에서 re0 노드에 대한 스크립트 처리를 추적하도록 응용 프로그램을 구성합니다 cscript
.
[edit] user@host# set system trace application cscript node re0 level debug user@host# commit
추적 설정 구성에 대한 자세한 내용은 trace를 참조하십시오.