진화한 Junos OS 실행 디바이스에서의 추적 스크립트 처리
대화형 스크립트를 실행할 때 스크립트는 CLI 또는 RPC 응답에서 경고 및 오류를 포함한 출력을 생성할 수 있습니다. 시스템이 비대화형 스크립트를 트리거할 때, 예를 들어 이벤트 정책이 이벤트 스크립트를 트리거할 때, 스크립트는 터미널로 출력을 지시하지 않습니다. 두 경우 모두 스크립트 실행에 대한 자세한 정보가 필요할 수 있습니다. Junos OS Evolved는 기본적으로 모든 애플리케이션에 대한 추적 데이터를 캡처합니다. 수집된 추적에서 메모리 및 CPU 사용량, 스크립트 인수, 스크립트 실행, 경고 및 오류를 비롯한 추가 스크립트 처리 정보를 볼 수 있습니다.
진화한 Junos OS는 모든 노드의 모든 애플리케이션으로부터 추적 데이터를 수집하여 라우팅 엔진에 저장합니다. Junos OS Evolved는 애플리케이션에 해당하는 추적 파일에서 서로 다른 모든 유형의 스크립트에 대한 추적 데이터를 수집합니다 cscript
. 추적 로그에는 커밋, 이벤트, 운영 및 SNMP 스크립트에 대한 데이터가 포함됩니다. YANG 작업 및 번역 스크립트; 및 Juniper Extension Toolkit 스크립트. 이는 각 스크립트 유형에 대해 traceoption을 구성하고 시스템이 각 스크립트 유형에 대해 별도의 로그 파일을 사용하는 Junos OS와 다릅니다.
스크립트에 대한 추적 데이터를 표시하는 방법
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를 참조하십시오.