기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Panorama 로그 보기
AWS Panorama는 Amazon CloudWatch Logs에 애플리케이션 및 시스템 이벤트를 보고합니다. 문제가 발생하면 이벤트 로그를 사용하여 AWS Panorama 애플리케이션을 디버깅하거나 애플리케이션의 구성 문제를 해결할 수 있습니다.
CloudWatch Logs에서 로그를 보려면
-
다음 그룹에서 AWS Panorama 애플리케이션 및 어플라이언스 로그를 확인할 수 있습니다.
-
디바이스 로그 –
/aws/panorama/devices/
device-id
-
애플리케이션 로그 –
/aws/panorama/devices/
device-id
/applications/instance-id
-
시스템 소프트웨어를 업데이트한 후 어플라이언스를 다시 프로비전하면 프로비저닝 USB 드라이브의 로그도 확인할 수 있습니다.
디바이스 로그 보기
AWS Panorama 어플라이언스는 디바이스에 대한 로그 그룹과 배포하는 각 애플리케이션 인스턴스에 대한 그룹을 생성합니다. 디바이스 로그에는 애플리케이션 상태, 소프트웨어 업그레이드 및 시스템 구성에 대한 정보가 포함됩니다.
디바이스 로그 – /aws/panorama/devices/device-id
device-id
-
occ_log
– 컨트롤러 프로세스의 출력입니다. 이 프로세스는 애플리케이션 배포를 조정하고 각 애플리케이션 인스턴스의 노드 상태를 보고합니다. -
ota_log
– 무선 업데이트(OTA) 소프트웨어 업그레이드를 조정하는 프로세스의 결과입니다. -
syslog
– 프로세스 간에 전송되는 메시지를 캡처하는 디바이스의 syslog 프로세스의 출력입니다. -
kern_log
– 디바이스의 Linux 커널에서 발생한 이벤트입니다. -
logging_setup_logs
– CloudWatch Logs 에이전트를 구성하는 프로세스의 출력입니다. -
cloudwatch_agent_logs
– CloudWatch Logs 에이전트의 출력입니다. -
shadow_log
– AWS IoT 디바이스 섀도우의 출력입니다.
애플리케이션 로그 보기
애플리케이션 인스턴스의 로그 그룹에는 노드의 이름을 딴 각 노드에 대한 로그 스트림이 포함됩니다.
애플리케이션 로그 – /aws/panorama/devices/device-id
/applications/instance-id
device-id
/applications/instance-id
-
코드 – 애플리케이션 코드와 AWS Panorama Application SDK의 출력입니다.
/opt/aws/panorama/logs
에서 애플리케이션 로그를 집계합니다. -
모델 - 모델에 따라 추론 요청을 조정하는 프로세스의 출력입니다.
-
스트림 - 카메라 스트림의 비디오를 디코딩하는 프로세스의 출력입니다.
-
디스플레이 - HDMI 포트의 비디오 출력을 렌더링하는 프로세스의 출력입니다.
-
mds
– 어플라이언스 메타데이터 서버의 로그입니다. -
console_output
– 코드 컨테이너에서 표준 출력 및 오류 스트림을 캡처합니다.
CloudWatch Logs에 로그가 표시되지 않는 경우 올바른 AWS 리전에 있는지 확인하십시오. 그렇다면 어플라이언스와 AWS의 연결 또는 어플라이언스 AWS Identity and Access Management(IAM) 역할에 대한 권한에 문제가 있을 수 있습니다.
애플리케이션 로그 구성
Python 로거를 구성하여 /opt/aws/panorama/logs
에 로그 파일을 기록하십시오. 어플라이언스는 이 위치의 로그를 CloudWatch Logs로 스트리밍합니다. 디스크 공간을 너무 많이 사용하지 않으려면 최대 파일 크기 10MB, 백업 개수 1을 사용하십시오. 다음 예에서는 로거를 만드는 메서드를 보여줍니다.
예 application.py – 로거 구성
def get_logger(name=__name__,level=logging.INFO): logger = logging.getLogger(name) logger.setLevel(level)
LOG_PATH = '/opt/aws/panorama/logs'
handler = RotatingFileHandler("{}/app.log".format(LOG_PATH), maxBytes=10000000, backupCount=1)
formatter = logging.Formatter(fmt='%(asctime)s %(levelname)-8s %(message)s', datefmt='%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) logger.addHandler(handler) return logger
글로벌 범위에서 로거를 초기화하고 애플리케이션 코드 전체에서 사용하십시오.
예 application.py – 로거 초기화
def main(): try: logger.info("INITIALIZING APPLICATION") app = Application() logger.info("PROCESSING STREAMS") while True: app.process_streams() # turn off debug logging after 150 loops if logger.getEffectiveLevel() == logging.DEBUG and app.frame_num == 150: logger.setLevel(logging.INFO) except: logger.exception('Exception during processing loop.')
logger = get_logger(level=logging.INFO)
main()
프로비저닝 로그 보기
프로비저닝 중에 AWS Panorama 어플라이언스는 구성 아카이브를 어플라이언스로 전송하는 데 사용하는 USB 드라이브에 로그를 복사합니다. 이러한 로그를 사용하여 최신 소프트웨어 버전을 사용하는 어플라이언스의 프로비저닝 문제를 해결할 수 있습니다.
중요
프로비저닝 로그는 소프트웨어 버전 4.3.23 이상으로 업데이트된 어플라이언스에 사용할 수 있습니다.
애플리케이션 로그
-
/panorama/occ.log
– AWS Panorama 컨트롤러 소프트웨어 로그입니다. -
/panorama/ota_agent.log
– AWS Panorama 무선 업데이트 에이전트 로그입니다. -
/panorama/syslog.log
– Linux 시스템 로그입니다. -
/panorama/kern.log
– Linux 커널 로그입니다.
디바이스에서 로그 전송
디바이스 및 애플리케이션 로그가 CloudWatch Logs에 표시되지 않는 경우 USB 드라이브를 사용하여 디바이스에서 암호화된 로그 이미지를 가져올 수 있습니다. AWS Panorama 서비스 팀이 사용자를 대신하여 로그를 해독하고 디버깅을 지원할 수 있습니다.
필수 조건
절차를 따르려면 다음 하드웨어가 필요합니다.
-
USB 드라이브 – 최소 1GB의 저장 공간이 있는 FAT32 형식의 USB 플래시 메모리 드라이브로, AWS Panorama 어플라이언스에서 로그 파일을 전송할 때 사용합니다.
디바이스에서 로그를 전송하려면
-
panorama
폴더 안에managed_logs
폴더가 있는 USB 드라이브를 준비합니다./ └── panorama └── managed_logs
-
USB 드라이브를 디바이스에 연결합니다.
-
AWS Panorama 어플라이언스의 전원을 끕니다.
-
AWS Panorama 어플라이언스의 전원을 켭니다.
-
디바이스가 로그를 디바이스에 복사합니다. 진행 중에는 상태 LED가 파란색으로 깜박입니다.
-
그러면
managed_logs
디렉토리에서panorama_device_log_
형식의 로그 파일을 찾을 수 있습니다.v1
_dd_hh_mm
.img
로그 이미지를 직접 해독할 수는 없습니다. 고객 지원팀, AWS Panorama의 기술 계정 관리자 또는 솔루션 아키텍트와 협력하여 서비스 팀과 조율하십시오.