

지원 종료 알림: 2026년 5월 31일에에 대한 지원이 AWS 종료됩니다 AWS Panorama. 2026년 5월 31일 이후에는 AWS Panorama 콘솔 또는 AWS Panorama 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 [AWS Panorama 지원 종료를 참조하세요](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Panorama 로그 보기
<a name="monitoring-logging"></a>

AWS Panorama는 Amazon CloudWatch Logs에 애플리케이션 및 시스템 이벤트를 보고합니다. 문제가 발생하면 이벤트 로그를 사용하여 AWS Panorama 애플리케이션을 디버깅하거나 애플리케이션의 구성 문제를 해결할 수 있습니다.

**CloudWatch Logs에서 로그를 보려면**

1. [CloudWatch 로그 콘솔의 로그 그룹 페이지](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups)를 엽니다.

1. 다음 그룹에서 AWS Panorama 애플리케이션 및 어플라이언스 로그를 확인할 수 있습니다.

****
   + **디바이스 로그** – `/aws/panorama/devices/device-id`
   + **애플리케이션 로그** – `/aws/panorama/devices/device-id/applications/instance-id`

시스템 소프트웨어를 업데이트한 후 어플라이언스를 다시 프로비전하면 [프로비저닝 USB 드라이브의 로그도 확인](#monitoring-logging-provisioning)할 수 있습니다.

**Topics**
+ [디바이스 로그 보기](#monitoring-logging-device)
+ [애플리케이션 로그 보기](#monitoring-logging-application)
+ [애플리케이션 로그 구성](#monitoring-logging-configuration)
+ [프로비저닝 로그 보기](#monitoring-logging-provisioning)
+ [디바이스에서 로그 전송](#monitoring-logging-egress)

## 디바이스 로그 보기
<a name="monitoring-logging-device"></a>

AWS Panorama 어플라이언스는 디바이스에 대한 로그 그룹과 배포하는 각 애플리케이션 인스턴스에 대한 그룹을 생성합니다. 디바이스 로그에는 애플리케이션 상태, 소프트웨어 업그레이드 및 시스템 구성에 대한 정보가 포함됩니다.

**디바이스 로그 – `/aws/panorama/devices/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 디바이스 섀도우](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html)의 출력입니다.

## 애플리케이션 로그 보기
<a name="monitoring-logging-application"></a>

애플리케이션 인스턴스의 로그 그룹에는 노드의 이름을 딴 각 노드에 대한 로그 스트림이 포함됩니다.

**애플리케이션 로그 – `/aws/panorama/devices/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) 역할에 대한 권한에 문제가 있을 수 있습니다](permissions-services.md).

## 애플리케이션 로그 구성
<a name="monitoring-logging-configuration"></a>

Python 로거를 구성하여 `/opt/aws/panorama/logs`에 로그 파일을 기록하십시오. 어플라이언스는 이 위치의 로그를 CloudWatch Logs로 스트리밍합니다. 디스크 공간을 너무 많이 사용하지 않으려면 최대 파일 크기 10MB, 백업 개수 1을 사용하십시오. 다음 예에서는 로거를 만드는 메서드를 보여줍니다.

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py#L181) – 로거 구성**  

```
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
```

글로벌 범위에서 로거를 초기화하고 애플리케이션 코드 전체에서 사용하십시오.

**Example [application.py](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/application.py#L205) – 로거 초기화**  

```
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()
```

## 프로비저닝 로그 보기
<a name="monitoring-logging-provisioning"></a>

프로비저닝 중에 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 커널 로그입니다.

## 디바이스에서 로그 전송
<a name="monitoring-logging-egress"></a>

디바이스 및 애플리케이션 로그가 CloudWatch Logs에 표시되지 않는 경우 USB 드라이브를 사용하여 디바이스에서 암호화된 로그 이미지를 가져올 수 있습니다. AWS Panorama 서비스 팀이 사용자를 대신하여 로그를 해독하고 디버깅을 지원할 수 있습니다.

### 사전 조건
<a name="monitoring-logging-egress-prerequisites"></a>

절차를 따르려면 다음 하드웨어가 필요합니다.
+ **USB 드라이브** – 최소 1GB의 저장 공간이 있는 FAT32 형식의 USB 플래시 메모리 드라이브로, AWS Panorama 어플라이언스에서 로그 파일을 전송할 때 사용합니다.

**디바이스에서 로그를 전송하려면**

1. `panorama` 폴더 안에 `managed_logs` 폴더가 있는 USB 드라이브를 준비합니다.

   ```
   /
    └── panorama
        └── managed_logs
   ```

1. USB 드라이브를 디바이스에 연결합니다.

1. AWS Panorama 어플라이언스의 [전원을 끕니다](appliance-buttons.md#appliance-buttons-reset).

1. AWS Panorama 어플라이언스의 전원을 켭니다.

1. 디바이스가 로그를 디바이스에 복사합니다. 진행 중에는 상태 LED가 [파란색으로 깜박입니다](appliance-buttons.md).

1. 그러면 `managed_logs` 디렉토리에서 `panorama_device_log_v1_dd_hh_mm.img` 형식의 로그 파일을 찾을 수 있습니다.

로그 이미지를 직접 해독할 수는 없습니다. 고객 지원팀, AWS Panorama의 기술 계정 관리자 또는 솔루션 아키텍트와 협력하여 서비스 팀과 조율하십시오.